Evolution of a Web Application

Evolution of a Web Application

Presentation given at ScriptConf in Linz, Austria, 27 Jan 2017

583a0cfd3e0ec851166c5c6fa5e506a5?s=128

Raquel Vélez

January 27, 2017
Tweet

Transcript

  1. Evolution of a Web Application the story of js.com npm

    brought to you by @rockbot
  2. @rockbot #scriptconf an overview of npm

  3. @rockbot #scriptconf for JavaScript npm is a package manager

  4. @rockbot #scriptconf npm is a package manager

  5. @rockbot #scriptconf our #1 priority is to reduce friction

  6. @rockbot #scriptconf started out as open source

  7. @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
  8. @rockbot #scriptconf 0 15,000 30,000 45,000 60,000 12/14/2011 12/13/2012 12/13/2013

    number of packages
  9. @rockbot #scriptconf became a company in 2014

  10. @rockbot #scriptconf the npm website: the gory details

  11. @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
  12. @rockbot #scriptconf DESIGN

  13. @rockbot #scriptconf

  14. @rockbot #scriptconf

  15. @rockbot #scriptconf

  16. @rockbot #scriptconf

  17. @rockbot #scriptconf

  18. @rockbot #scriptconf npm

  19. @rockbot #scriptconf npm

  20. @rockbot #scriptconf npm

  21. @rockbot #scriptconf

  22. @rockbot #scriptconf

  23. @rockbot #scriptconf SEARCH

  24. @rockbot #scriptconf

  25. @rockbot #scriptconf

  26. @rockbot #scriptconf

  27. @rockbot #scriptconf

  28. @rockbot #scriptconf FRONT-END JAVASCRIPT

  29. @rockbot #scriptconf

  30. @rockbot #scriptconf

  31. @rockbot #scriptconf

  32. @rockbot #scriptconf vs

  33. @rockbot #scriptconf

  34. @rockbot #scriptconf

  35. @rockbot #scriptconf

  36. @rockbot #scriptconf FRAMEWORKS

  37. @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) }) }
  38. @rockbot #scriptconf vs

  39. @rockbot #scriptconf

  40. @rockbot #scriptconf TESTING

  41. @rockbot #scriptconf tests?

  42. @rockbot #scriptconf (hapi ecosystem test framework)

  43. @rockbot #scriptconf (selenium wrapper)

  44. @rockbot #scriptconf

  45. @rockbot #scriptconf node-tap

  46. @rockbot #scriptconf WHAT’S NEXT?

  47. @rockbot #scriptconf clean up

  48. @rockbot #scriptconf grow the team

  49. @rockbot #scriptconf adapt

  50. @rockbot #scriptconf npm loves you

  51. Raquel Vélez @rockbot http://rckbt.me raquel@ js.com