Skip to content

The Aurelia 1 framework entry point, bringing together all the required sub-modules of Aurelia.

License

Notifications You must be signed in to change notification settings

aurelia/framework

Repository files navigation

Aurelia

License: MIT npm Version ci Discourse status Twitter Discord Chat

aurelia-framework

Aurelia is a modern, front-end JavaScript framework for building browser, mobile, and desktop applications. It focuses on aligning closely with web platform specifications, using convention over configuration, and having minimal framework intrusion. Basically, we want you to just write your code without the framework getting in your way. 😉

This library is part of the Aurelia platform. It contains the aurelia-framework library, which brings together all the required core aurelia libraries into a ready-to-go application-building platform.

Aurelia applications are built by composing a series of simple components. By convention, components are made up of a vanilla JavaScript or Typescript class, with a corresponding HTML template.

//app.js
export class App {
  welcome = "Welcome to Aurelia";

  quests = [
    "To seek the holy grail",
    "To take the ring to Mordor",
    "To rescue princess Leia"
  ];
}
<!-- app.html -->
<template>
  <form>
    <label for="name-field">What is your name?</label>
    <input id="name-field" value.bind="name & debounce:500">

    <label for="quest-field">What is your quest?</label>
    <select id="quest-field" value.bind="quest">
      <option></option>
      <option repeat.for="q of quests">${q}</option>
    </select>
  </form>

  <p if.bind="name">${welcome}, ${name}!</p>
  <p if.bind="quest">Now set forth ${quest.toLowerCase()}!</p>
</template>

Check out the interactive version of this example on Code Sandbox.

This example shows you some of the powerful features of the aurelia binding syntax. To see further examples, online playgrounds, guides, and detailed API documentation, head on over to aurelia.io.

Feeling excited? To quickly get started building your project with aurelia, you can use the aurelia CLI.

Documentation

You can read the documentation for the aurelia framework here. It's divided into the following sections:

  • Overview : Discover what Aurelia is along with its business and technical advantages.
  • Tutorials : Step-by-step tutorials teaching you how to build your first Aurelia applications.
  • Fundamentals : After you've completed the quick starts, learn more about Aurelia's app model, components, dependency injection and more.
  • Binding: Learn all about Aurelia's powerful, reactive binding engine.
  • Templating: Learn all about Aurelia's powerful templating engine.
  • Routing: Learn how to setup and configure Aurelia's router.
  • Plugins: Learn about Aurelia's officially supported plugins and how to use them, including validation, i18n, http, dialog and state management.
  • Integration: Learn how to integrate Aurelia with various other libraries and frameworks.
  • Testing: Learn all about testing Aurelia apps, including component testing and e2e testing.
  • Server Side Rendering: Learn about Server Side Rendering with Aurelia and how to configure your project.
  • CLI: Learn how to create, build, bundle and test your apps using all your favorite tools, facilitated by the Aurelia CLI.
  • Build Systems: Learn how to use Webpack or JSPM directly for building apps without the Aurelia CLI.

You can improve the documentation by contributing to this repository.

Staying Up-to-Date

To keep up to date on Aurelia, please visit and subscribe to the official blog and our email list. We also invite you to follow us on twitter.

Questions

If you have questions, join us in our dedicated discourse forum or submit questions on stack overflow.

Contributing

We'd love for you to contribute and help make Aurelia even better than it is today! You can start by checking out our contributing guide, which has everything you need to get up and running.

License

Aurelia is MIT licensed. You can find out more and read the license document here.