$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Versioning mobile apps and apis
Search
Marek Kalnik
October 30, 2015
Technology
0
93
Versioning mobile apps and apis
Our internal workshop material
Marek Kalnik
October 30, 2015
Tweet
Share
More Decks by Marek Kalnik
See All by Marek Kalnik
Ma liste subjective des 10 développeurs à connaitre
marekkalnik
0
73
Le management LEAN
marekkalnik
0
76
Comment Ionic vous aide
marekkalnik
0
140
Pourquoi choisir Ionic ?
marekkalnik
0
260
Cordova vs. Steroids
marekkalnik
0
150
Arrêtons de parler de code de qualité, ce qu'il faut c'est du code agile !
marekkalnik
2
620
Code Agile - comment redéfinir la qualité
marekkalnik
2
180
Behat - retour d'expérience
marekkalnik
1
420
Write your jQuery in console
marekkalnik
0
180
Other Decks in Technology
See All in Technology
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
120
ログ管理の新たな可能性?CloudWatchの新機能をご紹介
ikumi_ono
1
790
エンジニアリングをやめたくないので問い続ける
estie
2
1.2k
コンテキスト情報を活用し個社最適化されたAI Agentを実現する4つのポイント
kworkdev
PRO
1
1.5k
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
590
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
140
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
7
1.6k
AI-DLCを現場にインストールしてみた:プロトタイプ開発で分かったこと・やめたこと
recruitengineers
PRO
2
150
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
2
190
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
470
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
210
初めてのDatabricks AI/BI Genie
taka_aki
0
190
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.1k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Making Projects Easy
brettharned
120
6.5k
A better future with KSS
kneath
240
18k
Scaling GitHub
holman
464
140k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Transcript
VERSIONING MOBILE let your API and your APP evolve
SEMVER Given a version number MAJOR.MINOR.PATCH, increment the: MAJOR version
when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes.
THE APP versioning is not only about code
None
IN APP COMMUNICATION ➤ let the user know what version
he’s using, so he may communicate it to you ➤ show application version in the application itself (it may include build #)
KEEP VERSION NUMBER AUTOMATIC ➤ gulp-bump ➤ an after_prepare_hook (http://devgirl.org/2013/11/12/three-hooks-
your-cordovaphonegap-project-needs/): var version = require(__dirname + ‘../../package.json’).version ➤ gulp-git ➤ add a git tag with -a (demo time)
HOW TO HANDLE VERSIONS ➤ call URL’s with /{version_number} ?
HTTP GET: https://api.bamlab.fr/v2/hello ➤ add api-version header HTTP GET: https://api.bamlab.fr/hello api-version: 2 ➤ add Accept header HTTP GET: https://api.bamlab.fr/hello Accept: application/vnd.bamlab.v2+json
THE BACK it’s all about contract
INTEGRATE THE VERSIONING IN ROUTING ➤ http://restify.com/#versionned-routes ➤ http://www.slideshare.net/shakefon/hapidays-2014/9? src=clipshare
➤ http://www.slideshare.net/shakefon/hapidays-2014/18? src=clipshare ➤ https://github.com/felipeleusin/hapi-negotiator
NOTIFY OLD VERSIONS ➤ send a DEPRECATED header and expose
a /version route ➤ send a 410 GONE response if you are removing a ressource 410 GONE AND IT WON’T BE COMING BACK
VERSION YOUR DATA MODEL ➤ think about metadata ➤ add
meta_version_number ➤ add a transformer to transform the model before exposing it to either version