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
Francesco Strazzullo
May 09, 2019
Programming
470
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
A DIY Guide To Building Your Own Rendering Engine - JsDay Verona 2019
Francesco Strazzullo
May 09, 2019
More Decks by Francesco Strazzullo
See All by Francesco Strazzullo
Strategic Testing Decisions - Build Stuff 2021
francescostrazzullo
0
100
Contract-Driven_Development.pdf
francescostrazzullo
0
630
Domain-Driven Frontend
francescostrazzullo
0
2k
Strategic Testing Decisions
francescostrazzullo
0
380
A DIY Guide To Building Your Own Rendering Engine - CityJS2021
francescostrazzullo
2
130
Technical Decision-making Anti-patterns - Avanscoperta Meetup 2021
francescostrazzullo
0
450
How to Choose Your Next Technology Stack
francescostrazzullo
0
1.6k
The Definition of Framework
francescostrazzullo
1
1.7k
How to Choose Your Next Technology Stack
francescostrazzullo
1
290
Other Decks in Programming
See All in Programming
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.4k
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
400
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
550
JavaDoc 再入門
nagise
1
370
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
360
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.7k
Contextとはなにか
chiroruxx
1
330
ふつうのFeature Flag実践入門
irof
8
4k
Claspは野良GASの夢をみるか
takter00
0
200
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
5.6k
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
150
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
First, design no harm
axbom
PRO
2
1.2k
For a Future-Friendly Web
brad_frost
183
10k
The Pragmatic Product Professional
lauravandoore
37
7.3k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
480
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
850
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
ラッコキーワード サービス紹介資料
rakko
1
3.7M
30 Presentation Tips
portentint
PRO
1
330
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]