2

In the JEE World, we were used to write front-end application with Struts, JSP, JSF.

But now, we are following the trend of modern front-end applications with modern technologies (Angular, React, etc.) in a NodeJS ecosystem (npm or yarn, webpack, etc).

Theses new technologies change a lot, and make the maintenance of an old application difficult. In my information system, we have old applications that we change once in a while (after three yers sometimes).

As the old ecosystem was not changing a lot, it was easier to assure maintenance, and we were able to keep an application interface for 10 years (building with maven, Struts 2 interface for example). Now, it is really hard (we used grunt and bower, which are already dead, angularJS almost, etc.) to rebuild a project years later, and make changes on it.

In my world (where we are not Facebook or Google and we don't rewrite our applications every few monthes), we have difficulties to find a strategy for the gui of our applications.

The best we have is saying that the backend is stable (exposing REST services), and that we should be more efficient in throwing and writing a new front-end.

What do you think of that ? What is your strategy ?

4

A few observations:

  1. I didn't necessarily find those older systems you mentioned easier to maintain. They tended to be overblown, over-engineered, inflexible monoliths containing reams of code. The newer application development techniques are lighter, more flexible and better performing.

  2. Standards are getting better. Web browsers have far more powerful capabilities than ever before, and those capabilities have better performance, are more secure, and are less likely to have incompatibilities between browser vendors. Browser problems were the bane of JSP developers too.

  3. Front-end development techniques are beginning to stabilize. Model-View-ViewModel is becoming the norm. User experience has become a primary focus. Software is becoming more modular and component-oriented, making it much easier to maintain than ever before.

  4. The Javascript frameworks that are available today provide enormous development leverage. Until a few years ago, useful data binding in a browser was unheard of. Now it is commonplace. Libraries like this one make your applications beautiful, using UI principles that are readily recognizable by your users, for very little effort.

In short, things are getting better. The story for creating modern web applications has become much clearer. But we had to wander through the wilderness for about five years before we got here.

My own personal experience: I used to develop ASP.NET applications, one of those monoliths like the ones you mentioned. The day I switched to ASP.NET MVC, I never looked back; the resulting apps were more web standards-compliant, easier to understand, easier to develop and had much better performance; and this was before the new crop of modern frontend web applications became the norm, a change that ASP.NET MVC easily embraced.

I can't guarantee that we won't change everything again in the next 5 years. That's kinda the nature of our profession. But I can tell you we're in a much better place than we were before. Embrace the new tools, and accept that software development is a life-long learning process.

  • Thanks for your answer. Looks like that webcomponents are going to help too. W3C's guys are doing a great job. – Akah Oct 11 '18 at 6:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.