In this blog post I would like to talk about yet another divisive
topic among web developers. Recently,
web programming has been flooded with a number of JavaScript libraries that all
aim to solve a specific problem. As we know, jQuery is nothing but a JavaScript
library, but it is certainly not the only one worth mentioning. Recently, as I
have been looking at job posting for software developers, specifically web
developers, I have found that most of they ask for at least one of these
relatively new libraries specifically.
Some of the most common ones I see are Backbone.js,
Ember.js, and Angular.js. While these libraries seek to solve
different issues ranging from the making web apps more structured to changing
the way a web app communicates with a server. The question I would like to discuss today is:
Is it necessary / helpful to know the underlying JavaScript in order to effectively
use these libraries?
My own experience certainly colors the way I look at this
question. As it just so happened I learned JavaScript first at Company A and
then learned jQuery after at Company B (technically the summer before for a
personal project). When I started at Company A then sat me down and gave me a
stack of books to help me learn JavaScript and I feel that in doing so this
helped me to better understand and use jQuery to its fullest potential.
Whenever I see companies asking for specific library
knowledge I wonder if it would be better for them to look for people with a
strong JavaScript backgrounds rather than experience in a specific library. If
a candidate can prove that they have mastered JavaScript then that shows they
will most likely be successful in using many of the libraries built on JS.
Furthermore, I think that since the landscape of web programming changes so
quickly, one simply cannot learn all of these libraries. Rather, if a
programmer knows JavaScript inside and out they will have the ability to adapt
and learn new frameworks / libraries as they need them.
While I love jQuery I think it is only my experience with JS
that allows me to appreciate the power of jQuery. One of the strongest reasons
that lead me to believe a firm foundation in JavaScript is extremely beneficial
is that all of the libraries that I have mentioned are open source and have
public repositories on Github. See Ember.js
Github, Angular.js Github,
and Backbone.js Github. If
you limit your knowledge to one specific framework then it is hard to dive into
the code behind the framework and better learn how it works. Speaking off code behind, have you taken a look at jQuery Code?
Let me know what you think - is it worth it to learn JS before jQuery and other libraries / frameworks?



No comments:
Post a Comment