Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rethinking the Client vs. Server Rendering Debate

Rethinking the Client vs. Server Rendering Debate

Given at MahattanJS


Rebecca Miller-Webster

March 19, 2014


  1. Rethinking the Client vs. Server Rendering Debate Rebecca Miller-Webster @rmillerwebster

    rebeccamiller-webster.com ! @devbootcamp
  2. Server JavaScript MVC - Ember, Backbone, Angular etc JavaScript templates

    - Mustache, Underscore, etc jQuery + DOM manipulation w/ JSON Client Full page rendering; full page refresh Turbolinks PJAX jQuery + DOM manipulation Server returns HTML Server returns JSON
  3. Daddy Papa VS.

  4. Server Fast! Clear conventions Organization and Structure Reusable components Good

    UX for basic CRUD Easier to test Client Fast! Easier to cache Always show canonical data Less client/server code duplication Easier to test
  5. Server Client FEAR of Front-End NEW!! THE WAY (TM) ONWARD

  6. Real World == Hybrid HTML fragment inserted into DOM JS

    MVC model for JS component Single-page full MVC on some pages Per feature
  7. What’s better for YOU ?

  8. Solve YOUR Problem What’s the problem your trying to solve?

    Priority Timing How does this fit in with goals of the company?
  9. Right Tool for the Job Data: authority; present in multiple

    ways on the same page; reads vs. writes; size; store and respond to state Rendering: how much; single or many pages; need to display on-load; complexity; presentation based on state UX: importance of page load; user expectations; interactivity; devices; security
  10. Right Tools for your Team What’s your existing tools, conventions.

    organization? What tools do your people know? Time for spike and knowledge transfer? What do people want?
  11. Iterate and Enforce Discipline Clear Expectations and Practices Code Styleguides

    Code Reviews/Pull Requests
  12. Your Problem is a People Problem

  13. Thank You ? @rmillerwebster ! @devbootcamp is hiring!

  14. http://www.forbes.com/sites/quora/2013/07/10/web-development-what-are-the-tradeoffs-of-client- side-rendering-vs-server-side-rendering/ http://blog.mwaysolutions.com/2013/11/08/client-vs-serverside-rendering-the-big-battle-2/ http://openmymind.net/2012/5/30/Client-Side-vs-Server-Side-Rendering/ http://mrjoelkemp.com/2013/11/learnings-from-client-side-and-server-side-rendering-in-backbone-js/ https://medium.com/tech-talk/7e0831bc19bc http://patnakajima.com/javascript-talk-i-kinda-gave/#30 http://openmymind.net/Client-Side-vs-Server-Side-Rendering-Redux-Sorta/ http://signalvnoise.com/posts/3112-how-basecamp-next-got-to-be-so-damn-fast-without-using- much-client-side-u