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
AngularJS – Schmerzlos mit HTML5 und JavaScript
Search
Ingo Rammer
September 03, 2013
Programming
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AngularJS – Schmerzlos mit HTML5 und JavaScript
German Session from MobileTechConference 2013 in Berlin
Ingo Rammer
September 03, 2013
Transcript
21 slides
Ingo Rammer | thinktecture AngularJS – Schmerzlos mit HTML5 und
JavaScript
Single-Page Applications (SPAs)
jQuery?
MVC/SPA Frameworks Model Binding Routing UI-Templating … unterschiedlichste Design-Ideen und
Implementationen
http://todomvc.com Sept 2013: 66 Versionen der gleichen App
sproutcore Google Trends – Aug 2009 bis Aug 2013
backbone.js sproutcore Google Trends – Aug 2009 bis Aug 2013
backbone.js ember.js sproutcore Google Trends – Aug 2009 bis Aug
2013
backbone.js knockoutjs ember.js sproutcore Google Trends – Aug 2009 bis
Aug 2013
backbone.js knockoutjs ember.js angularjs sproutcore Google Trends – Aug 2009
bis Aug 2013
AngularJS • http://angularjs.org/, v1.2RC1 • HTML-zentrische SPAs – ("HTML enhanced
for web apps!") • Komponenten aus JS + HTML • Einbettbar, DI-basierend, testbar • Corporate Sponsor: Google
Demos http://github.com/ingorammer/talk-AngularJS
Model Binding Allgemein • Je nach Framework – Controller-Initiiert (Templating,
jQuery, Handlebars/Mustache, ...) – Observer-Pattern (Ember, Knockout, ...) – Framework-Initiiert (Angular)
AngularJS: Controller • Business-Logik • Felder auf $scope sichtbar
in der View • KEINE DOM-Manipulationen im Controller!
AngularJS: Scope • Digest-Zyklus • $apply, um einen Zyklus auszulösen
– Directives, Services, Controller
AngularJS: Directives • Komponenten (HTML + JS) • Kapseln DOM-Manipulationen
• Bekommen Daten aus dem $scope • Applikationsspezifisch oder unabhängig (zB angular-UI) • Können existierende Bibliotheken kapseln
AngularJS: Services • Werden per Dependency Injection (DI) an Controller,
Directives und andere Services im Konstruktor übergeben • Allgemeine Logik, die nicht von einem einzelnen Use-Case abhängt (sonst: Controller) • Achtung bei Minification (array-syntax oder $inject)
AngularJS: Routing • $routeProvider in <module>.config – .when() – .otherwise()
Animation • Seit v1.2 • http://slid.es/gsklee/animation-in- angularjs-12
AngularJS • Struktur, die bis zu großen JS Apps skaliert
– Controller, $scope – DOM-Views, Model-Binding – Directives – Routing – Services – Promises • Keine DOM-Manipulationen im Controller! Meist Directives. Selten Services.
Demos: https://github.com/ingorammer/talk-AngularJS Slides: https://speakerdeck.com/ingorammer @ingorammer
[email protected]
http://www.thinktecture.com
More Decks by Ingo Rammer
See All by Ingo Rammer
Blockchain für Architekten und Entwickler – Was steckt wirklich dahinter
ingorammer
2
840
Workshop: Von Null auf Hundert - Blockchain-Anwendungen mit Hyperledger Fabric
ingorammer
0
690
Hyperledger Fabric - Die Open-Source Basis für Ihre Blockchain
ingorammer
0
740
Coding Hyperledger Fabric – Smart Contracts und Clients mit Node.js
ingorammer
0
750
OOP 2019: Hyperledger Fabric – Architecture and Smart Contracts of the Open Source Blockchain
ingorammer
1
810
Hyperledger Fabric - Die Open-Source Basis für Ihre Blockchain
ingorammer
0
420
Blockchain - Was steckt wirklich dahinter?
ingorammer
0
260
From 0 to 100: Permissioned blockchains with Hyperledger Fabric and Node
ingorammer
0
280
Von Null auf Hundert: Permissioned Blockchain-Anwendungen mit Java Clients
ingorammer
0
190
Other Decks in Programming
See All in Programming
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
740
AmebaブログはKMPから卒業します
kmars0605
0
340
複数ドメインを一つのアプリに統合するFlutterの設計と運用_FlutterKaigi2026登壇資料(須永高弘)
takahirosunaga
0
170
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
330
Distance field of Julia set
kinakomoti321
0
320
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
2.3k
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.8k
React Native経験者が Flutterを30⽇間触って驚いたこと
3saito
0
170
Next.js: The final boss of Web Performance
guaca
0
400
Performance Optimization With LLMs
xleitix
0
250
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
420
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
330
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1.1k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.5k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Crafting Experiences
bethany
1
430
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Mind Mapping
helmedeiros
1
440
Building an army of robots
kneath
307
47k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
580
Heart Work Chapter 1 - Part 1
lfama
PRO
11
37k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.4k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.8k