# aurelia/framework

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/aurelia-framework).**

11,678 stars · 608 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/aurelia/framework
- awesome-repositories: https://awesome-repositories.com/repository/aurelia-framework.md

## Topics

`aurelia-framework` `cross-platform` `framework` `html` `javascript` `mobile` `single-page-applications` `spa` `typescript` `web`

## Description

Aurelia is a JavaScript web framework and component-based UI system used to build applications for browser, mobile, and desktop environments. It functions as a frontend application orchestrator and data binding library that synchronizes application state with the view to render dynamic content and process user input.

The framework implements a component architecture that pairs logic classes with HTML templates to create reusable visual elements. It utilizes a dependency injection container to manage object lifecycles and a modular composition model that aggregates independent functional packages into a single entry point.

The system manages the client-side user interface through observation-based data binding and template-driven DOM manipulation. It integrates components as custom elements to maintain compatibility with the native browser DOM hierarchy.

## Tags

### Web Development

- [Client-Side Frameworks](https://awesome-repositories.com/f/web-development/client-side-frameworks.md) — Functions as a client-side framework for managing dynamic state and UI components in the browser.
- [JavaScript SPA Frameworks](https://awesome-repositories.com/f/web-development/javascript-spa-frameworks.md) — Provides a JavaScript-based toolkit for building single-page applications with an integrated component system.
- [Web Application Frameworks](https://awesome-repositories.com/f/web-development/web-application-frameworks.md) — Provides a comprehensive platform for building scalable web applications across browser, mobile, and desktop environments. ([source](https://github.com/aurelia/framework/blob/master/README.md))
- [Observation-Based Rendering](https://awesome-repositories.com/f/web-development/web-components/component-based-rendering-engines/observation-based-rendering.md) — Uses observation-based data binding to automatically update DOM elements when model properties change.
- [Framework Lifecycle Orchestrators](https://awesome-repositories.com/f/web-development/vue-development/application-orchestrators/framework-lifecycle-orchestrators.md) — Serves as a central entry point that integrates multiple sub-modules to manage the overall lifecycle of the application.
- [Custom Elements](https://awesome-repositories.com/f/web-development/web-standards/custom-elements.md) — Wraps framework components as standard web components to maintain compatibility with the native browser DOM hierarchy.

### Part of an Awesome List

- [Runtime Template Parsing](https://awesome-repositories.com/f/awesome-lists/devtools/templating-and-views/runtime-template-parsing.md) — Parses HTML templates at runtime to create a living connection between view elements and the underlying view model state.

### User Interface & Experience

- [Class-Based Components](https://awesome-repositories.com/f/user-interface-experience/class-based-components.md) — Implements a component architecture that pairs standard JavaScript classes with HTML templates for reusable UI building blocks.
- [Component Architectures](https://awesome-repositories.com/f/user-interface-experience/component-architectures.md) — Provides a structural pattern for building user interfaces from modular, reusable building blocks.
- [Component-Based UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/component-based-ui-frameworks.md) — Employs a modular architecture where logic classes and HTML templates are paired to create reusable UI elements. ([source](https://github.com/aurelia/framework/blob/master/README.md))
- [Data Binding](https://awesome-repositories.com/f/user-interface-experience/data-binding.md) — Synchronizes application state with the view using a binding syntax to render dynamic content. ([source](https://github.com/aurelia/framework/blob/master/README.md))
- [Dynamic UI Binding](https://awesome-repositories.com/f/user-interface-experience/dynamic-ui-binding.md) — Synchronizes application state with the view in real time to render dynamic content and process user input.

### Software Engineering & Architecture

- [Web Applications](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/reference-apps-and-blueprints/web-applications.md) — Enables the creation of software executable within a web browser for mobile and desktop environments.
- [Dependency Injection Containers](https://awesome-repositories.com/f/software-engineering-architecture/dependency-injection-containers.md) — Provides a dependency injection container to manage object lifecycles and decouple logic from implementation.
- [Modular Framework Compositions](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/modular-framework-compositions.md) — Aggregates independent functional packages into a single framework entry point for flexible feature selection.
