Skip to content

Docs: Where does Aura fit into the MV* framework workflow? #223

Closed
@addyosmani

Description

@addyosmani

Soo, we get asked this question regularly when speaking to devs and feel we should do a good job of documenting a succinct answer to it.

This thread is to capture the reasons an MV* framework user should use us.

  • Aura is a glue layer, making it easy to tie together widgets or blocks of functionality developed independently into a working application - imagine creating an Instagram app by re-using the commenting, login, sharing widgets you've used on other projects.
  • Supports a widget-source, meaning you can specify end-points for easily pulling down widgets using data-attributes. Minimal JavaScript for more capabilities.
  • It encourages decoupling by way of treating each block of UI on the page as a widget
  • It makes it trivial to abstract away utility libraries you are using (templating, DOM manipulation) so that you can swap them out for alternatives at any time without a great deal of effort
  • The web platform is moving towards using scoped styles and shadow DOM for keeping parts of your page safe from third-party content that might affect it. Aura does the same for communications by introducing per-widget sandboxes for your events
  • It provides an advanced Pub/Sub event bus for application and widget-level communications, useful whether your MVC framework of choice supports this or not
  • First class support for Bower as a package manager
  • Tooling for scaffolding out new widgets without having to write as much boilerplate
  • Can be used with your MVC framework of choice - we're just there as a helper.
  • First-class support for the Hull.io platform. If you don't want to create a widget yourself, you can easily use them as a widget-source and create apps in less time.

Feel free to improve on or add to this list.

cc @sbellity @atesgoral @dustinboston @pyramation @sindresorhus etc :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions