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
Large Scale JS Engines
Search
Thanos Polychronakis
March 04, 2011
Programming
0
30
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
69
Intro to WebRTC
thanpolas
1
69
Classical Inheritance in Javascript
thanpolas
0
300
Testing Node.js Applications
thanpolas
1
120
Top Tier Remote
thanpolas
6
2.4k
Desktop apps with Electron
thanpolas
2
300
Error Handling in Javascript and Node.js
thanpolas
2
100
Classical Inheritance in Javascript
thanpolas
0
260
Getting Serious with remote
thanpolas
2
460
Other Decks in Programming
See All in Programming
Ruby製社内ツールのGo移行
bgpat
2
330
Hanami and htmx
bkuhlmann
0
190
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
410
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
1.1k
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
110
Netty Chicago Java User Group 2024-04-17
sullis
0
100
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
420
ログラスを支える設計標準について / loglass-design-standards
urmot
10
2.1k
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
360
Rails と人魚の話/rails-and-mermaid
sanfrecce_osaka
0
100
ドメイン・ファーストで考える問題解決に役立つモデル設計 / Domain First Model Design
suzushin54
2
2.1k
受託開発でGitLab CI を活用していく
xiombatsg
1
270
Featured
See All Featured
How to name files
jennybc
64
92k
A Philosophy of Restraint
colly
196
16k
In The Pink: A Labor of Love
frogandcode
138
21k
We Have a Design System, Now What?
morganepeng
42
6.7k
Navigating Team Friction
lara
177
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
119
38k
RailsConf 2023
tenderlove
2
530
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
258
12k
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