1. Have an open mind
2. Learn by doing
3. You don't know JS
Having it open source is a great way to find a community struggling in the language, because the best way to learn something is to be surrounded by other people who are facing the same problems!
Up and Going! is a great place to start the series. When going through the literature you get a confident feeling that what you are learning has been thoroughly thought out due to its open source nature.
4. You still don't know JS
Get a good understanding of Scopes and Closures. Test your knowledge by writing some of what is given in the book. I recommend using JSBin. It has a great interface, HTML CSS JS Console Output panels take the cake in my book.
5. Get social!
Twitter and Github are great places to receive a nice amount of feed from the cutting edge experts and all around fun.
@drboolean, @getify, @BrendanEich, @holtbt, @jhusain, @andrestaltz,
Github is a superb place to look for examples of code, to see how others are doing it and numerous other tools/frameworks/libraries that talented people make.
It’s also a good way to start sharing what you do or even collaborate with others. Open source is marvelous (in my opinion) for the whole ecosystem, for any language you are using. Some still argue it is a bad idea but I’m all for sharing my knowledge and using or contributing with others (and employers really love to look at github accounts!)
6. Take a stab
Around reaching the dreaded intermediate stage, you may feel like you're learning the basics but was just unable to think of how I could progress from here.
Others, like myself, felt too good for 'basics' or 'tutorials' and wanted a real struggle.
This is where frameworks come into light: lots of hype and talk of how easy they are to use and all the great things they can do. A few years ago when I really got into front-end,
Angular seemed like a good choice, it had a strong community. I’d be able to get a lot out of the box and actually start making things.
7. To the Cutting Edge!
I'll start with the "what's popular now"
- React - implementations of the virtual dom are great and React is the most popular. Huge community, highly recomended for a front-end library.
- Redux - Flux architecture made absolutely convoluted as possible. .. Just kidding, but this thing is a real tackle to some people (including myself). Bringing in immutability to your state might make you wonder 'why'. True it does create quite a bit of boilerplate, but the point is to create re-usable and readable code.
- Webpack - The great webpack. Modular everything. What's so great about webpack though? Honestly you have to play with it yourself to understand why it is so great, but basically it is an ultimate bundle/optimizer/toolkit for creating a development and production stage for your code.
Now, to the 'what will be popular' - (patent pending)
- Cycle.JS - This library is amazing. I honestly think it will run react to the floor within 6 months. Reactive programming is simply the future. If you haven't tried it, what are you waiting for?!
- RxJS - While technically as of writing this, this is considered 'popular', but I still think there is room to grow. It's only been out for a year and there are some crazy ideas made true from reactive programming.
If you couldn't tell, I really recommend checking out reactive programming.
8. And back to the theory!
Thanks for reading, I put quite some time into this tutorial.
or you can check out my twitter @artiestie