Choosing the right web framework for your application front-end can be a challenging decision, especially with so many options available today. From popular JavaScript libraries like React and Vue to web component frameworks like Salesforce’s Lightning and Google’s Polymer, the variety of choices can be overwhelming. These frameworks provide powerful templating models that allow developers to create and customize reusable components, leveraging the flexibility of custom elements and the isolation offered by the JavaScript shadow DOM.
Despite the advantages, the adoption of web components has been slower compared to other HTML5 technologies. Several factors have contributed to this, such as inconsistent browser support and the prevalence of established JavaScript libraries that come with their own UI components. This slow uptake has led to complex page designs that often require selecting from multiple control libraries, resulting in larger downloads and slower page load times, which can hinder performance.
To address these challenges, Microsoft introduced FAST, its own web component framework, aimed at providing a standards-based toolkit for building component-based web front-ends. Launched last summer, FAST is designed to offer a simple, efficient, and flexible approach to building web applications. It follows the principle of adopting open web standards, ensuring that pages built with FAST render consistently across different browsers, including Edge, Chrome, Firefox, and Safari.
FAST’s development philosophy is “unopinionated,” meaning it doesn’t force developers into a specific framework or design pattern. Whether you’re using Vue, React, or ASP.NET, FAST integrates seamlessly with your existing tools. Developers can choose between Microsoft’s Fluent UI components or the base components provided by FAST, customizing them as needed. Furthermore, FAST allows you to integrate other web component libraries, such as Polymer, into your project, offering even greater flexibility and enabling developers to create streamlined, high-performance web applications without being locked into a single technology stack.