Try not using Javascript first
My guiding principle in web-development is (still): Always make things work without (client side) JavaScript first.

Aside from offering a graceful degradation of the experience by progressively enhancing it leads to better code. Three reasons why:
- it forces you as a developer to think about logical endpoints for your form submits, your data requests etc. Typically this leads to fewer cases of overloading a resource with all kinds of unrelated functionality (yep, I’m a big REST-first advocate).
- your application will probably be more web-native, and hence more future proof, more easily cache-able, etc.
- the front-end JavaScript to enrich the experience will typically also be less complex and can be generalized more easily.
Yes, I do shiver when I hear things like CSS in JS, KISS!
Photo by Dmitry Baranovskiy, CC-BY 2.0 licensed