Farewell, AngularJS: A study in UI legacy migrations
The term “legacy migration” typically carries connotations with more server-side and infrastructure concerns, such as breaking up a monolithic application into microservices, or moving from on-prem hosting to the cloud. It’s not always well-understood that modernizing legacy user interface applications (UIs) can be just as important.
When discussing legacy UI migration with our clients, we often hear questions such as, “Will we have to migrate this UI again any time soon? Is it really worth doing if we’re just going to end up changing it again?” Technical directors and architects are usually (and understandably) concerned about the fast-paced JavaScript ecosystem, which is critical to modern UI development.
We believe that this is the wrong way of thinking about the issue. While the JavaScript ecosystem has currently stabilized around a handful of best-in-class frameworks, we should always expect disruption in the space where technology meets its users. User interfaces are always at the cutting edge of technical progress, and users’ expectations are always increasing.
Therefore, there is a tremendous potential payoff for organizations that get good at supporting constant change in their UIs. The principles of evolutionary architecture can be applied to UI development to great advantage — for example, certain architectural patterns, like micro frontends, can be used to ease the process of migrating while keeping your core business functionality protected.
To understand what this looks like in practice, let’s examine the case of AngularJS, the frontend technology that we have most frequently helped clients migrate away from in recent years. We’ll reflect on our long experience of migrating legacy UIs more generally, while using AngularJS as a specific example to guide our thinking. Whether you are currently on AngularJS or another UI framework, you’ll come away from this article a little more prepared to modernize your UI.
Read the full article on ThoughtWorks Insights.