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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Raquel Vélez
January 27, 2017
Programming
1
1.1k
Evolution of a Web Application
Presentation given at ScriptConf in Linz, Austria, 27 Jan 2017
Raquel Vélez
January 27, 2017
Tweet
Share
More Decks by Raquel Vélez
See All by Raquel Vélez
Engineering of Craft - Let's Sketch Tech
rockbot
0
180
Engineering of Craft
rockbot
0
340
The Beauty of Bad Code
rockbot
1
190
The Beauty of Bad Code
rockbot
4
550
Wombat-Driven Understanding: an interactive guide to using npm
rockbot
0
360
Wombat-Driven Understanding: An Interactive Guide To Using npm
rockbot
0
900
the npm website: a tale of wonder and woe (and wombats!)
rockbot
0
340
fear
rockbot
1
350
hiring at npm
rockbot
1
310
Other Decks in Programming
See All in Programming
Data-Centric Kaggle
isax1015
2
770
CSC307 Lecture 09
javiergs
PRO
1
830
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
190
組織で育むオブザーバビリティ
ryota_hnk
0
170
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
160
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
dchart: charts from deck markup
ajstarks
3
990
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
Fluid Templating in TYPO3 14
s2b
0
130
CSC307 Lecture 04
javiergs
PRO
0
660
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
Featured
See All Featured
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
100
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
49k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
160
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
Context Engineering - Making Every Token Count
addyosmani
9
650
The World Runs on Bad Software
bkeepers
PRO
72
12k
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