Frontend technologies for desktop and responsive web applications can be categorized into five main types:

  • Angular
  • ReactJS / Next.js
  • Vue.js
  • Classic Web (HTML, CSS, jQuery, Thymeleaf, ASP.NET)
  • Flutter Web

These technologies coexist in the market, competing with and complementing one another.

Angular

  • Typical use cases: Enterprise applications, banking, financial systems, and B2B applications.
  • Strengths: Structured architecture, reusable components, and maintainability in large projects.
  • Ecosystem: RxJS helps manage asynchronous data streams, while NgRx can be used for state management.
  • Modular development: Developers can build additional modules or components for an existing application and distribute them as reusable products.
  • Consideration: Large projects require clear architecture, API documentation, and integration standards.

Angular is a strong choice for enterprise applications where consistency and long-term maintenance are important.

ReactJS / Next.js

  • Typical use cases: E-commerce, B2C websites, and interactive applications for end users.
  • Strengths: Flexible component development and a large ecosystem of UI libraries, such as Material UI.
  • Learning curve: Easy to start with, but more challenging when managing complex applications.
  • Next.js: Extends React with features such as server-side rendering and static site generation.
  • Consideration: Large projects need proper state management, testing, and coding conventions to prevent regressions.

React is a popular choice for customer-facing applications, especially when the user experience is a priority.

Vue.js

  • Typical use cases: Interactive websites and applications that need a progressive frontend framework.
  • Strengths: Clear template syntax, reactive data, and a relatively approachable learning curve.
  • Flexibility: Can be integrated into an existing website or used to build a complete frontend application.
  • Consideration: Community size, ecosystem, and adoption vary across regions and projects.

Vue can be a good alternative for developers who want a flexible framework without adopting Angular's full set of conventions.

Classic Web Technologies

  • Technologies: HTML, CSS, JavaScript, jQuery, Bootstrap 4, JSP, Thymeleaf, and ASP.NET.
  • Typical use cases: Traditional business applications, administrative interfaces, and server-rendered websites.
  • Strengths: Straightforward backend integration and incremental enhancement of existing applications.
  • Java Web: Thymeleaf can be combined with Spring Boot and Vue.js to build server-rendered applications with interactive components.
  • Consideration: Complex client-side interactions may require additional JavaScript libraries and architectural structure.

Classic Web technologies remain useful even as modern frontend frameworks become more widely adopted.

Flutter Web

Flutter is a UI framework from Google that uses Dart and a widget-based approach to build applications across multiple platforms.

In 2021, Flutter Web offered potential benefits but also had several limitations:

  • SEO: Less straightforward than conventional HTML-based websites, particularly for content-heavy pages.
  • Loading performance: Initial downloads could be relatively large compared with simple web pages.
  • Libraries: Web-specific third-party packages were less mature than some established JavaScript alternatives.
  • Development approach: Web developers needed to learn Dart and Flutter's widget-based UI model.
  • Status: Flutter 2.0, released in March 2021, brought Flutter Web to its stable milestone.

Flutter Web was worth considering for applications that prioritized code reuse across mobile and web, although conventional web technologies could be more suitable for SEO-focused websites.

Conclusion

In Vietnam, Angular, ReactJS, and Classic Web technologies were important options for frontend development in 2021. Vue.js offered another alternative, while Flutter Web introduced a cross-platform approach.

  • Angular: Structured enterprise and B2B applications.
  • ReactJS / Next.js: Interactive e-commerce and B2C applications.
  • Vue.js: Flexible, component-based web development.
  • Classic Web: Traditional business applications and server-rendered websites.
  • Flutter Web: Cross-platform UI development.

Mobile applications are another area of frontend development. Depending on project requirements, developers may choose React Native, Flutter, Xamarin, or native Android and iOS technologies.

No single technology is best for every project. The right choice depends on application requirements, team expertise, and long-term maintenance needs.