Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
How I learned to love Ember
Search
Ju Liu
March 30, 2016
Programming
1.3k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How I learned to love Ember
Ju Liu
March 30, 2016
Transcript
100 slides
How I learned to <3 Ember
HI!
I'm Ju !
You can find me as @arkh4m
I'm Italian !
MAMMA BUTTA LA PASTA
I live in London !
None
I work at AlphaSights We're in London and New York
And we're huuuge Ruby & Ember fans
I'm addicted to rock climbing!
None
BUSINESS TIME
I'm here to tell a story
A long time ago in a galaxy far, far away....
I was a PhD student working on packet filtering in
high speed networks
Friend: "Hey, wanna join our Rails shop?"
Me: "OK"
PROBLEM
I knew nothing about web development.
So I started studying Ruby
But that wasn't enough, so I studied Rails
But that wasn't enough, so I studied OOP
But that wasn't enough, so I studied TDD
And I was happy
I was really enjoying myself doing what every backend Ruby
developer loves to do
BUT THEN CAME THE JAVASCRIPT
So I learned jQuery
Then I learned KnockoutJS
Then I learned BackboneJS
Then I learned MarionetteJS
Then I learned BatmanJS
Then I learned AngularJS
But I still wasn't happy
None
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
When everything is revolutionary, probably nothing really is — Albert
Einstein
I was pretty deep into The Pit of JavaScript Disillusionment
But I had my Ruby, my OOP and my TDD
So everything was good!
But one day..
We're going to rebuild this Rails app in Ember!
Initially I wasn't really excited
None
But then I start poking around...
"This looks nice and familiar..."
15 minutes later...
None
Even though I thought I knew Rails and JS, Ember
looked like something completely different
And I wasn't a huge fan because it was doing
too many things
KISS
Keep It Simple, Stupid
Simple is better than complex — The Zen of Python
Write programs that do one thing and do it well
— Doug McIlroy
Why do you have to go and make things so
complicated? — Avril Lavigne
2 years later...
Now I love Ember :)
I can do everything!
So what changed?
The Gmail Test
I have to rebuild Gmail. How would I do it?
None
I couldn't figure out a way to do it by
keeping it simple...
Simple is better than complex — The Zen of Python
But complex is better than complicated — The Zen of
Python
None
An ambitious application solves a real problem
And as we know, reality is full of complexity
Everything should be made as simple as possible, but not
simpler — Albert Einstein
So I stopped using 'simplicity' as an excuse :)
Also, I found out why I wasn't enjoying myself in
JS
It wasn't the syntax
It wasn't handling state
It wasn't handling async
But the revolution at any cost mindset
HYPE FATIGUE
None
Second System Syndrome
We need to rebuild this from scratch
It's going to be easier, faster, more expressive
But it's not gonna be backwards compatible
→ Perl 5 -> Perl 6
→ Python 2 -> Python 3
→ Angular 1 -> Angular 2
Intelligent design
I have the perfect plan, now let's build it
None
Natura non facit saltus — Linnaeus, 1751
Stability Without Stagnation
Eventually all the good ideas will end up in Ember
— wycats
When I was learning Ember, I was learning a piece
of software.
But the truth is, there are many pieces of software
around.
This is my framework. There are many like it, but
this one is mine. — Full Metal Jacket
But what I learned to love is much more than
a frame of work
It's a frame of mind
It's having a truly open source process
It's valuing backwards compatibility
It's building inclusive communities
It's embracing continuous mutation over short lived revolutions
Don't be a JS Creationist Learn to love Ember!
Thank you! ! @arkh4m engineering.alphasights.com
More Decks by Ju Liu
See All by Ju Liu
Taking back control of your life with Nerves
arkham
0
170
The best tomato pasta of your life
arkham
1
320
Have your Sorbet and eat it too
arkham
1
140
No REST for the wicked: an introduction to GraphQL
arkham
4
250
Sonic Pi, Live Music, Live Coding
arkham
2
290
The Design of Everyday Ruby
arkham
3
490
Remote is not remote
arkham
0
210
^RegexR4Strn<3$
arkham
2
530
Learn Javascript or Die
arkham
1
370
Other Decks in Programming
See All in Programming
Scalaの型でマルチテナントの認可を守る
nextbeatdev
0
120
なぜ私たちは「現時点では」KMPの導入を見送ったのか
chigichan24
0
220
自宅サーバはどこまで再現できるのか - Proxmox VE上のVM環境をIaCとバックアップで戻してみた
youto
0
260
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
230
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
350
SODA - FACT BOOK(EN)
sodainc
1
240
コード生成時代のAPI定義を支えるRequest Spec移行
pvcresin
0
140
AIが実装を担う時代の「技術設計」と「チームマネジメント」
kamina_zzz
2
260
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
2.4k
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
350
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
200
オーケストレーション記述言語 Katari
yukikurage
0
260
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
350
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
The Curious Case for Waylosing
cassininazir
1
610
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
4
1.3k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Speed Design
sergeychernyshev
33
2.2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
640
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
350
Technical Leadership for Architectural Decision Making
baasie
4
650
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.3k