Sad but true story…
There was a time when any web developer was a full stack. And we all made a frontend HTML/CSS “as good as we could”. But now. being a backend developer (literally developing a server side code) means that your primary put your efforts in mastering backend language, getting deeper in SQL and different databases, server provisioning, and system administration. And there is less and less time for the frontend. While frontend grew from tiny pices of HTML+CSS+JavaScript to a huge monster of Frameworks. Even JavaScript developers are complaining about “how fast the World is moving forward”, not to mention us “backend developers” - we are completely lost. We are still in the jQuery era. That is not so bad, that is just how it goes.
But in any case, we need to keep in touch with Frontend world evolution. Ideally, it is real and possible to have limited full stack skills to be able to cover all aspects of the web product. You are not required to be able to build the new Facebook alone. But that is what I think essential:
HTML / CSS
Basic HTML/CSS knowledge are still required. Good news are there are very few basic CSS things that are not supported across different browser (while huge new features are not cross browser).
FlexBox is relatively new CSS approach. It can help you in case you need complex CSS positioning but do not need to support very old browsers. I recommend getting used to it.
- FlexBox Froggy - learn FlexBox in very interactive way!
And almost a must to have basic knowledge of existing CSS framework to be able to compose quick and dirty GUI, that at least is not ugly. There a number of them, but 2-3 are most popular. They provide sets of ready-made GUI components - static and dynamic (with bundled JS). If to get a deeper understanding of such kind of a framework you can customize it and build even complex interfaces on top of it, while relying on stable foundation (with a lot of cross browser issues solved).
JavaScript
TODO: Whole this section :)
jQuery
Debug JavaScript
Server-side rendered JS
“replaceWith” trick
Modern JavaScript
Frameworks, Bower Modules and loaders Try to keep away from Sprockets