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
A DIY Guide To Building Your Own Rendering Engi...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Francesco Strazzullo
May 09, 2019
Programming
0
450
A DIY Guide To Building Your Own Rendering Engine - JsDay Verona 2019
Francesco Strazzullo
May 09, 2019
Tweet
Share
More Decks by Francesco Strazzullo
See All by Francesco Strazzullo
Strategic Testing Decisions - Build Stuff 2021
francescostrazzullo
0
98
Contract-Driven_Development.pdf
francescostrazzullo
0
620
Domain-Driven Frontend
francescostrazzullo
0
2k
Strategic Testing Decisions
francescostrazzullo
0
370
A DIY Guide To Building Your Own Rendering Engine - CityJS2021
francescostrazzullo
2
120
Technical Decision-making Anti-patterns - Avanscoperta Meetup 2021
francescostrazzullo
0
440
How to Choose Your Next Technology Stack
francescostrazzullo
0
1.6k
The Definition of Framework
francescostrazzullo
1
1.6k
How to Choose Your Next Technology Stack
francescostrazzullo
1
280
Other Decks in Programming
See All in Programming
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
570
へんな働き方
yusukebe
6
2.9k
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
280
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
270
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
570
Feature Toggle は捨てやすく使おう
gennei
0
380
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
160
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
4.8k
Rethinking API Platform Filters
vinceamstoutz
0
2.7k
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
240
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
290
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
We Are The Robots
honzajavorek
0
200
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
100
Mind Mapping
helmedeiros
PRO
1
130
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
30 Presentation Tips
portentint
PRO
1
260
New Earth Scene 8
popppiees
2
1.9k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Documentation Writing (for coders)
carmenintech
77
5.3k
Transcript
A DIY Guide To Building Your Own Rendering Engine
Francesco Strazzullo (AKA Strazz) @TheStrazz86 (Follow me on Twitter!) Ego
Slide
WE DEVELOP DIGITAL PROJECT TOGETHER WITH YOU.
Start With Why
Why should you learn to build a Rendering Engine?
Let me tell you a story...
None
Some years ago, we had to create a new front-end
application on top of an old Java Framework...
None
We couldn’t add new dependencies...
None
The only available libraries were jQuery and underscore
None
We delivered the project, but our team was unhappy
Photo by George Bonev on Unsplash
Microwave spaghetti bolognese by BBC Food
We panicked
“Never Manipulate the DOM” Every JavaScript Developer
Manipulating DOM is hard
None
Manipulating DOM is important for a frontend developer
We should be able to “own” rendering code
None
Principles
Choose a simple Architecture
None
YAGNI (You aren't gonna need it)
“Premature optimization is the root of all evil” Donald Knuth
Performance is UX
None
stats.js http://mrdoob.github.io/stats.js/
None
Eat The Frog
https://github.com/francesco-strazzullo/jdsay-talk-2019
What's next?
Event Handlers
Web Components
What I learned
Manipulating DOM is (not so) hard
A custom Rendering Engine can live in harmony with frameworks
It’s not a black or white solution
How to decide if it’s a good solution?
To be continued... https://medium.com/@TheStrazz86/framework-compass-chart-d3851c25b45d
One last thing...
https://www.apress.com/it/book/9781484249666
http://frameworklessmovement.org/
Thanks! Francesco Strazzullo
[email protected]