I cannot imagine the shitshow that project would be using jQuery to track the state.
Nearly as soon as you progress from 'backend rendering html' to single-page-app, it behooves you to use React.
I try to fit the more traditional paradigm when I'm allowed to architect an app myself. I like rendering a page on the backend.
Anyway, you can read arguments by smarter people than myself: http://stackoverflow.com/questions/21862054/single-page-appl...
That's just one thread of many.
Worked on or maintained an existing app for a number of years? There is a very big difference.
there's no such things as the best approach for all needs. React brings you load of advantage but it assumes stuff you might not be ok with:
- spend time maintaining your project over time fixing stuff on version change that won't bring any direct value to your project
- you're ok with the licence and with the company maintaining it.
- hard to debug stack trace
- ship code that you have no control over, increasing the payload size (at least for small to medium size projects)
> I cannot imagine the shitshow that project would be using jQuery to track the state.
First nobody force you to use jquery. Manipulating the Dom isn't what it was when people had to maintain stuff on ie6. Dealing with the Dom directly isn't a "shit show" anymore and if you understand the concept of redux you can use those general concept and apply it in your project to manage the state. Plain Js simply assume the Dom isn't a magical piece of software, it just has prototype and stuff people usually don't like around here but hey, if you're coding stuff for the web, it's better to know how to deal with it than denying it
Es6 brings lot of great features you can use today, you don't need react for that
React and Redux is the easiest debugging has ever been. While its true that stateless crashing components can cause some headaches (will be addressed in Fiber), inspecting state and flow of actions, how something rendered or changed and why --- haven't had such a experience before with no other tool or language.
For small projects, sure, they might. But working at larger scale falls apart using plain html and jquery.
Scale was a poor choice of words. Front-end complexity is a better metric, and in particular complexity which relies on manipulating state.
Of course it feels easier to stick with what you know, but managing the DOM with data is so much easier than using jQuery + Handlebars.
Seriously, spend some time learning Vue. You won't regret it.
It has to be said that you don't need any building process (Webpack, gulp, etc) to use Vue. You can simply write your templates in your index.html and import using <script>.