I'm trying to get a good grip on full-stack JS. I've tinkered with node and react, but the size of the JS ecosystem can be pretty overwhelming. Any tips?
What you're feeling is not uncommon. There's even a name for it: JavaScript fatigue.
My advice: pick one opinionated framework and stick with it. On the backend go with Node and Express. On the frontend, I would recommend Angular 5 (which I'm sure many will disagree with). Angular is far more opinionated than React, is a more encompassing framework, and makes more of the technologies choices for you. It's larger in size than React because it bundles more supplemental libraries with itself. The Angular CLI will provide everything you need to make even sophisticated apps including tooling to automatically generate new project assets like components and services.
If you're already entrenched in the React world, you might try to find a robust and opinionated starter kit that has made most of the choices for you. Not being a React developer myself, I'll have to defer to someone else for such a recommendation.
Well my opinion on the full stack is that start with one direction and keep in touch with other direction as need-to-know.
For example, you start with FE (Front End), the pay attention to details and BE (Back End) can stay as a standby goal which you move forward with need-to-know basis. Don't overwhelm yourself with details of other direction. Similar goes for reverse direction.
No with the updated standards, it's ok if you are using a bit old standard because primary goal is to understand things. And once you have struggled enough with the old thing, you will automatically utilize the opportunity to use the latest/new/upgraded way of doing things.
Consider going with the example application. That will help a lot.
And when you go by doing the (example) application, you will also learn the other aspects of Full Stack like Deployment, Security, CI, Testing Reports, Caching, CDN, SEO stuff etc.
Don't worry about the new stuff coming frequently.
Pick up one lib/framework and stick to it for a while. Once you are comfortable with that specific thing, you will very easily understand the other alternatives of that specific thing. Like learning React will help understanding Angular, WebComponents, Vue.js etc. Learning express.js will help understand hapi, koa etc.
Pankaj Patel
Blog, Tech, Photography etc.
Kashish Grover
Tinkerer
Hi Aditya,
Thanks for the question. Quite honestly, I used to feel stranded not too long ago.
I joined Hashnode as a NodeJS developer and ended up working on their mobile app using React Native, which is on its way. That was a crazy experience in itself. Not only did I learn React Native, I ended up getting some experience with respect to React Itself. All this while, I found mentors and great articles online to learn from. It is one thing to learn patterns but it's more important to know why those patterns exist, and what they do.
I am nowhere close to being great at JavaScript, but I can build stuff. If I look back at my code from 6 months ago, I realise how far I have come, and how much I have learnt.
My tip -- keep at it. It will take time. Build something. Start with something small. Maybe find a public API and turn it into a website or an app. You can start from github.com/toddmotto/public-apis.
Once you know you can build stuff, start reading some books to get an even better understanding of JavaScript. One of the best is github.com/getify/You-Dont-Know-JS.
One more thing is keep yourself updated with standards like ES6 and ES7. Javascript has gotten easier over time . ๐