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
0
290
The modern web toolchain
Slides for my talk at the BASTA! Spring 2018 about the modern web toolchain
Fabian Gosebrink
February 21, 2018
Tweet
Share
More Decks by Fabian Gosebrink
See All by Fabian Gosebrink
Why State is the Most Important Part of Your Angular Application
fabiangosebrink
0
65
Angular testing made easy with Jest and Cypress
fabiangosebrink
0
99
Introducing state management into an application with NgRx
fabiangosebrink
0
160
Scalable architectures in Angular with Nx
fabiangosebrink
0
130
My Biggest Angular Mistakes and How To Avoid Them
fabiangosebrink
0
240
[iJS Munich] Better Angular Architectures with Libraries and Nx
fabiangosebrink
0
150
Mastering State Management in Angular with the NgRx Signal Store
fabiangosebrink
0
360
Angular Architectures with NgRx Stores & Effects
fabiangosebrink
0
110
Angular Testing made easy with Jest and Cypress
fabiangosebrink
0
110
Other Decks in Technology
See All in Technology
Introdução a Service Mesh usando o Istio
aeciopires
1
280
会社を支える Pythonという言語戦略 ~なぜPythonを主要言語にしているのか?~
curekoshimizu
1
270
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
8.9k
サイバーエージェント流クラウドコスト削減施策「みんなで金塊堀太郎」
kurochan
4
2.2k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
今この時代に技術とどう向き合うべきか
gree_tech
PRO
2
2.1k
MCP ✖️ Apps SDKを触ってみた
hisuzuya
0
270
映像エッジAIにおけるNode-RED活用事例
emirmatsui
0
130
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
14k
Implementing and Evaluating a High-Level Language with WasmGC and the Wasm Component Model: Scala’s Case
tanishiking
0
170
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
2
1.6k
事業開発におけるDify活用事例
kentarofujii
4
1.2k
Featured
See All Featured
Bash Introduction
62gerente
615
210k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
GitHub's CSS Performance
jonrohan
1032
470k
Speed Design
sergeychernyshev
32
1.2k
For a Future-Friendly Web
brad_frost
180
10k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Become a Pro
speakerdeck
PRO
29
5.6k
Building Adaptive Systems
keathley
44
2.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
880
KATA
mclloyd
PRO
32
15k
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