Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Getting Started with Angular 2 - UX Dev Summit ...
Search
Jeremy Wilken
February 13, 2016
Technology
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Getting Started with Angular 2 - UX Dev Summit 2016
Get to know Angular 2 from a practical and full featured example!
Jeremy Wilken
February 13, 2016
More Decks by Jeremy Wilken
See All by Jeremy Wilken
Voice Activated UI - Devfest DC 2017
gnomeontherun
0
92
Voice Activated UI - ngconf 2017
gnomeontherun
0
330
Understanding Angular 1.5 Components
gnomeontherun
2
230
Angular 2 with TypeScript and ES6 - Fluent Conf 2016
gnomeontherun
2
170
Ionic, the Missing SDK
gnomeontherun
0
120
Angular 2, Building a Complete App With Typescript
gnomeontherun
1
260
Other Decks in Technology
See All in Technology
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
400
How to Design Configuration for Rails Applications
willnet
1
1.1k
From Developer Experience to Agentic Experience: The Next Evolution of APIs
benjagm
0
110
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
390
アカウント統制の健康診断
kenichinakamura
1
150
局所最適は悪ではない。壊れているのは指標です。量と質を同時に見る先行指標の設計
recruitengineers
PRO
2
660
「私が一番顧客に詳しい」を捨てる~ 全員が一次情報に精通する開発チームをつくり、PMが次のボトルネックへ染み出すまで
kaminashi
3
1.7k
Turning Repos into the Product Second Brain with an LLM Wiki
linedevth
0
140
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
150
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
200
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
3
1k
Optunaの最新リリースv5.0について
pfn
PRO
0
140
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Done Done
chrislema
187
17k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
The Invisible Side of Design
smashingmag
301
52k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
420
Making the Leap to Tech Lead
cromwellryan
135
10k
Typedesign – Prime Four
hannesfritz
42
3.2k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Building AI with AI
inesmontani
PRO
1
1.3k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Transcript
GETTING STARTED WITH ANGULAR 2 UXDSummit Feb 5, 2016 Jeremy
Wilken @gnomeontherun
INTRODUCTION Self Declared “Experience Engineer” at Teradata Lives in Austin,
TX Author of Ionic in Action, Angular 2 in Action Certified Beer Judge and Homebrewer
None
ES6 IN A NUTSHELL • New features: classes, modules, promises,
arrows, generators, and more. • Additive only, doesn’t remove existing features. • Most features can be transpiled to current ES5.
TYPESCRIPT IN A NUTSHELL • Transpiler to compile down to
ES6/5/3. • Adds strict typings to variables. • Only extends JavaScript syntax.
ES6/TYPESCRIPT PRIMER const stocks = ['AAPL', 'GOOG', 'FB', 'AMZN']; ES6
const keyword
ES6/TYPESCRIPT PRIMER let name = 'Jeremy'; let template = `
<h1>Template by ${name}</h1> <p>I can write markup without escaping and write on multiple lines!</p> `; ES6 inline multiline template strings
ES6/TYPESCRIPT PRIMER let stocks = ['aapl', 'goog', 'fb', 'amzn']; class
Dashboard { constructor() { stocks.forEach(stock => { this.add(stock.toUpperCase()); }); } add(stock) { this.stocks.push(stock); } } ES6 arrow functions
ES6/TYPESCRIPT PRIMER class Dashboard { constructor(service) { this.symbols = service.get();
} reset() { this.symbols = []; } } ES6 classes
ES6/TYPESCRIPT PRIMER import {service} from './service'; export class Dashboard {
constructor() { this.symbols = service.get(); } } ES6 modules
ES6/TYPESCRIPT PRIMER @Component({ selector: 'app' }) export class App {
} ES7 decorators
ES6/TYPESCRIPT PRIMER interface StockInterface { symbol: string, lastTradePriceOnly: number, change:
number, changeInPercent: number } let stocks: Array<StockInterface> = []; Typescript interfaces and type declarations
CODE TIME https://github.com/gnomeontherun/ angular2-uxdsummit
THE BASE Uses a node module lite-server as local server.
Files are transpiled with TypeScript.
Build & Server
THE APP COMPONENT Creating the app component, and bootstrapping it
Build & Server App Component index.html
THE STOCK SERVICE Creating a reusable service to manage stocks
collection
Build & Server App Component index.html Stock Service
THE SUMMARY COMPONENT Using directives, types, and bindings
Build & Server App Component index.html Stock Service Summary Component
THE DASHBOARD COMPONENT Loading data, using services, and importing components.
Build & Server App Component index.html Stock Service Summary Component
Dashboard Component
LET’S REVIEW Basic scaffolding to build and serve the app
App component is bootstraped to start rendering Services are used to load and manage data Simple components are nested to create larger features Pipes and directives manipulate rendered data
THANK YOU! Jeremy Wilken @gnomeontherun http://manning.com/books/angular-2-in-action