Hey, I am currently learning Javascript as I cannot seem to escape it with the direction in which web dev is going. :)
Please suggest simple Javascript libraries one can read to improve their knowledge of JS and see it in action. The ideal libraries would have a small well commented(optional) codebase(around 1000 LOC or less) which preferably requires little domain knowledge. It need not even be a library, any JS code which covers a good deal of the language would be ideal. It would be great if it covered things like OOPS, callbacks, promises, prototypal inheritance and also some simpler stuff such as passing functions around as arguments, etc.
I was also looking for the same thing few months back and I found validate.js is perfect for this requirement
I use this. It is very small and easy to understand also very useful for all type of form validation. You can learn this whole library in just one day.
Kikit
Learner
Nicolas Bevacqua is an Argentinian developer, he writes a blog and is the author of some pretty popular open source javascript libraries (Horsey, Dragula, Rome, Insignia). You should read his Javascript quality guide and then read the source code of his different libraries. This article: Designing front end components is also of interest.
codewars.com its a great site that uses the classic coding kata approach to learning J.S it gives you the opportunity to think for yourself and problem solve, then when your finished you can compare you code with other users on the site.
dailyjs.com/framework-index this tutorial series teaches the fundamentals of how to build a js library/framework.
Finally I would look on github, npm and bower and look for small packages that you can digest quickly and move up from there, this guy has a ton of smaller J.S repos github.com/bendrucker
Not a library, but very useful learning javascript: codewars.com (make sure to sign up as you get something completely different and more useful. Especially different ways in which the same thing can be accomplished can be 'useful' to learn more.
Hi Sai. You can also try codeschool if you want to learn by doing. As an Angular dev, i must warn you that if you're not really at ease in JS dev, you better follow some tutorials rather than diving alone into Angular core since it's quite complex. Good luck though ;).
Things that you can get started with. (PS: May not be straight forward, but I hope this list helps you out!)
Good luck & Happy Scripting!
Underscore.js / Lodash is probably the closest to what you are looking for. Here's why:
Lodash is a fork of Underscore, but on steroids. Both are great libraries! Learning them and digging deeper in their source code can greatly improve your Javascript knowledge.
Wanna take it one step further? No, problem - pick a random function from the library and rewrite it using your knowledge. After that compare your function with the original one - find the differences and similarities of both, try to understand why their approach is different than yours (if different) and refactor/optimize your function. You can even find a bug or piece of code, which can be further optimized - pull request that son of a btch. If accepted - congratulations, you just contributed to one of the coolest JavaScript libraries!
I learned JS by building GWT and Dart applications, then telling the compiler not to minify the JS, then reading through the JS to see if I understand what's going on. That's probably a lot harder than it needs to be.
Tony Alicea has some excellent JS tutorials, try this YouTube video, if you like it, get the full 12 hour course which will teach you how to write your own JS Libraries: youtube.com/watch
In the full course, you will enhance your abilities as a Javascript developer by delving into first class functions, callbacks, closures, IIFEs, prototypal inheritance, diving into the source code of jQuery, and building your own small framework/library.
Amaan Kulshreshtha
Check out this playlist .
It goes through the some of the major design patterns in javascript. Once you understand these patterns, then you can pick up literally any library and you'll be able to understand it with ease.