This statement holds true for any time you’re charging headlong into unfamiliar territory. Especially when best practices are still being established. Even more specially when the people you’re looking to for advice are (influenced by others that are) strongly opinionated.
Here’s my thesis in a nutshell: if you want to have fun, go have fun. Use what you know, try a couple new things, and make something. There are a ton of libraries out there, but every single one of them is optional. There’s no need to get caught up in the tooling/framework rat race.
JS Is as Complicated as You Make It
You are in the room of programs. You can only make a command-line program. You see the C language and the Assembly language
> get C language
Ok, you can start writing your program
There’s nothing stopping you from taking the same approach to writing JS.
You are in the room of applications. You can make a command-line application or a web application. You see the C language (command-line), the Assembly language (command-line), and the JavaScript language (web).
> get JavaScript language
Ok, you can start writing your web application.
It doesn’t have to be any harder than this.
It’s been a while since I wrote an app in C, but as I recall the tooling in that ecosystem is sparse at best. You’ve got a language, some standard libraries for some processor-level abstraction, a compiler, and the ability to run whatever you compiled.
There’s no reason you can’t treat JS and browser dev the same way. All you need to get started is an HTML page with a <script> tag.
The core of the problem is choice and the overwhelming abundance of tools to choose from.
If you’re being overwhelmed by the choices just ignore them.
Kick jQuery’s fancy $() selector to the curb and lean on the DOM’s document.querySelectorAll(). You could use Moment.js for time … or you could just use the Date global. Did you say you need to iterate over an array? Goodbye _.each(), hello Array.prototype.forEach(). And when they don’t do everything you need you can write your own wrapper objects and extend their functionality.
Standard JS built-ins and DOM methods aren’t going anywhere. Start there and see how far they take you. If you start to run into limitations then tried and true libraries like jQuery are always close at hand.
Libraries and frameworks are tools. People created them to solve problems they faced, but their problems aren’t necessarily your problems. You’re better off solving your own problems than you are worrying over how well someone else’s solution fits something you haven’t built.
Addendum
When I say “you” above I don’t mean you, pistacchio; I mean any reader who feels overwhelmed by “modern web development.”