18
Angular 2 GETTING STARTED

Angular2 getting started by Stephen Lautier

Embed Size (px)

Citation preview

Page 1: Angular2 getting started by Stephen Lautier

Angular 2GETTING STARTED

Page 2: Angular2 getting started 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: Angular2 getting started by Stephen Lautier

Agenda

Overview of Angular 2 Features Demos – Build/Explain

Page 4: Angular2 getting started 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.7.x (latest)

Page 5: Angular2 getting started by Stephen Lautier

Overview

Project Status: beta (2.0.0-beta.1) Rewritten from the ground up

Fast Mobile

TypeScript in mind Also JS (ES2015/ES6) and Dart

Modern Web ES6 modules, Annotations (es7) Doesn’t work only in browers

Electron – Windows, Mac and Linux NativeScript – IOS and Android

Server-side rendering

Page 6: Angular2 getting started by Stephen Lautier

FeaturesSOME OF ANGULAR 2 FEATURES

Page 7: Angular2 getting started by Stephen Lautier

Input (Attributes)

Page 8: Angular2 getting started by Stephen Lautier

Output (Events/Callbacks)

Page 9: Angular2 getting started by Stephen Lautier

Attribute Directives

3 Types Components

Directives in angular1 UI Component (with template) e.g. Tabs

Structural Directives Change DOM by adding/removing elements e.g. NgFor, NgIf

Attribute Directives “attached behaviors” (without UI) Changes the appearance or behavior of element e.g. NgStyle

Page 10: Angular2 getting started by Stephen Lautier

Pipes

Transforms values

Page 11: Angular2 getting started by Stephen Lautier

Demo Time

Page 12: Angular2 getting started by Stephen Lautier

Actually before…

Machine Setup Node v4 or higher NPM install --save-dev tsd gulp jspm

Using Visual Studio Code as my editor

Page 13: Angular2 getting started by Stephen Lautier

Creating a hello world

Setup Project which is more “development ready” Gulp, JSPM, SystemJS, TypeScript

Bootsrapping Angular 2 Simple Binding and Two-way bindings Using an inbuild directive

Page 14: Angular2 getting started by Stephen Lautier

Simple navigation app

Routing Pages Services Dependency Injection

Page 15: Angular2 getting started by Stephen Lautier

Criticism

Getting started with a bit more fluff is not so easy Binding Syntax

Too many different symbols! Inconsistent

{{title}} - interpolation [hidden]=“title” – binding property one-way [(ngModel)]=“title” – two-way *ngFor – turns the li and content into a template

Page 16: Angular2 getting started by Stephen Lautier

Resources

Demos - https://github.com/stephenlautier/experimental Cheat Sheet - https://

angular.io/docs/ts/latest/guide/cheatsheet.html Batarangle - https://github.com/rangle/batarangle/ Angular-cli - https://github.com/angular/angular-cli TypeScript Compiler Options -

https://github.com/Microsoft/TypeScript/wiki/Compiler-Options

Page 17: Angular2 getting started by Stephen Lautier

QA

Page 18: Angular2 getting started by Stephen Lautier

End.

import { dispose } from “angular2/core”dispose();