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
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
170
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
CSC307 Lecture 01
javiergs
PRO
0
690
CSC307 Lecture 09
javiergs
PRO
1
830
CSC307 Lecture 02
javiergs
PRO
1
780
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
960
dchart: charts from deck markup
ajstarks
3
990
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
今から始めるClaude Code超入門
448jp
8
8.7k
Grafana:建立系統全知視角的捷徑
blueswen
0
330
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Designing for Performance
lara
610
70k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
180
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Site-Speed That Sticks
csswizardry
13
1.1k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
A Tale of Four Properties
chriscoyier
162
24k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
RailsConf 2023
tenderlove
30
1.3k
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