Frameworks & Meta-Frameworks
Scope
This section covers core Frontend frameworks used for building user interfaces and meta-frameworks that build upon these core frameworks to provide additional features like routing, server-side rendering (SSR), static site generation (SSG), and more.
Overview
ADOPT
Proven technologies we have high confidence in; our default choices.
Technologies Breakdown
React ADOPT
The default and strongly recommended choice for most new Single Page Applications (SPAs), complex interactive UIs, and component libraries. Forms the foundation for our primary meta-framework (Next.js).
We have internal expertise and a pool of experienced developers. Its mature ecosystem, vast community support, component-based architecture, and integration with our design system make it a highly productive and reliable choice.
Angular ADOPT
Recommended for large-scale enterprise applications where its opinionated structure and built-in tooling provide benefits. Can be used for new projects if specific requirements, client constraints, or project context strongly favor Angular.
Mature, comprehensive, and opinionated framework with strong TypeScript integration. Our team possesses significant prior experience and expertise with Angular, ensuring we are fully capable of undertaking new implementations effectively when the need arises. Good for complex applications requiring a standardized structure and represents a significant existing investment/skillset within the team.
Next.js ADOPT
The preferred and strongly recommended framework for public-facing websites, applications requiring Server-Side Rendering (SSR) or Static Site Generation (SSG) for performance/SEO benefits, and projects where integrated API routes offer convenience (full-stack React).
Builds directly on our extensive React expertise. Provides critical features out-of-the-box (routing, rendering strategies, image optimization) that significantly improve developer experience (DX) and application performance. Its capabilities align well with the requirements of many of our key projects.
Spring Boot 2.x ADOPT
This is our well-established and current standard for building back-end services. Its mature ecosystem provides a stable, secure, and productive environment for all new projects.
Spring Data JPA ADOPT
As the default choice for data persistence, Spring Data JPA is an integral part of our technology stack. It standardizes our data access layer and accelerates development.
Spring Security ADOPT
This is our mandatory framework for handling authentication and authorization. Its comprehensive features ensure that our applications are secure and follow best practices.
Vue.js TRIAL
Explore on specific new projects, internal tools, or Proof-of-Concepts (PoCs) where its progressive adoption model, potentially gentler learning curve, or specific ecosystem libraries might offer advantages over React/Angular.
An approachable and performant framework with excellent documentation. We are trialing it to evaluate its ecosystem fit, developer experience for teams less familiar with React/Angular, and suitability for specific use cases (e.g., embedding interactive widgets into non-SPA contexts). Findings from trials will inform future status.
Nuxt.js TRIAL
Explore alongside Vue.js trials specifically for projects requiring SSR, SSG, file-based routing, or other meta-framework features within the Vue ecosystem.
Provides a powerful layer on top of Vue.js, analogous to Next.js for React. Trialing is necessary to understand its capabilities, stability, DX, and how it compares operationally and functionally to Next.js for building full-stack Vue applications or performant websites.
Astro ASSESS
Actively investigate for content-heavy websites (e.g., marketing sites, blogs, documentation) where maximizing performance via minimal client-side JavaScript is a primary goal. Build PoCs to test its "Islands Architecture" and integration with our existing UI components (React/Web Components).
Its innovative architecture promises significant performance benefits for specific types of sites. The ability to use components from various frameworks (React, Vue, Svelte, etc.) is intriguing. We need to assess its maturity, ecosystem depth, build tooling, and suitability for sites requiring more complex interactivity before considering a trial.
Svelte / SvelteKit ASSESS
Monitor community growth, tooling maturity (especially SvelteKit stability and features), and the availability of learning resources and experienced developers. Build small, non-critical PoCs or internal tools to evaluate its reactivity model and DX.
The compiler-based approach offers potential performance advantages (smaller bundles, less runtime overhead) and a different development paradigm that warrants investigation. SvelteKit provides the necessary meta-framework features. Assessment is needed to understand the practical benefits, learning curve, ecosystem readiness, and potential integration challenges compared to our adopted frameworks.
Remix ASSESS
Research its core philosophy emphasizing web platform standards (Request/Response, FormData) and its distinct approach to data loading and mutations, particularly nested routing. Build targeted PoCs to compare its patterns directly against Next.js for typical data-driven application use cases.
Positions itself as a strong alternative/competitor to Next.js, focusing heavily on web fundamentals which could lead to robust and performant applications. We need to assess its practical advantages, potential disadvantages (e.g., different caching strategies), developer experience, and the learning curve for our teams accustomed to Next.js patterns.
Spring Boot 3.x ASSESS
As the latest major release, Spring Boot 3 requires Java 17 and offers significant improvements in performance, observability, and support for GraalVM native images. We are assessing the migration path from 2.x to understand its benefits and prepare our applications for the future.
AngularJS HOLD
Avoid for all new development initiatives without exception. Existing AngularJS applications must have active and prioritized migration plans. Only critical security patches or essential maintenance should be performed on remaining instances.
This is the legacy (v1.x) framework which reached official End-of-Life (EOL) in December 2021. It receives no updates, poses significant security risks, lacks modern web platform features, and hinders developer productivity compared to modern alternatives like Angular (v2+) or React. Migration away from AngularJS is a high priority.
Spring Boot 1.x HOLD
Spring Boot 1.x is end-of-life and no longer receives security updates. Its continued use is a significant risk. All remaining projects on this version should be prioritized for an immediate upgrade.