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

How I learned to love Ember

1a45b192d0bbaf167afb43a41859e313?s=47 Ju Liu
March 30, 2016

How I learned to love Ember


Ju Liu

March 30, 2016

More Decks by Ju Liu

Other Decks in Programming


  1. How I learned to <3 Ember

  2. HI!

  3. I'm Ju !

  4. You can find me as @arkh4m

  5. I'm Italian !


  7. I live in London !

  8. None
  9. I work at AlphaSights We're in London and New York

    And we're huuuge Ruby & Ember fans
  10. I'm addicted to rock climbing!

  11. None

  13. I'm here to tell a story

  14. A long time ago in a galaxy far, far away....

  15. I was a PhD student working on packet filtering in

    high speed networks
  16. Friend: "Hey, wanna join our Rails shop?"

  17. Me: "OK"


  19. I knew nothing about web development.

  20. So I started studying Ruby

  21. But that wasn't enough, so I studied Rails

  22. But that wasn't enough, so I studied OOP

  23. But that wasn't enough, so I studied TDD

  24. And I was happy

  25. I was really enjoying myself doing what every backend Ruby

    developer loves to do

  27. So I learned jQuery

  28. Then I learned KnockoutJS

  29. Then I learned BackboneJS

  30. Then I learned MarionetteJS

  31. Then I learned BatmanJS

  32. Then I learned AngularJS

  33. But I still wasn't happy

  34. None
  35. A9. The most advanced chip ever The most vivid Retina

    display ever TouchID faster and better than ever 3D Touch lets you do more than ever The most powerful 4-inch phone ever IOS 9 is smarter and more essential than ever The 27-inch iMac is faster and more powerful than ever
  36. When everything is revolutionary, probably nothing really is — Albert

  37. I was pretty deep into The Pit of JavaScript Disillusionment

  38. But I had my Ruby, my OOP and my TDD

  39. So everything was good!

  40. But one day..

  41. We're going to rebuild this Rails app in Ember!

  42. Initially I wasn't really excited

  43. None
  44. But then I start poking around...

  45. "This looks nice and familiar..."

  46. 15 minutes later...

  47. None
  48. Even though I thought I knew Rails and JS, Ember

    looked like something completely different
  49. And I wasn't a huge fan because it was doing

    too many things
  50. KISS

  51. Keep It Simple, Stupid

  52. Simple is better than complex — The Zen of Python

  53. Write programs that do one thing and do it well

    — Doug McIlroy
  54. Why do you have to go and make things so

    complicated? — Avril Lavigne
  55. 2 years later...

  56. Now I love Ember :)

  57. I can do everything!

  58. So what changed?

  59. The Gmail Test

  60. I have to rebuild Gmail. How would I do it?

  61. None
  62. I couldn't figure out a way to do it by

    keeping it simple...
  63. Simple is better than complex — The Zen of Python

  64. But complex is better than complicated — The Zen of

  65. None
  66. An ambitious application solves a real problem

  67. And as we know, reality is full of complexity

  68. Everything should be made as simple as possible, but not

    simpler — Albert Einstein
  69. So I stopped using 'simplicity' as an excuse :)

  70. Also, I found out why I wasn't enjoying myself in

  71. It wasn't the syntax

  72. It wasn't handling state

  73. It wasn't handling async

  74. But the revolution at any cost mindset


  76. None
  77. Second System Syndrome

  78. We need to rebuild this from scratch

  79. It's going to be easier, faster, more expressive

  80. But it's not gonna be backwards compatible

  81. → Perl 5 -> Perl 6

  82. → Python 2 -> Python 3

  83. → Angular 1 -> Angular 2

  84. Intelligent design

  85. I have the perfect plan, now let's build it

  86. None
  87. Natura non facit saltus — Linnaeus, 1751

  88. Stability Without Stagnation

  89. Eventually all the good ideas will end up in Ember

    — wycats
  90. When I was learning Ember, I was learning a piece

    of software.
  91. But the truth is, there are many pieces of software

  92. This is my framework. There are many like it, but

    this one is mine. — Full Metal Jacket
  93. But what I learned to love is much more than

    a frame of work
  94. It's a frame of mind

  95. It's having a truly open source process

  96. It's valuing backwards compatibility

  97. It's building inclusive communities

  98. It's embracing continuous mutation over short lived revolutions

  99. Don't be a JS Creationist Learn to love Ember!

  100. Thank you! ! @arkh4m engineering.alphasights.com