Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Taming large Rails apps with Mutations
Search
Gavin Joyce
September 02, 2015
Programming
380
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Taming large Rails apps with Mutations
A lightning talk that I gave at Full Stack Fest
Gavin Joyce
September 02, 2015
More Decks by Gavin Joyce
See All by Gavin Joyce
Scaling Ember at Intercom - EmberCamp London
gavinjoyce
1
240
Taming Content Editable with Ember.js - Ember NYC
gavinjoyce
1
130
Taming Content Editable with Ember.js
gavinjoyce
1
380
Other Decks in Programming
See All in Programming
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
280
JavaDoc 再入門
nagise
1
380
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.3k
Agentic UI
manfredsteyer
PRO
0
190
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
120
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
260
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.2k
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.4k
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.7k
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
180
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
6.1k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Typedesign – Prime Four
hannesfritz
42
3.1k
Bash Introduction
62gerente
615
220k
Automating Front-end Workflow
addyosmani
1370
210k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
590
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
140
Color Theory Basics | Prateek | Gurzu
gurzu
0
370
Prompt Engineering for Job Search
mfonobong
0
350
Transcript
Taming large Rails apps with Mutations @gavinjoyce
We're on a mission to make internet business personal.
Mutations
DB Controller View Model
DB Controller View Client Application Model
DB Controller View Ember.js App Model iOS App iOS SDK
Android App Android SDK Customer Apps
DB Controller Ember.js App Model iOS App iOS SDK Android
App Android SDK Customer Apps
DB API Ember.js App Model iOS App iOS SDK Android
App Android SDK Customer Apps
DB Ember.js App Model iOS App iOS SDK Android App
Android SDK Customer Apps Mobile APIs Ember APIs Public APIs v1 v2 v3
MySQL Ember.js App Model iOS App iOS SDK Android App
Android SDK Customer Apps Mobile APIs Ember APIs Public APIs v1 v2 v3 DynamoDB Mongo Memcached Redis
MySQL Ember.js App 100+ Models iOS App iOS SDK Android
App Android SDK Customer Apps Mobile APIs Ember APIs Public APIs v1 v2 v3 DynamoDB Mongo Memcached Redis
Ember.js App 100+ Models iOS App iOS SDK Android App
Android SDK Customer Apps Mobile APIs Ember APIs Public APIs v1 v2 v3 DB
Ember.js App 100+ Models iOS App iOS SDK Android App
Android SDK Customer Apps API DB
Client 100+ Models API DB
100+ Models API DB
100+ Models DB
200+ Models DB Large surface area Callback hell Brittle Problematic
with 40+ Engineers
Mutations
None
None
100+ Models DB
Models DB Internal API We use mutations to create REST
like internal interfaces to our core services
Models DB
Models DB User API
Models DB User API Message API
Models DB User API Message API Conversation API
Models DB User API Message API Conversation API These are
logically decoupled
Models DB User API Message API Conversation API Mobile APIs
Ember APIs Public APIs v1 v2 v3
Models DB User API Message API Conversation API Mobile APIs
Ember APIs Public APIs v1 v2 v3 We also use mutations to define our external APIs
Rails App Models DB User API Message API Conversation API
Ember.js App iOS App iOS SDK Android App Android SDK Customer Apps Mobile APIs Ember APIs Public APIs v1 v2 v3
If you have any questions... @gavinjoyce
Thanks for listening! @gavinjoyce