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

London JS: The State of JavaScript

London JS: The State of JavaScript

Jack Franklin

May 27, 2015
Tweet

More Decks by Jack Franklin

Other Decks in Technology

Transcript

  1. The State of JavaScript

    View Slide

  2. @Jack_Franklin

    View Slide

  3. View Slide

  4. https://gocardless.com/blog/how-we-built-the-new-gocardless.com/

    View Slide

  5. things people keep tweeting
    4

    View Slide

  6. it’s difficult to get into
    front end web development
    1

    View Slide

  7. it’s difficult to get into
    front end web development
    it’s difficult to build client side
    applications

    View Slide

  8. HTML + CSS + the odd bit of
    jQuery

    View Slide

  9. complexity for complexity’s sake

    View Slide

  10. View Slide

  11. it’s difficult to build client side
    applications
    2

    View Slide

  12. building client side applications
    is complex

    View Slide

  13. http://www.smashingmagazine.com/2013/06/11/front-end-ops/
    “application logic is being
    deferred to the client side. For
    some reason, though, operations
    folks aren’t going with it”

    View Slide

  14. moving work to the client
    necessarily leads to a more
    involved, complex front end
    workflow
    (and that’s not a bad thing)

    View Slide

  15. I constantly feel that I'm behind
    on my homework having to
    evaluate new libraries and
    frameworks showing up
    https://news.ycombinator.com/item?id=9604203
    3

    View Slide

  16. View Slide

  17. "But how can we get anything
    done when we’re spending most
    of our time learning?"
    http://www.breck-mckye.com/blog/2014/12/the-state-of-javascript-
    in-2015/

    View Slide

  18. Stop trying to learn. Build things
    in whatever you’re comfortable
    with.

    View Slide

  19. “As you get better, these new
    frameworks and tools become
    way less daunting and the
    anxiety caused by things moving
    too fast will subside.”
    http://wesbos.com/overwhelmed-with-web-development/

    View Slide

  20. Focus on a higher level and
    remove the anxiety

    View Slide

  21. deep knowledge of 1-2 tools
    you rely on is always
    superior

    View Slide

  22. there are too many frameworks
    4

    View Slide

  23. View Slide

  24. in the last 12 - 24 months…
    backbone
    angular
    ember
    react

    View Slide

  25. this is not a bad thing!

    View Slide

  26. competition = improvement
    (ReactJS rendering)

    View Slide

  27. “Why we moved from A to
    B and why A is rubbish”

    View Slide

  28. pressure to be on the
    latest and greatest

    View Slide

  29. use cases

    View Slide

  30. don’t under value familiarity

    View Slide

  31. GoCardless picked Angular

    View Slide

  32. and now we’re quite good at it

    View Slide

  33. “will you move from Angular to
    X?

    View Slide

  34. https://roost.bocoup.com/2015/austin/blog/why-backbone/

    View Slide

  35. so many considerations

    View Slide

  36. https://twitter.com/padolsey/status/603203449803636737

    View Slide

  37. View Slide

  38. no framework is good at
    everything
    no framework is bad at
    everything

    View Slide

  39. libraries vs frameworks

    View Slide

  40. View Slide

  41. npm unified package publication

    View Slide

  42. proper dependency management
    and versioning!

    View Slide

  43. View Slide

  44. ECMAScript 6
    ECMAScript 2015

    View Slide

  45. Release Candidate 4
    https://people.mozilla.org/~jorendorff/es6-draft.html

    View Slide

  46. goals of ES6
    3

    View Slide

  47. complex applications

    View Slide

  48. libraries

    View Slide

  49. code generation
    (compile to JS)

    View Slide

  50. https://youtu.be/mPq5S27qWW8

    View Slide

  51. block scoping
    arrow functions
    destructuring
    default parameters

    View Slide

  52. adoption and familiarity

    View Slide

  53. we’re not writing “straight up”
    JavaScript any more

    View Slide

  54. View Slide

  55. testing grounds

    View Slide

  56. =>

    View Slide

  57. View Slide

  58. View Slide

  59. SystemJS

    View Slide

  60. jspm
    http://javascriptplayground.com/blog/2014/11/js-modules-jspm-
    systemjs/

    View Slide

  61. https://youtu.be/NpMnRifyGyw

    View Slide

  62. http://www.bbc.co.uk/news/magazine-16444966

    View Slide

  63. “Photographs will be
    telegraphed from any
    distance… striking events will
    be published… an hour later…
    photographs will reproduce all
    of nature’s colours.”

    View Slide

  64. “Wireless telephone and
    telegraph circuits will span the
    world. A husband in the
    middle of the Atlantic will be
    able to converse with his wife
    sitting in her boudoir in
    Chicago.”

    View Slide

  65. “There will be no C, X or Q in
    our everyday alphabet. They
    will be abandoned because
    unnecessary.”

    View Slide

  66. things that will may (won’t)
    happen in JavaScript in the next
    12-24 months…
    8

    View Slide

  67. …for complex web applications

    View Slide

  68. fewer people will write JS
    without going through a
    compilation step
    1

    View Slide

  69. (TypeScript and Babel in
    particular)

    View Slide

  70. Smaller libraries (and the
    composing of) will become more
    popular
    2

    View Slide

  71. Focus on libraries doing one
    thing well (MomentJS,
    Immutable)
    3

    View Slide

  72. The monoliths (Angular, Ember)
    will always have their place and
    use cases
    4

    View Slide

  73. The use of compilers like Babel
    will be abstracted away by build
    tools like jspm and Webpack
    5

    View Slide

  74. Running the same JS client side
    and server side will become
    more popular
    6

    View Slide

  75. and the phrase “Isomorphic
    JS” will die in a pit of fire
    6.1

    View Slide

  76. As ES6 implementations grow
    and stabilise, we’ll already be
    writing ES7 anyway
    7

    View Slide

  77. The rate of new frameworks will
    slow down
    8

    View Slide

  78. In 12 months, tweet me telling
    me how right wrong I was

    View Slide

  79. @Jack_Franklin

    View Slide