Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Make frontend development radical with Angular
Search
Ian Duncan
May 31, 2013
Programming
220
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Make frontend development radical with Angular
Ian Duncan
May 31, 2013
More Decks by Ian Duncan
See All by Ian Duncan
OAuth at Logos
iand675
3
150
Other Decks in Programming
See All in Programming
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
160
ふつうのFeature Flag実践入門
irof
8
4.2k
スマートグラスで並列バイブコーディング
hyshu
0
260
Lessons from Spec-Driven Development
simas
PRO
0
220
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
610
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
230
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
280
Oxlintのカスタムルールの現況
syumai
6
1.1k
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
7.8k
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
220
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
300
Claspは野良GASの夢をみるか
takter00
0
210
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
370
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
340
Claude Code のすすめ
schroneko
67
230k
A Tale of Four Properties
chriscoyier
163
24k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Making Projects Easy
brettharned
120
6.7k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
260
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
330
Joys of Absence: A Defence of Solitary Play
codingconduct
1
400
The World Runs on Bad Software
bkeepers
PRO
72
12k
Abbi's Birthday
coloredviolet
3
8.2k
Transcript
ANGULAR MAKE FRONTEND DEVELOPMENT RADICAL WITH
I’M IAN
I’M IAN I BUILD FAITHLIFE
I’M IAN I BUILD FAITHLIFE I LIKE STUFF RADICAL
THINGS THAT ARE RADICAL: Fewer Bugs Less Code Fast Development
WHAT ANGULAR OFFERS: Routing Data Binding Controllers Dependency Injection Form
Validation Reusable HTML Components
WHAT ANGULAR OFFERS: Some other stuff too.
OK, that’s a lot to cover in one talk.
IN A NUTSHELL It’s a frontend JavaScript framework for building
testable, manageable code.
The good thing about Javascript: it’s really flexible. The bad
thing about Javascript: it’s really flexible.
None
Manually manipulating the DOM is like assembly programming
None
We’ve solved this problem before.
Why not MVC? Model View Controller
Model (Plain old Javascript object) View (HTML) Controller (JavaScript)
Controller
Controller
$scope exposes data/ functions to views
View
Surprise! It’s just HTML5.
Models really are just plain old JavaScript objects.
Where’s the magic?
Dependency injection + Two-way data binding
Dependency injection Specify dependency sources, Angular wires them up for
you.
Dependency injection Angular inspects function argument names to look for
the value to inject.
Dependency injection
Two-way data binding Values in $scope are exposed to both
the controller and the view.
Two-way data binding Modifications from one propagate to the other.
Two-way data binding Scopes are inherited
Two-way data binding Scopes trigger updates when observed values change
Two-way data binding
Directives
Directives Add behavior to HTML with classes, new elements, &
new attributes.
Directives Inspired by W3C’s Web Components working drafts.
Directives One of Angular’s killer features.
“Gee, I wish HTML could...” Support dropdown menus Have syntax-highlighted
text editing Have relative timestamps
Now it does! <sharks-with-lasers />
Directives The only place you should ever need to write
a line of code that manipulates the DOM
Testing Dependency injection makes that a lot easier. Separation of
concerns is the key!
Testing Run unit tests and integration tests across multiple browsers.
Angular has a ridiculously fast test runner, Karma.
Testing Built in mocks for common test scenarios: AJAX requests
Dates Logging
Testing Built in end-to-end testing support
Not covered in this talk: Internationalization & localization Filters Partial
templates CSS3 animation & transitions
QUESTIONS?