frontend choices
play

Frontend Choices Alex Coles | Goto Conference, Berlin not really - PowerPoint PPT Presentation

Frontend Choices Alex Coles | Goto Conference, Berlin not really about choice hallo Berlin Im a backend guy living in a frontend world wer bin ich? @myabc Alex Coles Berlin, Germany Finn GmbH @myabc openproject.org OpenProject


  1. Frontend Choices Alex Coles | Goto Conference, Berlin

  2. not really about choice

  3. hallo Berlin

  4. “ I’m a backend guy living in a frontend world

  5. wer bin ich?

  6. @myabc Alex Coles Berlin, Germany Finn GmbH

  7. @myabc openproject.org OpenProject openproject.org

  8. eurucamp.org @myabc eurucamp.org jrubyconf.eu

  9. 10 years ago

  10. 10 years ago 2004

  11. 10 years ago what was I doing?

  12. 10 years ago what was I doing?

  13. 10 years ago what was I doing?

  14. 10 years ago what was the world doing?

  15. 10 years ago what was the world doing?

  16. 10 years ago what was the world doing?

  17. 10 years ago what was the world doing?

  18. 10 years ago what was the world doing?

  19. 10 years ago what were you doing?

  20. 10 years ago what were you doing? ?

  21. 10 years ago what was Apple doing?

  22. 10 years ago what was Apple doing?

  23. 10 years ago what was Apple doing?

  24. 10 years ago what was the web doing?

  25. 10 years ago what was the web doing?

  26. 10 years ago there was no jQuery!

  27. 10 years ago but the end of 2004 was to mark a transition

  28. “ The Rails Way

  29. “ Rails is so 2005

  30. “ Rails is so 2005

  31. “Rails Way” back in 2005

  32. “Rails Way” back in 2005 • Server Generated HTML (ERB, etc.)

  33. “Rails Way” back in 2005 • Server Generated HTML (ERB, etc.) • Prototype

  34. “Rails Way” back in 2005 • Server Generated HTML (ERB, etc.) • Prototype • Scriptaculous

  35. “Rails Way” back in 2005 • Server Generated HTML (ERB, etc.) • Prototype • Scriptaculous • RJS

  36. RJS http://slash7.com/assets/2006/10/8/RJS-Demistified_Amy-Hoy-slash7_1.pdf

  37. RJS http://slash7.com/assets/2006/10/8/RJS-Demistified_Amy-Hoy-slash7_1.pdf

  38. RJS

  39. RJS erb view <div ¡id="items"></div> ¡ <%= ¡link_to_remote ¡'Add ¡to ¡cart', ¡url: ¡{ ¡controller: ¡'cart', ¡action: ¡ 'add_to_cart' ¡}%>

  40. RJS erb view <div ¡id="items"></div> ¡ <%= ¡link_to_remote ¡'Add ¡to ¡cart', ¡url: ¡{ ¡controller: ¡'cart', ¡action: ¡ 'add_to_cart' ¡}%> controller class ¡CartController ¡< ¡ActionController::Base ¡ ¡ ¡def ¡add_to_cart ¡ ¡ ¡ ¡ ¡@item ¡= ¡CartItem.new ¡ ¡ ¡ ¡ ¡@cart.items ¡<< ¡@item ¡ ¡ ¡end ¡ end

  41. RJS erb view <div ¡id="items"></div> ¡ <%= ¡link_to_remote ¡'Add ¡to ¡cart', ¡url: ¡{ ¡controller: ¡'cart', ¡action: ¡ 'add_to_cart' ¡}%> controller class ¡CartController ¡< ¡ActionController::Base ¡ ¡ ¡def ¡add_to_cart ¡ ¡ ¡ ¡ ¡@item ¡= ¡CartItem.new ¡ ¡ ¡ ¡ ¡@cart.items ¡<< ¡@item ¡ ¡ ¡end ¡ end rjs view page.insert_html ¡ ¡:bottom, ¡:items, ¡partial: ¡'item', ¡object: ¡@item ¡ page.replace_html ¡:items_count, ¡I18n.t(:item, ¡count: ¡ @cart.items.count) ¡

  42. … we mostly had “websites”

  43. Yahoo! 2004 yahoo.com

  44. Bindows 2004 bindows.net

  45. Gmail pre- β 2002-4 gmail.com http://techcrunch.com/2008/06/06/the-evolution-of-pre-launch-gmail-in-screenshots/

  46. where we are now

  47. … we have “applications”

  48. Soundcloud soundcloud.com

  49. Single Page Application Architecture

  50. Single Page Application Architecture - +

  51. Single Page Application Architecture - chunking +

  52. Single Page Application Architecture - chunking controller +

  53. Single Page Application Architecture - chunking controller templating +

  54. Single Page Application Architecture - chunking controller templating + routing

  55. Single Page Application Architecture - chunking controller templating + routing real-time communicaton

  56. Single Page Application Architecture - chunking controller templating + routing real-time communicaton local storage

  57. “Rails Way” now

  58. “Rails Way” now • Server Generated HTML (ERB, Slim, HAML etc.)

  59. “Rails Way” now • Server Generated HTML (ERB, Slim, HAML etc.) • jQuery

  60. “Rails Way” now • Server Generated HTML (ERB, Slim, HAML etc.) • jQuery • jQuery UI

  61. “Rails Way” now • Server Generated HTML (ERB, Slim, HAML etc.) • jQuery • jQuery UI • Server generated JavaScript Responses (SJR)

  62. JavaScript has grown up

  63. JavaScript has grown up indeed.com percentage of total JS developer jobs has doubled from 2005 to 2010

  64. JavaScript has grown up W3Techs.com Server-side usage of JS has been multiplied by 6 from Jan 2012 to Oct 2014

  65. no backend nobackend.org

  66. Hoodie hood.ie

  67. isomorphism

  68. Meteor meteor.com

  69. frontend frameworks

  70. frontend (MV*) frameworks

  71. frontend (MV*) frameworks AngularJS

  72. frontend (MV*) frameworks KnockoutJS AngularJS

  73. frontend (MV*) frameworks KnockoutJS AngularJS Ember.js

  74. frontend (component) frameworks

  75. frontend (component) frameworks Ractive.js

  76. frontend (component) frameworks Ractive.js ReactJS

  77. frontend (component) frameworks Backbone View (alone) Ractive.js ReactJS

  78. frontend (component) frameworks Backbone View (alone) Ractive.js ReactJS ExtJS

  79. TodoMVC todomvc.com

  80. More on MV* …

  81. ! but I <3 Ruby

  82. so here is the question

  83. is there room for Rails?

  84. “ Not his [DHH’s] responsibility to tell us how to do these things. – Marcin Stecki @madsheepPL at wroc_love.rb

  85. single page vs. traditional HTML

  86. naturally content-dependent

  87. what is your content? general personal

  88. what is your content? general personal Information pages

  89. what is your content? general personal Membership sites Information pages

  90. what is your content? general personal Membership sites Information pages Closed systems

  91. content criteria

  92. content criteria • authentication

  93. content criteria • authentication • how real is real-time

  94. content criteria • authentication • how real is real-time • caching

Recommend


More recommend