From a backend developer's perspective with minimal client-side experience, the modern Web frontend stack looks initimidating: HTML5, CSS, Javascript, Sass, Bootstrap, JQuery, Backbone, Angular, RequireJS and a whole bunch of more tools and buzzwords I've probably never heard of, let alone the never ending fight with browser bugs, quirks and incompatibilities. Is there any decent crash course for experienced backend (or non Web) devs on getting up to speed with all this stuff?
The most important thing you can learn is that it's ok to not be a hipster.<p>It's ok to not be up-to-date with every technology choice. No matter how smart you are, please realize that front end engineering evolves at a dizzying rate, with new hyped up libraries, frameworks, techniques, and best practices emerging all of the time. Even if you do front end stuff full time you'll go mad trying to use half of what you read about.<p>I think that the best way to learn this stuff is to pick a problem that you want to solve and learn the pieces necessary to solve it in a logical fashion. You'll start out with HTML, try and style it with some CSS, and then add a touch of interactivity with some JQuery. Then you'll start to have more and more code and you'll logically reach out for tools like Sass, and RequireJS and others to organize things when it becomes overwhelming. Then once you start solving bigger and bigger problems you'll eventually look into Backbone, and maybe other frameworks once you can't build a maintainable solution with what you know. Learn stuff as appropriate to solve the problem you're working on.
Well, what are you trying to do? A product? A web application for enterprise? Do you need to understand design, or are you just looking for the ability to proof of concept something out, or are you looking for jobs that require front end capabilities?
I would say go step by step from html, css, JavaScript then jQuery. You will get better understanding of front-end after that. Go to w3school and learn those. You will have better understanding after at least two days or so depending on your learning speed. It worked for me