I have many years of .NET and Java (backend, Android, desktop) development under my belt. Over the last year I've had to do a lot of frontend development, first with Angular1 and now with VueJS. I've hit the ground running quite decently, using TypeScript/SASS/Webpack, and so on. I grok the languages, the DOM, HTML/CSS, the frameworks, and my Google-foo seems to be serving me well.
But I'm uncomfortably aware that I'm missing some fundamentals, and am spending way too much time in trial-and-error land. I only have a fuzzy understanding of JS modules, module loading, and bundling. I don't really get when and how the browser loads scripts. I don't really understand the concurrency model of the Javascript VM. I'm somewhat confused by the tooling (NPM seems to be more than just a package manager, Why does Bower exist? Why would you use both Gulp AND Webpack?) And so on.
So, I'm looking for any and all pointers on which fundamentals I need, and the best resources (books, tutorials, online courses, whatever) for learning them, and of course I'm willing to spend money. The important thing is to find resources aimed at an experienced developer who did not come of age doing webdev.
But I'm uncomfortably aware that I'm missing some fundamentals, and am spending way too much time in trial-and-error land. I only have a fuzzy understanding of JS modules, module loading, and bundling. I don't really get when and how the browser loads scripts. I don't really understand the concurrency model of the Javascript VM. I'm somewhat confused by the tooling (NPM seems to be more than just a package manager, Why does Bower exist? Why would you use both Gulp AND Webpack?) And so on.
So, I'm looking for any and all pointers on which fundamentals I need, and the best resources (books, tutorials, online courses, whatever) for learning them, and of course I'm willing to spend money. The important thing is to find resources aimed at an experienced developer who did not come of age doing webdev.