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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
95
Contract-Driven_Development.pdf
francescostrazzullo
0
620
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
TipKitTips
ktcryomm
0
160
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
710
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
150
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
560
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
130
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
130
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
440
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8k
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
1k
Ruby and LLM Ecosystem 2nd
koic
1
660
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
910
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
180
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.6k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
400
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Producing Creativity
orderedlist
PRO
348
40k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
What's in a price? How to price your products and services
michaelherold
247
13k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
200
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
91
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
980
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]