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
100
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
94
Le management LEAN
marekkalnik
0
79
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
680
Code Agile - comment redéfinir la qualité
marekkalnik
2
200
Behat - retour d'expérience
marekkalnik
1
460
Write your jQuery in console
marekkalnik
0
190
Other Decks in Technology
See All in Technology
モダンフロントエンド 開発研修
recruitengineers
PRO
4
820
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
150
Apache Icebergインフラストラクチャ:ストレージ・カタログ・エンジンの選択肢とClouderaプラットフォームでの実装
tsugiyama
0
120
Sets in Go
ramalho
1
1.1k
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.7k
関東Kaggler会発表資料
takoi
1
260
モバイルアプリ開発概論2026
recruitengineers
PRO
6
670
Genie Codeハンズオン応用編
taka_aki
0
130
Model Studio CLI × Token Plan
maigo999
0
190
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
1.1k
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
840
DDDのエッセンスを取り入れたAIでの開発
ak2ie
0
130
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
sira's awesome portfolio website redesign presentation
elsirapls
0
330
Joys of Absence: A Defence of Solitary Play
codingconduct
1
440
Designing for humans not robots
tammielis
254
26k
Git: the NoSQL Database
bkeepers
PRO
432
67k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
270
The Curse of the Amulet
leimatthew05
2
14k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Navigating Team Friction
lara
192
16k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
Accessibility Awareness
sabderemane
1
180
First, design no harm
axbom
PRO
2
1.3k
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