$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Large Scale JS Engines
Search
Thanos Polychronakis
March 04, 2011
Programming
0
42
Large Scale JS Engines
A presentation back from 2011, be gentle
Thanos Polychronakis
March 04, 2011
Tweet
Share
More Decks by Thanos Polychronakis
See All by Thanos Polychronakis
Why Logging is Important
thanpolas
0
150
Intro to WebRTC
thanpolas
1
130
Classical Inheritance in Javascript
thanpolas
0
390
Testing Node.js Applications
thanpolas
1
150
Top Tier Remote
thanpolas
6
2.5k
Desktop apps with Electron
thanpolas
2
350
Error Handling in Javascript and Node.js
thanpolas
2
140
Classical Inheritance in Javascript
thanpolas
0
410
Getting Serious with remote
thanpolas
2
610
Other Decks in Programming
See All in Programming
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
190
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
690
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
170
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
740
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
210
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
160
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
17
6.8k
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
6
2k
CSC305 Lecture 17
javiergs
PRO
0
280
開発に寄りそう自動テストの実現
goyoki
1
490
『実践MLOps』から学ぶ DevOps for ML
nsakki55
2
560
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
6
1.2k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Faster Mobile Websites
deanohume
310
31k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Unsuck your backbone
ammeep
671
58k
Building an army of robots
kneath
306
46k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Balancing Empowerment & Direction
lara
5
780
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
LARGE SCALE JS ENGINES @THANPOLAS BUILDING A LARGE SCALE JS
ENGINE
LARGE SCALE JS ENGINES @THANPOLAS WHAT IS A LARGE SCALE
JS ENGINE? • Implements our API • One page load • It’s a framework
LARGE SCALE JS ENGINES @THANPOLAS CHALLENGES BUILDING LSJSE • Name
spacing • Templating • Facilities • Data Objects Handling • Source Tree • “Compiling”
LARGE SCALE JS ENGINES @THANPOLAS GOOGLE CLOSURE LIBRARY Not Another
Framework Closure library is a LANGUAGE ENHANCER
LARGE SCALE JS ENGINES @THANPOLAS WHAT IS CLOSURE LIBRARY? Components
• Core Library • Compiler • Templating System • Closure Linter • Server agnostic • UI / UX / DOM • Cross-browser • Very Light! Highlights
LARGE SCALE JS ENGINES @THANPOLAS LSJSE ARCHITECTURE Name Space Properly
Do yourself a favor web.user.signup.ui.start = function(){};
LARGE SCALE JS ENGINES @THANPOLAS LSJSE ARCHITECTURE Shortcut Assign Variables
web.user.signup.ui.start = function() { var ui = web.user.signup.ui;
LARGE SCALE JS ENGINES @THANPOLAS LSJSE ARCHITECTURE Separate Core API
From UI/UX Keep it platform agnostic core.user.register(params);
LARGE SCALE JS ENGINES @THANPOLAS LSJSE ARCHITECTURE Abstract Abstract Abstract
Create your framework core.analytics.logPageView(‘/contacts’);
LARGE SCALE JS ENGINES @THANPOLAS LSJSE CONS • Steep Learning
Curve • Long Implementation Time • Slow Initial Page Load • Not SEO Friendly
LARGE SCALE JS ENGINES @THANPOLAS LSJSE PROS • Can Reuse
In Multiple Platforms • With Node.js Reuse Server Side • Faster / Better UX • Smaller Server Load
LARGE SCALE JS ENGINES @THANPOLAS THANK YOU. contact Thanasis Polychronakis
Founder geowarp.com Twitter @thanpolas