JavaScript: the journey from an apprentice to master [part 1]

I wrote this answer on Quora for the question: which JavaScript frameworks should I learn and why.
Just copy it here so that I can add more to the answer later


It varies vastly depending on your level of familiarity with JavaScript and Computer Science, your purpose (for learning? for building web-based games? app?)

Here are the 3 resources that I started with when I started learning JavaScript:

  • JavaScript on Mozilla Developer Network : great references, search friendly, good tutorials and explanations.
  • JavaScript : The Definitive Guide by David Flanagan: considered the Bible for JavaScript developer since 1996. Latest version also covers HTML5, ES5.
  • JavaScript : The Good Parts by Douglas Crockford: you’ll be amaze by the insights and depth of this short book. Don’t believe me? Try this infamous example by open Chrome Developer Console and type:
    0.1 + 0.2 == 0.3 . Now come back and read this book.

If you are new to JavaScript, I would totally recommend visit the first 3 resources and ensure you are aware of these concepts:

If you are familiar with JavaScript, here are some general purpose frameworks that I recommend:

  • NodeJS: enough said about NodeJS: it’s suitable for full-stack development, wildly popular, well-supported, lots of resources and countless of available packages & development tools.
  • AngularJS: MVC framework from Google to let you build SPA (Single Page Applicable) in no time. Good support from Google & the community, fast to learn, easy to test.

And then there are some libraries (not technically frameworks), but would be fun to play around with them:

  • KnockoutJS: lightweight library, model-oriented, sort of MVVM to me, observables & computed properties are really nice though it lacks a strong middle-tier.
  • ReactJS: good separation of concern, easy to build modular, reusable components for front-end (like window-based programming on steroids), mobile-friendly, fast (built by and used at Facebook).
  • jQuery: mature, lightweight, fast for basic DOM modifications with very simple syntax and not too steep learning curve.

I would be able to recommend better if you can share what you want to achieve after learning these frameworks

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.