# Where to go from here

This book is meant as a basic introduction, and there is a lot that it cannot cover.

Frontend development changes a lot faster than backend. Browsers are always implementing new APIs and adding features, on JS and CSS: try to read about new stuff. Thankfully HTML rendering has been stable lately and browsers are much more compliant than in the 2000s, so applications require less maintenance to just keep working like before.

Javascript frameworks are a dime a dozen and keep popping up all the time. It's impossible to keep up with them, but follow what happens with the major ones -- the ones that you use, at least. Even them often have breaking changes or new features. Remember, you don't have to use the latest breaking edge features or rewrite your codebase because a new structure is more popular this month. Write your code to last: easy to read, modular, easy to understand. The same can be said about CSS preprocessors and frameworks.

Mobile development is even faster than web development, coming up with entire new programming languages. It's undeniably better to program natively in terms of access to features and speed. The JS/native approach advocated in this book has its pros and cons, as mentioned before. I've seen companies moving from one to the other and from the other to the one. There's no solution that fits all, and your application requirements weigh a lot on the decision.

It's good to learn about design and usability. The classic book about UX is "Don't make me think", by Steve Krug. It has aged since its initial release, even though there was a "Revisited" edition, but its basic points are still valid, even if the example interfaces are now old. Check how other sites do things and take note of good patterns. See what designers have been doing, and read about usability. If you are interested in this you can also read about typography. All we do on screens now came from what was done on paper, and working with text, images, organization has not changed much: only our tools. Learn some design. The web has become more and more interactive in time. It's nice to learn about animations and even 3D. Adding small effects can make sites beautiful and easier to use.

On a more technical level, learn to profile your code. There are good tools to profile on browsers these days, and if your page is slow you should be able to understand why and fix it. There's a lot of JS being loaded by the average site these days; aside from the question if you need it all (are you doing tree shaking?), your basic task as developer with machines that are millions of times faster than what we had a decades ago is to be fast. Make sure your user doesn't have to wait for you.

There's a lot to discover.