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
Versioning mobile apps and apis
Search
Marek Kalnik
October 30, 2015
Technology
0
91
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
72
Le management LEAN
marekkalnik
0
74
Comment Ionic vous aide
marekkalnik
0
140
Pourquoi choisir Ionic ?
marekkalnik
0
260
Cordova vs. Steroids
marekkalnik
0
140
Arrêtons de parler de code de qualité, ce qu'il faut c'est du code agile !
marekkalnik
2
600
Code Agile - comment redéfinir la qualité
marekkalnik
2
180
Behat - retour d'expérience
marekkalnik
1
410
Write your jQuery in console
marekkalnik
0
180
Other Decks in Technology
See All in Technology
今のコンピュータ、AI にも Web にも 向いていないので 作り直そう!!
piacerex
0
660
設計に疎いエンジニアでも始めやすいアーキテクチャドキュメント
phaya72
27
19k
Amazon Q Developer CLIをClaude Codeから使うためのベストプラクティスを考えてみた
dar_kuma_san
0
340
最近読んで良かった本 / Yokohama North Meetup #10
mktakuya
0
910
20251106 Offers DeepDive 知識を民主化!あらゆる業務のスピードと品質を 改善するためのドキュメント自動更新・活用術
masashiyokota
1
220
プロダクトエンジニアとしてのマインドセットの育み方 / How to improve product engineer mindset
saka2jp
1
190
アノテーション作業書作成のGood Practice
cierpa0905
PRO
1
410
CLIPでマルチモーダル画像検索 →とても良い
wm3
2
810
Copilotの精度を上げる!カスタムプロンプト入門.pdf
ismk
6
1.5k
よくわからない人向けの IAM Identity Center とちょっとした落とし穴
kazzpapa3
2
170
データとAIで明らかになる、私たちの課題 ~Snowflake MCP,Salesforce MCPに触れて~ / Data and AI Insights
kaonavi
0
340
ubuntu-latest から ubuntu-slim へ移行しよう!コスト削減うれしい~!
asumikam
0
110
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Cult of Friendly URLs
andyhume
79
6.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Embracing the Ebb and Flow
colly
88
4.9k
Navigating Team Friction
lara
190
15k
How STYLIGHT went responsive
nonsquared
100
5.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
It's Worth the Effort
3n
187
28k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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