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

Developers in the New Age of the Web

Developers in the New Age of the Web

It's undeniable that emerging web technologies like HTML5 have changed the way today's applications are being built. Companies find themselves in a shift from traditional programming environments towards the open web platform. But despite its benefits, many are still left unaware of how critical it is to get the details right when building a web app. In this talk, we'll cover why the "Front-end Engineer" has become one of the core team members of this new age.

Kevin Lamping

April 03, 2014
Tweet

More Decks by Kevin Lamping

Other Decks in Programming

Transcript

  1. D E V E L O P E R S

    I N T H E N E W A G E O F T H E W E B K E V I N L A M P I N G 1
  2. S O F T WA R E D E V

    E L O P E R @ K L A M P I N G K E V I N L A M P I N G 2
  3. 3

  4. – J E F F AT W O O D

    “Any application that can be written in JavaScript, will eventually be written in JavaScript.” 4
  5. T H E N E W A G E O

    F T H E W E B 5
  6. T H E N E W A G E O

    F T H E W E B 6
  7. T H E N E W A G E O

    F T H E W E B 7
  8. T H E U S E R E X P

    E R I E N C E
  9. S E PA R AT I O N O F

    C O N C E R N S 10
  10. 12

  11. B R O W S E R = S E

    R V E R 13
  12. 14

  13. 15

  14. 16

  15. 17

  16. T H E W O R L D O F

    T H E B R O W S E R J A VA S C R I P T G O T L U C K Y 18
  17. – J E F F AT W O O D

    “If you want your software to be experienced by as many users as possible, there is absolutely no better route than a web app.” 19
  18. var distances = [100, 10]; // total x/y distances to

    move var duration = 1000; // animate for one second var steps = [(distances[0]/duration), (distances[1]/duration)]; var timeElapsed = 0; var element = document.querySelector('.myElement'); var interval = setInterval(function () { if (timeElapsed > duration) { // cancel interval clearInterval(interval); return; } else { // move element element.style.top = parseInt(element.style.top, 10) + steps[0] + 'px'; element.style.left = parseInt(element.style.left, 10) + steps[0] + 'px'; // increase time elapsed timeElapsed += 50; } }, 50) 21
  19. T H E F R O N T- E N

    D H T M L , C S S , J S 24
  20. – J E F F AT W O O D

    “Any application that can be written in JavaScript, will eventually be written in JavaScript.” 25
  21. T H E F R O N T- E N

    D E N G I N E E R 26
  22. W E B S I T E P E R

    F O R M A N C E 27
  23. "1 second delay in page response can result in a

    7% reduction in conversions" 29
  24. – S T E V E S O U D

    E R S "80-90% of the end-user response time is spent on the frontend" 30
  25. - T I M B E R N E R

    S - L E E “The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect.” 32
  26. – N I C O L A S G A

    L L A G H E R "Despite CSS being so hard to maintain, it's often the part of the [Front-end] stack people are least interested in protecting from tech debt." 34
  27. – D O U G L A S C R

    O C K F O R D "Browsers are the most hostile software development environment imaginable" 36
  28. R E S P O N S I V E

    W E B D E S I G N
  29. • Backbone.js • AngularJS • Ember.js • KnockoutJS • Dojo

    • YUI • Agility.js • Knockback.js • CanJS • Maria • Polymer • React • cujoJS • Montage • Sammy.js • Stapes • Epitome • soma.js • DUEL • Kendo UI • PureMVC • Olives • PlastronJS • Dijon • rAppid.js • DeftJS + ExtJS • Aria Templates • Enyo + • SAPUI5 • Exoskeleton • Atma.js • Ractive.js • ComponentJS • Vue.js
  30. F R O M D E S I G N

    T O I M P L E M E N TAT I O N
  31. L O G I C A L C R E

    AT I V I T Y 42
  32. F R O N T- E N D E N

    G I N E E R C U LT I VA T I N G T H E 43
  33. A L L O W E X P E R

    I M E N TAT I O N 44
  34. A C C E P T C U R I

    O S I T Y 45
  35. C U R I O S I T Y D

    R I V E S I N N O VAT I O N
  36. G I V E R O O M T O

    G R O W 47
  37. F R O N T- E N D E N

    G I N E E R H I R I N G T H E 48
  38. J AVA S C R I P T N I

    N J A H I R E T H E D O N ’ T 50
  39. J AVA S C R I P T D E

    V E L O P E R H I R E T H E D O N ’ T 51
  40. F R O N T- E N D E N

    G I N E E R H I R E T H E 52
  41. F R O N T- E N D D E

    V E L O P E R H I R E T H E 53
  42. U I D E V E L O P E

    R H I R E T H E 54
  43. S O F T WA R E D E V

    E L O P E R H I R E T H E 55
  44. F R O N T- E N D E N

    G I N E E R I N T E R V I E W I N G T H E 56
  45. F R O N T- E N D E N

    G I N E E R I N T E R V I E W T H E 57
  46. S E R V E R - S I D

    E E N G I N E E R C O N V E R T I N G T H E 58
  47. – S T E V E S O U D

    E R S "Asking backend developers to do front-end engineering is a mistake. Front-end engineering is an established discipline." 59
  48. R E S P E C T T H E

    R O L E 60
  49. D E V E L O P E R S

    I N T H E N E W A G E O F T H E W E B 62
  50. – J E F F AT W O O D

    “Any application that can be written in JavaScript, will eventually be written in JavaScript.” 63
  51. T H A N K S ! @ K L

    A M P I N G 64
  52. R E F E R E N C E S

    • http://blog.codinghorror.com/the-principle-of-least-power/ • http://www.fatagnus.com/nate-koechley-talks-about-professional-frontend-engineering/ • http://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/ • http://www.computedstyle.com/2010/12/hiring-front-end-engineers.html • http://www.nczonline.net/blog/2007/08/15/what-makes-a-good-front-end-engineer/ • http://css-tricks.com/interviewing-front-end-engineer-san-francisco/ • http://blog.codinghorror.com/all-programming-is-web-programming/ • http://www.stevesouders.com/blog/2012/02/10/the-performance-golden-rule/ • http://blog.kissmetrics.com/loading-time/ • https://twitter.com/necolas/status/343077206471348224 • http://www.codehesive.com/ninjarockstars/ • http://www.stevesouders.com/blog/2013/08/27/web-performance-for-the-future/ 65