Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Versioning mobile apps and apis
Search
Marek Kalnik
October 30, 2015
Technology
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Versioning mobile apps and apis
Our internal workshop material
Marek Kalnik
October 30, 2015
More Decks by Marek Kalnik
See All by Marek Kalnik
Ma liste subjective des 10 développeurs à connaitre
marekkalnik
0
99
Le management LEAN
marekkalnik
0
87
Comment Ionic vous aide
marekkalnik
0
160
Pourquoi choisir Ionic ?
marekkalnik
0
290
Cordova vs. Steroids
marekkalnik
0
160
Arrêtons de parler de code de qualité, ce qu'il faut c'est du code agile !
marekkalnik
2
690
Code Agile - comment redéfinir la qualité
marekkalnik
2
210
Behat - retour d'expérience
marekkalnik
1
470
Write your jQuery in console
marekkalnik
0
190
Other Decks in Technology
See All in Technology
「エーアイ」をバズワードにしないために RPA 導入経験と Kiro 上での Claude モデル利用経験から
kazzpapa3
0
120
ガチで放置できるClaude Code実行環境の作り方.pdf
lamaglama39
5
9.4k
Claude Code on Bedrock で統制をかける小ネタ集/claude-code-bedrock-governance-tips
emiki
1
11k
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
400
LLM-as-a-Judgeは本当に信頼できるのか――評価器を評価する話
taka_aki
3
1.1k
ポケモン対戦を自動で記録して振り返ろう
fufufukakaka
0
310
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
140
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
260
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
0
150
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
4
680
日本AIベンチャーレポート2026
kentarofujii
0
210
Refining Active Record
shugo
0
230
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
490
Optimising Largest Contentful Paint
csswizardry
37
4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
640
Navigating Team Friction
lara
192
16k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
640
Raft: Consensus for Rubyists
vanstee
142
7.8k
Why Our Code Smells
bkeepers
PRO
340
58k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
47k
Done Done
chrislema
187
17k
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