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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Francesco Strazzullo
March 26, 2021
Programming
2
120
A DIY Guide To Building Your Own Rendering Engine - CityJS2021
Francesco Strazzullo
March 26, 2021
Tweet
Share
More Decks by Francesco Strazzullo
See All by Francesco Strazzullo
Strategic Testing Decisions - Build Stuff 2021
francescostrazzullo
0
93
Contract-Driven_Development.pdf
francescostrazzullo
0
610
Domain-Driven Frontend
francescostrazzullo
0
2k
Strategic Testing Decisions
francescostrazzullo
0
370
Technical Decision-making Anti-patterns - Avanscoperta Meetup 2021
francescostrazzullo
0
430
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
Introduction To Alexa Custom Skills
francescostrazzullo
0
510
Other Decks in Programming
See All in Programming
Raku Raku Notion 20260128
hareyakayuruyaka
0
430
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
510
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.4k
Ruby x Terminal
a_matsuda
6
570
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
190
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
200
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
150
15年目のiOSアプリを1から作り直す技術
teakun
1
600
Event Storming
hschwentner
3
1.3k
AIプロダクト時代のQAエンジニアに求められること
imtnd
2
660
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
1.6k
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
410
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
Are puppies a ranking factor?
jonoalderson
1
3.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.3k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
190
Ethics towards AI in product and experience design
skipperchong
2
210
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
200
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
110
The Invisible Side of Design
smashingmag
302
51k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
190
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Transcript
A DIY Guide To Building Your Own Rendering Engine
http://frameworklessmovement.org/
Start With Why _
Why should you learn how to build a Rendering Engine?
Let me tell you a story...
None
Some years ago, I had to modernize a 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
Microwave spaghetti bolognese by BBC Food
“Never Manipulate the DOM” Every JavaScript Developer —
Manipulating DOM is hard
None
Manipulating DOM is important for a front-end developer
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/flowingis/strazz-talk-cityjs2021
What I learned _
A custom Rendering Engine can live in harmony with frameworks
It’s a good way to work with legacy code
How to decide if it’s a good solution?
Accattatevill’ https://leanpub.com/decision-making-for-software-development-teams https://www.apress.com/gp/book/9781484249666 (“buy them” in Neapolitan)
Francesco Strazzullo (AKA Strazz) @TheStrazz86 (Follow me on Twitter!) Ego
Slide
Thanks Francesco Strazzullo
[email protected]