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
AngularJS & REST/WebAPI (with X-Platform Develo...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Fabian Gosebrink
January 13, 2016
Programming
84
0
Share
AngularJS & REST/WebAPI (with X-Platform Development)
Noser Kick-Off 2016
Fabian Gosebrink
January 13, 2016
More Decks by Fabian Gosebrink
See All by Fabian Gosebrink
Advanced Signal Store: Structuring State for Real Angular Applications
fabiangosebrink
0
72
NgRx Signal Store - A Deeper Dive
fabiangosebrink
0
49
Modern Angular Apps in 2026
fabiangosebrink
0
86
Why State is the Most Important Part of Your Angular Application
fabiangosebrink
0
120
Angular testing made easy with Jest and Cypress
fabiangosebrink
0
160
Introducing state management into an application with NgRx
fabiangosebrink
0
240
Scalable architectures in Angular with Nx
fabiangosebrink
0
210
My Biggest Angular Mistakes and How To Avoid Them
fabiangosebrink
0
320
[iJS Munich] Better Angular Architectures with Libraries and Nx
fabiangosebrink
0
210
Other Decks in Programming
See All in Programming
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
240
Modding RubyKaigi for Myself
yui_knk
0
860
Moments When Things Go Wrong
aurimas
3
140
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
160
[KCD Czech] eBPF Meets the GPU: Future of AI Infra Observability
doniacld
0
130
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
180
OSもどきOS
arkw
0
380
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
120
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
310
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
7
1.3k
TAKTでAI駆動開発の品質を設計する
j5ik2o
4
260
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
1
390
Technical Leadership for Architectural Decision Making
baasie
3
390
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
180
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
22k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
200
74k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
170
Transcript
AngularJS und REST / WebAPI Fabian Gosebrink @FabianGosebrink
„Gerne nehme ich an künftigen Veranstaltungen teil. Essen hätte etwas
exklusiver ausfallen können: Champagner-Empfang, Wachteleier, Kaviarhappen, Entrecôte, Mousse-au-Chocolat, etc.“ - unbekannt -
Ich
None
None
None
None
Starke Server
Starke Clients
None
REST
REST ist nicht WebAPI
GET /api/house/ GET /api/house/1 POST /api/house/ PUT /api/house/1 DELETE /api/house/1
None
None
None
Statuscodes
2xx = Gut!
4xx = Schlecht
5xx = Ganz schlecht!
Paging
http://.../api/house?page=2&pageSize=2 http://.../api/house?$top=10&$skip=20
Sorting
http://.../api/house?$orderby=Id desc http://.../api/house?sort=Id
Filtering
http://.../api/house?$filter=Street eq 'Street1‘ http://.../api/house?q=Street1
Datashaping
http://.../api/house/1?$select=Street, Id http://.../api/house/1?fields=Street,Id
Demo
Demo
ASP.NET MVC
Er so: “Mit jQuery kannst du alles machen!” Ich so:
“Ja, ausser Architektur…”
None
Client leichtgewichtige Architektur
Modularität
Single Page Application Framework
MV-*
Model Binding
Routing
UI-Templates
Javascript HTML
Setup
HTML + «ng»-Attributes = View
ng-app definiert Applikation ng-view für Templating
None
None
$scope
{{…}} ng-bind
Controller
None
None
Services
None
Service 31 Application Service 1 Service 2 Controller 1 Service
4 Repository 1 Controller 2 Repository 2 Service 1 Service… Controller…
A p p l i cati on Module 1 Controller
1 Repository 1 Service 1 Module n Controller n Repository n Service n Module 2 Controller 2 Repository 2 Service 2
AngularJS 2.0
None
Signal R
Demo
None
Architektur auf dem Client
WebApi
SignalR
Cross Platform
Demo
Write Good Code
@FabianGosebrink github.com/FabianGosebrink