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 Engine - JsDay Verona 2019
Search
Francesco Strazzullo
May 09, 2019
Programming
0
340
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
69
Contract-Driven_Development.pdf
francescostrazzullo
0
510
Domain-Driven Frontend
francescostrazzullo
0
1k
Strategic Testing Decisions
francescostrazzullo
0
320
A DIY Guide To Building Your Own Rendering Engine - CityJS2021
francescostrazzullo
2
76
Technical Decision-making Anti-patterns - Avanscoperta Meetup 2021
francescostrazzullo
0
370
How to Choose Your Next Technology Stack
francescostrazzullo
0
680
The Definition of Framework
francescostrazzullo
1
650
How to Choose Your Next Technology Stack
francescostrazzullo
1
240
Other Decks in Programming
See All in Programming
HUIT新歓2024「競技プログラミング、やってみませんか?」
slephy2784
1
250
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
170
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
100
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
1.1k
Code Reviews
bkuhlmann
4
880
Elm Form Validation
bkuhlmann
0
510
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
39
18k
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
8
3.6k
1인 개발자로 행복하게 살기 - GDG 송도 헬로월드 2024
benjaminkim
1
5.6k
Designing for tomorrow's programming workflows
honnibal
PRO
2
110
プールにゆこう
irof
2
120
Featured
See All Featured
Designing Experiences People Love
moore
136
23k
A designer walks into a library…
pauljervisheath
199
23k
Bootstrapping a Software Product
garrettdimon
PRO
301
110k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
13
1.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
243
20k
Navigating Team Friction
lara
177
13k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
12
1.5k
Side Projects
sachag
451
41k
Infographics Made Easy
chrislema
237
18k
How GitHub (no longer) Works
holman
304
140k
Why Our Code Smells
bkeepers
PRO
331
56k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
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]