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
87
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
71
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
570
Code Agile - comment redéfinir la qualité
marekkalnik
2
180
Behat - retour d'expérience
marekkalnik
1
400
Write your jQuery in console
marekkalnik
0
180
Other Decks in Technology
See All in Technology
九州の人に知ってもらいたいGISスポット / gis spot in kyushu 2025
sakaik
0
140
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
1
190
ロールが細分化された組織でSREと協働するインフラエンジニアは何をするか? / SRE Lounge #18
kossykinto
0
210
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
140
「AIと一緒にやる」が当たり前になるまでの奮闘記
kakehashi
PRO
3
140
猫でもわかるQ_CLI(CDK開発編)+ちょっとだけKiro
kentapapa
0
3.4k
20250807_Kiroと私の反省会
riz3f7
0
210
Segment Anything Modelの最新動向:SAM2とその発展系
tenten0727
0
720
Claude Codeから我々が学ぶべきこと
oikon48
10
2.8k
UDDのススメ - 拡張版 -
maguroalternative
1
470
o11yツールを乗り換えた話
tak0x00
2
930
Findy Freelance 利用シーン別AI活用例
ness
0
450
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Practical Orchestrator
shlominoach
190
11k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
8
550
Building an army of robots
kneath
306
45k
Typedesign – Prime Four
hannesfritz
42
2.7k
Docker and Python
trallard
45
3.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How to Ace a Technical Interview
jacobian
278
23k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Why Our Code Smells
bkeepers
PRO
337
57k
Optimizing for Happiness
mojombo
379
70k
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