Introduction to Aurelia by Stephen Lautier

22
Aurelia

Transcript of Introduction to Aurelia by Stephen Lautier

Page 1: Introduction to Aurelia by Stephen Lautier

Aurelia

Page 2: Introduction to Aurelia by Stephen Lautier

About me

Stephen Lautier

~9 years experience – mainly web + game development

Full Stack Developer – C#, TypeScript and Web <3

Microsoft Stack – ASP.NET, WPF

SPA Frameworks – Durandal, Angular and Aurelia

Unity3D

Currently working in Central Teams “Team Atomic” – Sportsbook as a Senior Frontend / Team Lead

Page 3: Introduction to Aurelia by Stephen Lautier

Agenda

Overview

What is Aurelia?

Community

Consulting + Training

Features

Demos

Walkthrough app + explain

Live samples

Page 4: Introduction to Aurelia by Stephen Lautier

Before we start…

Touching other Technologies

NodeJS/NPM (tooling)

Gulp – Task Runner

JSPM – Package Manage frontend (ala Bower)

SystemJS – Module Loader (ES6 Modules)

TypeScript 1.8.x (latest)

Machine Setup

Node v4 or higher

npm install –g typings gulp jspm

Using Visual Studio Code as my editor

Page 5: Introduction to Aurelia by Stephen Lautier

What is Aurelia?

MV* framework

Build on modern web - ES6/ES7

Similar framework as Angular

Formerly known as DuranalJS

Knockout as templating

Author - Rob Eisenberg

Caliburn/Caliburn Micro – WPF/Silverlight MVVM framework

Durandal

Worked on Angular2

Modular libraries

Http-client/http-fetch, dependency injection, animation, validation, i18n

UI Toolkits – kendo, bootstrap, materialize etc…

Can be used with other frameworks or even NodeJS

Project Status: Beta1 (RC soon!)

Page 6: Introduction to Aurelia by Stephen Lautier

Benefits

Clean and unobtrusive

Convention over Configuration

Integrates well with others

TypeScript Support

Page 7: Introduction to Aurelia by Stephen Lautier

Community

Gitter

Aurelia - 3178 people + 233.3k msgs

Angular1 - 3672 people + 15.3k msgs

Angular2 - 3842 people + 106.3k msgs

Contributors

Aurelia 300 unique contributors

Angular 2 over 100 contributors

*As of March 2016 - According to Rob Eisenberg

Good Documentation

Doc - http://aurelia.io/docs.html

Skeleton projects to help you get started

Open Source

Page 8: Introduction to Aurelia by Stephen Lautier

Commercial Support

Enterprise support

Durandal Inc.

Consulting

Expert Hiring

Training

Page 9: Introduction to Aurelia by Stephen Lautier

FeaturesSOME OF AURELIA FEATURES

Page 10: Introduction to Aurelia by Stephen Lautier

Templating / BindingsAurelia VS Aurelia

Aurelia

Angular

Page 11: Introduction to Aurelia by Stephen Lautier

Custom Attributes

Custom Attribute with Behavior e.g. route-href

Lifecycle hooks

valueChanged(newValue, oldValue) - callback

Page 12: Introduction to Aurelia by Stephen Lautier

Component Lifecycle hooks

constructor created bind attached detached unbind

Page 13: Introduction to Aurelia by Stephen Lautier

Simple Attribute Declaration + Use

Usage

Declaration

Page 14: Introduction to Aurelia by Stephen Lautier

Custom Elements

Custom Element e.g. checkbox

Lifecycle hooks - similar to Custom Attribute

Page 15: Introduction to Aurelia by Stephen Lautier

Element Declaration + Use

Declaration - ViewDeclaration – View-Model

Usage

Page 16: Introduction to Aurelia by Stephen Lautier

Value Converters

Value manipulation for formatting + converting back

Similar to “Filters” in Angular1 or “Pipes” in Angular2 e.g. date format

Similar to Value Converters within WPF :)

Declaration Usage

Page 17: Introduction to Aurelia by Stephen Lautier

Screen Activation Lifecycle

canActivate activate canDeactivate deactivate

Page 18: Introduction to Aurelia by Stephen Lautier

Demo Time

Page 19: Introduction to Aurelia by Stephen Lautier

Demos Recap

Dependency Injection

Templating/Bindings

Custom Element

Value Converter

Bootstrapping

Page 20: Introduction to Aurelia by Stephen Lautier

Resources

Demos - https://github.com/sketch7/ssv-au-dojo

Aurelia Docs - http://aurelia.io/docs.html

Cheat Sheet -http://aurelia.io/docs.html#/aurelia/framework/doc/article/cheat-sheet

Page 21: Introduction to Aurelia by Stephen Lautier

QA

Page 22: Introduction to Aurelia by Stephen Lautier

End.