To answer the original question: I'm going to find it hard to go back to any of the frameworks (See the wall 'o text below).
Java and PHP are both on my list. I've used them both, but doing a deep-dive into them at this point seems like a waste. If I'd focused on mastery 10 years ago, I would feel differently, but it seems like Python and Node are the things we'll be talking about being old 10 years from now and Java and PHP will be in the Perl/COBOL camp of "important historical languages that served as a jumping-off point for more modern languages, but not a good choice for new projects".
Now, the actual reason for my post is that I saw a LOT of React/Angular/Vue point/counterpoint, and someone mentioned Stencil deep in a reply-thread.
Just my two cents on Stencil:
I've been building greenfield in vanilla Stencil (framework-less) since December (design starting in September, with a Java service build in-between haha). I came from Angularjs/Angular-land, and when I did the framework analysis for my current project, it came down to "We need an asynchronous web application, and a SPA is a better choice than static pages hyperlinked together. Should I get some production experience on the resume with React, or try this Stencil thing out?"
I have Stencil v0.0.12 components working on the same page with v1.0.0 (just released). Since they all compile down and don't share framework code (It's a compiler, not a framework) they all just work.
No chasing an upgrade cycle, and the compiled components are spec-compliant, so if it ain't broke I don't have to fix them every time a new version comes out. I went a bit ham and componentized EVERYTHING so my build process is a bit off, but that's my fault, not the compiler (And it's REALLY easy to fix). I can store a .tgz in our local npm and if I need one of the components I just npm install it. Overall it's been an amazing relief to get away from frameworks and just write code... It uses tsx (jsx with typescript. I still just call it jsx myself haha) and has aspects of a React/Angular/Vanilla mashup...
Most importantly: I COULD write the components without Stencil at all. It simply gives me a few convenience features, Developer QOL and polyfill support. But I could write a pure vanilla component and include it on a page and Stencil wouldn't blink an eye. I could include Angular IN a component, or include a component in an Angular app.... same goes for React and Vue. Hell, I could have three components, each running a different framework and they could live in harmony on the same page (Seriously, don't do this guys LOL). Oh yeah, I can also include a component on a static page. It doesn't force me to build a SPA, I just needed the style (And the views/"pages" are components themselves).
Successful micro-frontends are possible and being built today. That's really the reason we've been using the crutches of all these frameworks. The fact that it WASN'T possible because of browser limitations was the whole motivation to use things like React, Angular and Vue in the first place. The spec has now caught-up and incorporated the things we needed to have to do without them, a lot like JQuery had a ton of its functionality absorbed into the spec.
Hey, thanks for the insights! With frontend framework giants like React, Vue and Angular, it's great to see a whole different point of view. And yes I truly have missed it in how browsers have caught up and maybe soon those frameworks could be irrelevant as how browsers did it to jQuery. One day I'll try to get out of my comfort zone and try out Stencils or micro-frontends mentioned in this comment, it's buried way deep down here. Wish I could save comments tho, not just posts... cc @devteam ? 😂
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.