The title of this post is not to suggest that Javascript in itself (Vanilla JS) is not cool. In fact, Vanilla JS can do some cool things, in fact, the same exact things that its libraries can do.
The point of this post is to examine why JS libraries have become so popular in modern development, to the point where knowing the libraries themselves are becoming a more popular job requirement than knowing the vanilla =/ plain version. (Although it is very important for you to know at least the basics of JS before diving into the libraries, so please, do NOT skip that! 😀 )
Some of the more popular libraries I want to dive into are:
- JQuery (come on)
- Node.js
- React.js
- Angular.js
- Let’s start with JQuery:
Developed in 2006 in New York City, JQuery is a library of the scripting language, Javascript. Its main goals are to simplify the manner of code-written Javascript, and manipulate the DOM (Document Object Model).
JQuery can do everything that Javascript can in regards to UI and manipulation. Being one of the most, if not the most popular JS libraries out there gives it the benefit of having a heavy web and offline support system, plug ins and tutorials for the novice and developed alike. It is open source, and developers are encouraged to contribute as they see fit.
Although I am currently a novice with JQuery, I have developed a static page (which you can see on my github profile), that uses several JQuery manipulation, including an accordion menu, and a slideToggle effect. (Hint: use display:none in CSS).
2. Node.js
I admit, that I know next to nothing about Node. What I DO know, is that it is a sever side library. After this, my knowledge stops.
But what kind of developer would I be, be novice, if I didn’t do a little research? Here’s what Wikipedia has to say about Node (because I trust them more than my old uni):
Node.js is an open-source, cross-platformJavaScriptruntime environment for developing a diverse variety of server tools and applications. Although Node.js is not a JavaScript framework,[4] many of its basic modules are written in JavaScript, and developers can write new modules in JavaScript. The runtime environment interprets JavaScript using Google‘s V8 JavaScript engine.
Node.js was originally written in 2009 by Ryan Dahl.[22] The initial release supported only Linux. Its development and maintenance was led by Dahl and later sponsored by Joyent.[23]
Node.js brings event-driven programming to web servers, enabling development of fast web servers in JavaScript.[29] Developers can create highly scalable servers without using threading, by using a simplified model of event-driven programming that uses callbacks to signal the completion of a task.[29] Node.js was created because concurrency is difficult in many server-side programming languages, and often leads to poor performance.[26] Node.js connects the ease of a scripting language (JavaScript) with the power of Unix network programming.[29]
Thanks, Ryan Dahl!
So, what I get from this, is that Node allows us Javascripters to get a little familiar with using the JS interactions on the server side? Am I getting this right? Check back in a few months, because I’m sure by then I’ll be creating nodes this, and nodes that!
3. React.js
I feel as though React and I are going to be good friends. It’s kind of like, that one person you haven’t met yet, but before you meet them you feel that there’s something missing. Then, once you guys are friends, calling each other and going to Starbucks every weekend, it all makes sense as to why you guys are friends.
I think React and I will be there.
React is an open source JS library. Its main purpose is to aid in the creation of user interfaces. React was created by a cool guy named Jordan Walke, a Facebook Engineer at the time. For me, someone who truly values front end web dev, I understand the importance of an accessible and approachable UI.
For example, I spent about ten minutes playing this which was created with React.
4. Angular.js
What is Angular?
No, that was a rhetorical question.
Really, what is Angular? Because I have no idea. Something with…math or…
According to Wiki (feeling like college again), Angular, like React, also aids in building UI, but also manipulates the DOM whilst allowing both the client side and server side to do their jobs respectively. It’s associated with Bootstrap, and I like that word, so let’s see how this goes.
_________________________________________________________________
If there is one thing that we can take away from this post, it’s that it is completely necessary to understand how JS libraries work and when to use them. Also, that like me, if you know absolutely, positively nothing about something, that’s okay, so long as you are honest with yourself, and others, and dedicate time to actually learning the skill!
Good luck, don’t give up.
Keep coding with me,
Emmy J