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
The modern web toolchain
Search
Fabian Gosebrink
February 21, 2018
Technology
300
0
Share
The modern web toolchain
Slides for my talk at the BASTA! Spring 2018 about the modern web toolchain
Fabian Gosebrink
February 21, 2018
More Decks by Fabian Gosebrink
See All by Fabian Gosebrink
NgRx Signal Store - A Deeper Dive
fabiangosebrink
0
34
Modern Angular Apps in 2026
fabiangosebrink
0
41
Why State is the Most Important Part of Your Angular Application
fabiangosebrink
0
100
Angular testing made easy with Jest and Cypress
fabiangosebrink
0
140
Introducing state management into an application with NgRx
fabiangosebrink
0
220
Scalable architectures in Angular with Nx
fabiangosebrink
0
180
My Biggest Angular Mistakes and How To Avoid Them
fabiangosebrink
0
290
[iJS Munich] Better Angular Architectures with Libraries and Nx
fabiangosebrink
0
180
Mastering State Management in Angular with the NgRx Signal Store
fabiangosebrink
0
450
Other Decks in Technology
See All in Technology
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
130
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
11
6.9k
SaaSに宿る21g
kanyamaguc
2
180
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
3
2k
SaaSの操作主体は人間からAIへ - 経理AIエージェントが目指す深い自動化
nishihira
0
130
Network Firewall Proxyで 自前プロキシを消し去ることができるのか
gusandayo
0
140
非同期・イベント駆動処理の分散トレーシングの繋げ方
ichikawaken
1
250
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
470
The essence of decision-making lies in primary data
kaminashi
0
190
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
540
MIX AUDIO EN BROADCAST
ralpherick
0
140
PostgreSQL 18のNOT ENFORCEDな制約とDEFERRABLEの関係
yahonda
0
150
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.2k
HDC tutorial
michielstock
1
590
The SEO Collaboration Effect
kristinabergwall1
0
410
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
KATA
mclloyd
PRO
35
15k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
From π to Pie charts
rasagy
0
160
What's in a price? How to price your products and services
michaelherold
247
13k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
330
Odyssey Design
rkendrick25
PRO
2
560
Transcript
@FabianGosebrink
@FabianGosebrink
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
> npm install <myPackage>
> npm install <myPackage> -g
None
None
> npm install rimraf -g
> rimraf node_modules
None
None
None
> yarn add ...
None
None
None
None
None
None
None
None
ES5 ES6 TS
> npm install typescript
> tsc myTypescriptFile.ts
None
{ "compileOnSave": false, "compilerOptions": { "outDir": "./dist/out-tsc", "baseUrl": "src", "sourceMap":
true, "declaration": false, "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, "target": "es5", "typeRoots": [ "node_modules/@types" ], "lib": [ "es2016", "dom" ] } }
None
None
Rx.Observable .interval(1000) .take(4);
Rx.Observable .fromEvent(document, 'mousemove') .pipe( map(event => event.clientX), throttleTime(300));
Rx.Observable .fromEvent(input, 'keydown') .pipe(map(e => e.key), filter(key => key !==
' '));
None
Component Services
Component
Store Component
Store Component store.select(…)
Store Component Reducer store.select(…) store.dispatch(…)
Store Component Reducer store.select(…) store.dispatch(…)
Store Component Reducer store.select(…) store.dispatch(…) Effects Services
None
Root Child Child GrandChild GrandChild
None
None
None
SystemJS
None
None
// import the entire utils object with CommonJS var utils
= require('utils’); var query = 'test'; utils.ajax('https://api.example.com?search=' + query) .then(handleResponse);
// import the ajax function with an ES6 import statement
import { ajax } from 'utils'; var query = 'test‘; // call the ajax function ajax('https://api.example.com?search=' + query ) .then(handleResponse);
None
None
None
None
> npm install webpack-dev-server --save-dev
None
Root Child Child GrandChild GrandChild
None
None
None
None
None
None
None
Protractor Jasmine Karma
Behaviour Driven Development Fast
Test runner Spawns browser & runs tests Also on CommandLine
None
None
End-to-end test framework Runs in a real browser Test like
a user
None
None
None
None
None
None
None
None
https://offering.solutions http://angular-academy.ch https://swissangular.com @FabianGosebrink