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
Evolution of a Web Application
Search
Raquel Vélez
January 27, 2017
Programming
1.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Evolution of a Web Application
Presentation given at ScriptConf in Linz, Austria, 27 Jan 2017
Raquel Vélez
January 27, 2017
More Decks by Raquel Vélez
See All by Raquel Vélez
Engineering of Craft - Let's Sketch Tech
rockbot
0
200
Engineering of Craft
rockbot
0
380
The Beauty of Bad Code
rockbot
1
200
The Beauty of Bad Code
rockbot
4
580
Wombat-Driven Understanding: an interactive guide to using npm
rockbot
0
390
Wombat-Driven Understanding: An Interactive Guide To Using npm
rockbot
0
930
the npm website: a tale of wonder and woe (and wombats!)
rockbot
0
340
fear
rockbot
1
380
hiring at npm
rockbot
1
330
Other Decks in Programming
See All in Programming
A2UI という光を覗いてみる
satohjohn
1
170
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
1k
スマートグラスで並列バイブコーディング
hyshu
0
270
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.9k
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
280
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.1k
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
290
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
630
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
100
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
160
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
190
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.6k
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
170
The Curious Case for Waylosing
cassininazir
1
420
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
220
Designing for Performance
lara
611
70k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
230
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
A better future with KSS
kneath
240
18k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
320
Color Theory Basics | Prateek | Gurzu
gurzu
0
380
GraphQLとの向き合い方2022年版
quramy
50
15k
New Earth Scene 8
popppiees
3
2.4k
Scaling GitHub
holman
464
140k
Transcript
Evolution of a Web Application the story of js.com npm
brought to you by @rockbot
@rockbot #scriptconf an overview of npm
@rockbot #scriptconf for JavaScript npm is a package manager
@rockbot #scriptconf npm is a package manager
@rockbot #scriptconf our #1 priority is to reduce friction
@rockbot #scriptconf started out as open source
@rockbot #scriptconf 0 20,000,000 40,000,000 2012-10-22 2013-01-10 2013-03-31 2013-06-19 2013-11-25
weekly downloads
@rockbot #scriptconf 0 15,000 30,000 45,000 60,000 12/14/2011 12/13/2012 12/13/2013
number of packages
@rockbot #scriptconf became a company in 2014
@rockbot #scriptconf the npm website: the gory details
@rockbot #scriptconf 7-day rolling 0 200,000 400,000 600,000 800,000 2014/1/6
2015/1/5 2016/1/4 2017/1/2 Users New Users users on the website
@rockbot #scriptconf DESIGN
@rockbot #scriptconf
@rockbot #scriptconf
@rockbot #scriptconf
@rockbot #scriptconf
@rockbot #scriptconf
@rockbot #scriptconf npm
@rockbot #scriptconf npm
@rockbot #scriptconf npm
@rockbot #scriptconf
@rockbot #scriptconf
@rockbot #scriptconf SEARCH
@rockbot #scriptconf
@rockbot #scriptconf
@rockbot #scriptconf
@rockbot #scriptconf
@rockbot #scriptconf FRONT-END JAVASCRIPT
@rockbot #scriptconf
@rockbot #scriptconf
@rockbot #scriptconf
@rockbot #scriptconf vs
@rockbot #scriptconf
@rockbot #scriptconf
@rockbot #scriptconf
@rockbot #scriptconf FRAMEWORKS
@rockbot #scriptconf function showProfile (req, res, showprofile) { // …
req.model.end(function (er, m) { var td = { showprofile: showprofile , profile: req.model.profile , fields: showprofile.fields , title: showprofile.name , hiring: req.model.whoshiring , packages: req.model.packages , starred: req.model.starred } res.template('profile.ejs', td) }) }
@rockbot #scriptconf vs
@rockbot #scriptconf
@rockbot #scriptconf TESTING
@rockbot #scriptconf tests?
@rockbot #scriptconf (hapi ecosystem test framework)
@rockbot #scriptconf (selenium wrapper)
@rockbot #scriptconf
@rockbot #scriptconf node-tap
@rockbot #scriptconf WHAT’S NEXT?
@rockbot #scriptconf clean up
@rockbot #scriptconf grow the team
@rockbot #scriptconf adapt
@rockbot #scriptconf npm loves you
Raquel Vélez @rockbot http://rckbt.me raquel@ js.com