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
31
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
110
Intro to WebRTC
thanpolas
1
81
Classical Inheritance in Javascript
thanpolas
0
340
Testing Node.js Applications
thanpolas
1
130
Top Tier Remote
thanpolas
6
2.4k
Desktop apps with Electron
thanpolas
2
320
Error Handling in Javascript and Node.js
thanpolas
2
120
Classical Inheritance in Javascript
thanpolas
0
350
Getting Serious with remote
thanpolas
2
540
Other Decks in Programming
See All in Programming
sappoRo.R #12 初心者セッション
kosugitti
0
280
CloudNativePGを布教したい
nnaka2992
0
120
Drawing Heighway’s Dragon- Recursive Function Rewrite- From Imperative Style in Pascal 64 To Functional Style in Scala 3
philipschwarz
PRO
0
110
Datadog Workflow Automation で圧倒的価値提供
showwin
1
280
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
940
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
390
TCAを用いたAmebaのリアーキテクチャ
dazy
0
210
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
160
GoとPHPのインターフェイスの違い
shimabox
2
210
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
770
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
260
コードを読んで理解するko build
bells17
1
110
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
RailsConf 2023
tenderlove
29
1k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Code Review Best Practice
trishagee
67
18k
Building Adaptive Systems
keathley
40
2.4k
How to Ace a Technical Interview
jacobian
276
23k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
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