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
120
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
94
Git Internals and Git Rebasing
boopathi
1
110
Other Decks in Programming
See All in Programming
技術的負債の正体を知って向き合う
irof
0
200
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
130
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
220
Software Architecture
hschwentner
6
2.3k
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
730
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
250
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.1k
理論と実務のギャップを超える
eycjur
0
170
Devoxx BE - Local Development in the AI Era
kdubois
0
130
Le côté obscur des IA génératives
pascallemerrer
0
150
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
230
Featured
See All Featured
A Tale of Four Properties
chriscoyier
161
23k
Building Applications with DynamoDB
mza
96
6.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Being A Developer After 40
akosma
91
590k
For a Future-Friendly Web
brad_frost
180
10k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Scaling GitHub
holman
463
140k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Six Lessons from altMBA
skipperchong
29
4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
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