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
The Road to Node
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Guille Paz
October 28, 2017
Programming
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The Road to Node
The Road to Node (at a big company).
Guille Paz
October 28, 2017
More Decks by Guille Paz
See All by Guille Paz
No me robes el Scroll!
pazguille
0
290
User First
pazguille
1
220
#OfflineFirst
pazguille
3
6k
ES6 in Production
pazguille
10
3.2k
No me hagas esperar!
pazguille
1
210
CSS Sprites vs. Data URIs
pazguille
0
460
Hello, Style Guides!
pazguille
0
290
Decoupling your JavaScript
pazguille
0
190
Progressive Enhancement - Is it still important?
pazguille
0
150
Other Decks in Programming
See All in Programming
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
160
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
350
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3.5k
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
160
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
310
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
8.9k
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
120
act2-costs.pdf
sumedhbala
0
110
スマートグラスで並列バイブコーディング
hyshu
0
290
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
170
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
310
Creating Composable Callables in Contemporary C++
rollbear
0
200
Featured
See All Featured
How to make the Groovebox
asonas
2
2.3k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
630
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
360
sira's awesome portfolio website redesign presentation
elsirapls
0
300
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
63
55k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
280
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
So, you think you're a good person
axbom
PRO
2
2.1k
Context Engineering - Making Every Token Count
addyosmani
9
1k
Visualization
eitanlees
152
17k
Transcript
The Road to Node at a big company
- I’m Guille Paz - Frontend developer - Tech Lead
at Mercado Libre @pazguille (twitter / github) Hi!
Mercado Libre
Largest e-commerce ecosystem in Latin America
None
~ 1500 developers
~ 1500 developers ~ 4600 repositories
~ 1500 developers ~ 4600 repositories ~ 300 deploys per
day
~ 1500 developers ~ 4600 repositories ~ 300 deploys per
day ~ 800 frontend apps
~ 1500 developers ~ 4600 repositories ~ 300 deploys per
day ~ 800 frontend apps ~ 3 Million rpm
~ 1500 developers ~ 4600 repositories ~ 300 deploys per
day ~ 800 frontend apps ~ 3 Million rpm ~ 900 coffees per day
Back to 2016
Frontend Frontend developers Backend developers
Frontend
Frontend Access Data UI Logic Business Logic Build assets Auth
i18n e2e testing ...
TOO many Technologies
TOO many Responsibilities
It’s a kilombo!
“The world is changing and we must change with it.”
- Ragnar Lothbrok
Hey Guille, coffee? Hey, what's happened? Nothing, just running grails
run-app... Sure! I have 10-15 mins.
New Team Frontend Core
We made Big decisions!
Node is the new UI Layer
Frontend Middleend UI Layer Business Logic
Frontend API API Middleend
Frontend API API Middleend Mobile Native
None
The new frontend stack
None
LTS version
None
None
None
ES6 Modules vs CommonJS
None
None
Use ES Features and don’t transpile the server.
node.green
None
six-speed
None
Use ES Stable Features and don’t transpile the server.
None
Shared Version
Default Middlewares
Authentication Device Detection Security Default Middlewares
Default Routes (“/ping”)
An Express Instance on Steroids
Routers (“mini-applications”)
Start Server (development vs production)
None
Using React Is A Business Decision, Not A Technology Choice.
- Eric Baer
Server-Side Rendering
React on the Server
Only transpile JSX in runtime
JSX (template engine)
res.render(‘View.js, props);
None
Render React Middleware
Override res.render( ).
res.render(<View />, props);
Universal UI Components
Universal Views
React on the Server & Client
None
Hey Guille, coffee? Hey, what's happened? Nothing, just running npm
install... Sure! I have 2-3 mins.
None
None
nordic & nordic-dev packages
None
None
react-router on the server
None
None
[email protected]
async hooks (onEnter ) are defined globally
None
None
process.env
It’s not a normal JavaScript object...
Server rendering is slower...
cache all the values!
React 16
Takeaway
⇢ Knows your dependencies ⇢ Node is the new UI
Layer ⇢ New roles and responsibilities ⇢ ~ 126 coffees per day (86% real) ⇢ Today we feel like...
None
None
Thank you! @pazguille