tldr; There is no spoon.
There is no one answer. Choose one, and get the job done.
Even longer version
It took me no less than 3-4 weeks to get acclimatized with the nuances and settling down with a favourite framework. None should make the same mistakes. Here’s a humble-list ™ -
- Don’t take advise from others at face value. Find your own failures (FYOF). Never trust videos by XXX that hands out advise on ‘best frameworks for 2019’ - they can certainly tell you existence of a certain framework but that topic is ** too broad ** for one right answer
- Don’t spend the next three months learning the nuances (e.g. are Vue helpers really helping?). Don’t go through a bunch of tutorials to find out whether the framework works for you - they are evil (yes, including those from me)
PS: I did the opposite of the above. It is easier to think postmortem and advise others.
A few pointers based on use case
All that said, here are a few things that I would do based on the use case. If anything this should be a point for you to critique, not follow.
Web app used for a narrow use case
Narrow use case = one or two screens. Not a lot of navigation b/w screens. I can (& will) get away with a full stack framework of yore without SPA. Refer just the backend part of the application in the below use cases. Use Turbolinks for better UX - it helps quite a bit.
- ASP.NET Core
Data driven applications
Data focused applications that is expected to have a ‘good’ user base.
- Backend: AdonisJS / ASP.NET Core
- Frontend: VueJS
- Start with REST if you are a beginner. If you are willing to spend some more time learning, GraphQL (Apollo Client & Apollo Server - with Boost)
You are doing magic with UI. Animation, maps
- - Libraries - LeafJS, D3JS et. al.
I probably will use VueJS and justify to myself why I did that. As an after thought, I would rather not code such applications.
Mandatory companion mobile app
Data + lot of logic:
- ReactJS + React Native
These are hobby projects - haven’t got a chance to vet them thoroughly.
More no. of people use Next than my go-to choice ‘Nuxt’.
No code/low code solutions Believe it or not, future will be full of applications that you can drag/drop and create. I am partial to Salesforce.com Lightning (since I know Salesforce platform), but I believe the better options to start will be using software from the likes of Mendix / Outsystems (more open).
The new full stack Full stack frameworks will get revitalized with PWAs. Blazor from Microsoft comes to mind. I believe they will make the next generation of web development (incl. mobile apps) so much easier.
Go build something.
Don’t read half-baked articles with click-bait titles from an author who probably doesn’t know any better than you. (yes, that’s me - if you don’t get it)