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
Building a production-ready front-end even if y...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Alexandre Santos
January 09, 2020
Programming
130
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Building a production-ready front-end even if your API does not exist
require('lx')
Alexandre Santos
January 09, 2020
More Decks by Alexandre Santos
See All by Alexandre Santos
Deno - Why should you care
asantos00
0
46
E2E tests with Cypress.io
asantos00
0
230
Mistakes I made writing React/Redux applications
asantos00
0
170
Other Decks in Programming
See All in Programming
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
220
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
150
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
210
React本体のコードリーディング
high_g_engineer
1
140
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
590
「人を評価する AI」の設計と実装
ryoyanara
0
180
その節約、円になってますか?
isamumumu
1
700
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
300
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
yield再入門 #phpcon
o0h
PRO
0
980
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
210
5分で問診!Composer セキュリティ健康診断
codmoninc
0
900
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
440
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Rails Girls Zürich Keynote
gr2m
96
14k
The Curse of the Amulet
leimatthew05
2
14k
GraphQLとの向き合い方2022年版
quramy
50
15k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
450
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
540
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
330
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.3k
Transcript
Alexandre Santos Production-ready front-end even if the API does not
exist 9th January 2020
Who am I? Alexandre Santos, 25 January 9th 2020 Full-stack
developer Software architecture, TDD, product
Develop an amazing user experience Against a finished and documented
API That's always stable With fully decided feature requirements Front-end
None
The goal Develop an amazing user experience
Against an almost finished & not documented API That's probably
unstable With fast changing feature requirements The Conditions
None
Problems Not finished API Unstable remote environment Fast changing requirements
Problems Front-end ahead of back-end Local environment Emulate back-end changes
locally Solutions Not finished API Unstable remote environment Fast changing requirements
Possible solution Local mocks
Advantages of local mocks Quickly develop and ship the working
front-end to a testing environment. Develop for the happy path seamlessly Payload is exactly what front-end needs
Taking a few steps back... Develop an amazing user experience
Flickering UI No loading states Possible unknown crashes No feedback
given to the user Amazing user experience?
Disadvantages of local mocks Ignoring network Only develop for the
happy path APIs can change, paths can change Loading states? Error scenarios? Feedback to the user?
Presenting Mirage JS Mirage JS is an API mocking library
that lets you build, test and share a complete working JavaScript application without having to rely on any backend services.
Started with ember.js in 2015 - ember-cli-mirage Front-end first development
Widely used (around 30k weekly) Recently extracted to a vanilla JS package A little bit of history
Demo time
Problems Front-end ahead of back-end Local environment Emulate back-end changes
locally Solutions Not finished API Unstable remote environment Fast changing requirements ✅ ✅ ✅
Future ideas Node.js support Better TypeScript typings Chaos Engineering approach
to miragejs OpenAPI miragejs generator
We’d love your help! miragejs/miragejs miragejs/website miragejs-caos miragejs-open-api [insert your
package] Join us on Discord Mirage JS
Thank you Questions? Github: asantos00 Twitter: ampsantos0