Created
May 26, 2016 10:59
-
-
Save fragsalat/adf50a1f1750cba04e71cd89b3d74ccc to your computer and use it in GitHub Desktop.
This document will be used to introduce the framework 'Aurelia' to a company or tech department.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
================== | |
Aurelia | |
================== | |
Aurelia is a next generation UI framework based on newest ECMAScript 6/7 specs. | |
With these framework you can create SPA (single page applications) which are highly maintainable, testable and extensible. | |
It follows the convention over configuration paradigm but provides the ability to customize everything to your needs. | |
Existing experience | |
------------------- | |
Because of the convention over configuration paradigm the learning curve is really good and you write less and cleaner code. | |
Therefore the application is better maintainable and the migration to other frameworks seems to be easier. | |
Aurelia is, as far as I know and tested, the best performing framework in terms of re-rendering speed, cpu and memory consumption. (dbmonster tests in links section) | |
This frameworks is highly modular written and puts each module into a own package, which lets you exchange or extend every component if required. | |
You even can use React or Angular 2 directives within the Aurelia templates by using existing plugins. | |
Aurelia suggests the MVVM architecture pattern which can be changed by providing a other ViewStrategy to create your own architecture. | |
By default aurelia has no 3rdParty dependencies and is conform to modern web standards. | |
Because the framework is new, the community is not that big like on angular 1 or react but is growing. | |
They have a gitter channel which is more active than any angular or react channel where you can get support within few minutes. | |
Aurelia is backed by Durandal Inc. company and offers a commercial support. | |
They want to build with Aurelia a isomorphic framework by abstracting required parts like DOM, logging and history with modules like the "page abstraction layer". | |
Since a month they have a weekly release cycle to publish bug fixes and improvements. | |
The framework is currently in late beta phase and in preparation for release candidate. | |
Aurelia provides with a starter kit which covers samples using ECMAScript 2016, Typescript, asp.net5 and webpack. | |
These starter kits comes with sample unit tests using jasmine + karma, end 2 end tests using protractor and finished build, test and package process using gulp. | |
As far as I know Microsoft is working on a wizard to create Aurelia projects in Visual Studio with asp.net. | |
Also there are already 2 Curses available on Pluralsight. | |
When to use | |
----------- | |
I would recommend Aurelia if: | |
- you plan to build a web application which consists of more than one page. | |
- you want to have freedom without having additional work for planning and implementation of architecture or other things like on React. | |
- you want to create an application following and using newest technologies by still supporting many browsers (up to IE9). | |
- you build an high performance application with many elements and heavy rendering for instance for big data. | |
Pros | |
---- | |
* highly extensible via the plugin/feature implementation, available lifecycle hooks and modular architecture | |
* most performing framework on market (better than react or angular 2) | |
* the only framework with commercial support | |
* no 3rdParty dependencies | |
* modern web standard conform | |
* framework with cleanest, most intuitive and fewest code because of convention over configuration paradigm | |
* newest es6 features because of babel | |
* small sized framework | |
* highly active gitter channel | |
* Aurelia targets a isomorphic framework by abstracting platform components | |
Cons | |
---- | |
* No (big) official known websites using Aurelia | |
* Still relatively small community | |
* Gitter channel is bad for google research (they plan to build a forum) | |
Licensing | |
--------- | |
MIT License with Copyright to Durandal Inc. | |
https://github.com/aurelia/framework/blob/master/LICENSE | |
Links | |
----- | |
Website: http://aurelia.io/ | |
Repository: https://github.com/aurelia | |
Team: https://github.com/orgs/aurelia/people | |
Aurelia core modules: https://github.com/aurelia/registry/blob/master/core-registry.json | |
Aurelia plugins: https://github.com/aurelia/registry/blob/master/plugin-registry.json | |
Aurelia advantages: http://aurelia.io/docs.html#/aurelia/framework/1.0.0-beta.1.2.4/doc/article/what-is-aurelia | |
Courses on pluralsight: | |
https://app.pluralsight.com/library/courses/aurelia-fundamentals/table-of-contents | |
https://app.pluralsight.com/library/courses/building-applications-aurelia/table-of-contents | |
Aurelia apps in production: | |
http://elee.menu/ | |
https://gist.run/ | |
Performance comparison using dbmonster: | |
Angular1: http://mathieuancelin.github.io/js-repaint-perfs/angular/opt.html | |
Angular2: http://mathieuancelin.github.io/js-repaint-perfs/angular2/ | |
React: http://mathieuancelin.github.io/js-repaint-perfs/react/ | |
Aurelia: http://jdanyow.github.io/aurelia-dbmonster/ | |
Aurelia + Virtualisation: http://martingust.github.io/aurelia-dbmonster/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
You got a typo: [...]'2 Curses available'[...].