A lot of blog posts related to front end development cover technologies like react, vue and angular. Some companies even ""brag"" about using said technologies. But when using their products, I fail to see the reasons that warranted their decision. ("It could've been done using jquery/ajax and simple PHP backend" is what I usually think.)<p>My question therefore is this:<p>Are we falling for the "shiny new toy" syndrome ? At what level of complexity should a company start considering a switch to a modern front-end framework ?<p>Thanks
I think yes we are actually over-engineering front-end development at the moment, and I think part of the reason is we are under-engineering on unified standard and toolings in front-end realm. The ever fast progressing in web platform concepts has surpassed the speed of advancements in the platform (mostly browsers) and development environments. Therefore what used to be as simple as an <a href> now could very well be 200 LOC of history state manipulation and observation, what in other programming language is out-of-the box with fresh install or IDE integration is a few hours of webpack config and everyone is different from everyone. In short I think the cause of notorious front-end development is the non-unified status quo. Can't say it is whether a good sign or bad, it may be the price we have to pay to evolve, or maybe we overpaid already.<p>That has been said. To answer your question, I think if user experience is not high on priority and there isn't much point re-use a lot of UI code, the company is fine with back-end framework and many do. I do believe front-end framework provide many benefits, code re-usability, loose coupling from back-end code, easy for team collaboration, such and such. Company should only switch to them for reasons not the fuzz it generates.
Frontend applications get more elaborate and smart every day. Part of it is that expectations are higher and higher as well. It is expected for a lot of products that when they launch, they handle complex application state, keep data on refresh, sync everything, give immediate and relevant user feedback, etc. And of course devs don't want to use yesterday's language so complex build tools that transpile newest versions of JS are a given.<p>Sure, you could build something with jQuery and a PHP backend, and a lot of people manage to pull this off. But you would either re-invent the wheel for some of those features or you'd end up using jQuery plugins to do it for you, which basically is the same as using a module.
Massively so, yes. However, it is a sign of the times - people expect interactive, practical apps, and stakeholders expect faster delivery and development.<p>I only wish it were unavoidable.