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 stack behind Flipkart Lite | Modern Web Summit
Search
Boopathi Rajaa
February 04, 2016
Programming
1
110
The stack behind Flipkart Lite | Modern Web Summit
Talk by me on "The Stack behind Flipkart Lite" @ Modern Web Summit ( Feb 4, 2016 ).
Boopathi Rajaa
February 04, 2016
Tweet
Share
More Decks by Boopathi Rajaa
See All by Boopathi Rajaa
Compiling GraphQL to be Fast
boopathi
0
69
Git Internals and Git Rebasing
boopathi
1
99
Other Decks in Programming
See All in Programming
Front-end application development, Symfony-style(s)
dunglas
2
2k
エンターテイメント業界で利用されるAWS
demuyan
0
210
HUIT新歓2024「競技プログラミング、やってみませんか?」
slephy2784
1
260
Rails と人魚の話/rails-and-mermaid
sanfrecce_osaka
0
100
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
230
入門 AWS Amplify Gen2 / Introduction to AWS Amplify Gen2
genkiogasawara
1
320
Hanami and htmx
bkuhlmann
0
200
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
640
Code Reviews
bkuhlmann
4
890
PHPはいつから死んでいるかの調査
chiroruxx
1
360
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
250
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
130
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
16
6.4k
Designing for Performance
lara
601
67k
Agile that works and the tools we love
rasmusluckow
324
20k
Six Lessons from altMBA
skipperchong
20
3k
Building Better People: How to give real-time feedback that sticks.
wjessup
354
18k
Facilitating Awesome Meetings
lara
41
5.6k
Optimizing for Happiness
mojombo
370
69k
Principles of Awesome APIs and How to Build Them.
keavy
120
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
39
4.4k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
The Language of Interfaces
destraynor
151
23k
Transcript
Modern Web Summit THE STACK BEHIND FLIPKART LITE Boopathi Rajaa
@heisenbugger
Modern Web Summit ???
Modern Web Summit We write lots of JavaScript
Modern Web Summit HTML Page Shells
Modern Web Summit Loading state (Pre data) Loaded State (Post
data) SHELL SHELL + Content
Modern Web Summit Loading state (Pre data) Loaded State (Post
data) SHELL SHELL + Content
Modern Web Summit Perceived > Actual
Modern Web Summit CLIENT SIDE ONLY SERVER SIDE RENDERING HTML
PAGE SHELLS SHELLS + SERVICE WORKERS response rendering starts
Modern Web Summit React.renderToString()
Modern Web Summit componentDidMount
Modern Web Summit /:slug/p/:itemid /(.*)/pr /search /accounts/(.*)
Modern Web Summit ReactRouter
Modern Web Summit /:slug/p/:itemid /(.*)/pr /search /accounts/(.*) /:slug/p/:itemid /(.*)/pr /search
/accounts/(.*)
Modern Web Summit function convertParams(p) { return PathUtils.injectParams(p, { splat:
'splat', slug: 'slug', itemId: 'itemId', sellerName: 'sellerName', sellerId: 'sellerId' }); } Hackity Hack Hack
Modern Web Summit Route Defined Route To Render Shell /:slug/p/:itemid
→ /slug/p/itemId → product /(.*)/pr → /splat/pr → browse /search → /search → search /accounts/(.*) → /accounts/splat → accounts injectParams
Modern Web Summit Bundle to Static assets
Modern Web Summit webpack
Modern Web Summit vendor.config.js react, react-router, phrontend, etc… client.config.js client.js
→ routes.js → root server.config.js server.js → routes.js → root hbs.config.js hbs-loader → hbs.bundle.js → <shell>.hbs sw.config.js sw.js + build props from client & vendor
Modern Web Summit Two level templating
Modern Web Summit index.hbs browse.hbs product.hbs search.hbs accounts.hbs build time
render React.renderToString() hbs-loader /:slug/p/:itemid /(.*)/pr /search /accounts/(.*) runtime - express js
Modern Web Summit client bundle app.<hash>.js main.<hash>.css sw.js sw.bundle.<hash>.js (byte
diff)
Modern Web Summit css-modules
Modern Web Summit .header { } .02jei { }
Modern Web Summit babel
Modern Web Summit phrontend github.com/flipkart-incubator/phrontend
Modern Web Summit Monorepo vs Repo per feature
Modern Web Summit Thank you Boopathi Rajaa @heisenbugger