Isn't next.js too big to fail? Currently we are trying to define a modern stack for our front-end, and I always thought next.js/react to be the next java -> Perhaps Solid.js is much better (IMHO it surely is) but I probably won't get fired for choosing next.
If not, what would be the alternative? I really don't want to restart with the hassle of configuring a js project from scratch. Done it already a thousand times, and that's a thousand times too many :)
But history has shown that when a framework or backend was sufficiently popular that people did indeed step in to support it. It happened with Node.js itself (which Next is built on) a while back with what was then called io.js, before io.js eventually re-merged with Node.js after the organizational kinks were worked out.
The question is exactly what would happen if it lost its backing, even if it wouldn't outright fail:
- Meta forks it and/or takes over from there?
- Multiple community forks that fracture adoption?
- Stagnation and slow decline as it stops shipping big upgrades and goes into community-maintenance mode?
This is the key. For small apps, it's far more effective to pay the premium to not deal with any DevOps. Once an app gets bigger, it'll make sense to spend more time optimizing cost.
I feel like Vercel is the new Heroku circa 2015. I'm hoping it won't follow Heroku's trajectory, but who knows.
There is a huge amount of difference.
Java is currently backed by Oracle, which has a huge history of staying around (setting the reputation aside for a moment).
Vercel is currently not profitable, raised too much money and is stuck trying to generate enough profit to match that valuation.
Also NextJs is relatively small in the world you compare to.
Javascript <-> Java React <-> NextJs <->
i.e. it sits another 2 layers below.
Paying twice the $300k engineers to develop your VC scale app in 2023 using HTML templates or Create React App. Priceless
There are tons of really good solutions to this problem that are incredibly affordable but they just aren’t popular in the React ecosystem which is once again off doing its own thing seemingly detached from everyone else and trying to just fit the React mental model into any abstraction they come across and patting themselves on the back about innovation in the process.
Honestly React is an actively terrible place to have as your center of the universe when trying to build the kind of app you described. Not to say you can’t or shouldn’t use it but it most certainly shouldn’t be where the core is.