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
iOS with Continuous Delivery
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Cassie Shum
August 15, 2017
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
iOS with Continuous Delivery
Cassie Shum
August 15, 2017
Other Decks in Technology
See All in Technology
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
120
今さら理解するウェブフォントver.2026
takanorip
3
890
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
200
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.1k
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
180
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
350
AI コーディングと人間の認知スループット / CTO Night & Day 2026 Morning Session / AI Coding and Human Cognitive Throughput
prog893
4
1.2k
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
310
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
140
React改造してみた
tsukina_7mochi
0
100
DBについての基礎説明(MySQL編) - コロプラ 2026年度 新卒研修
colopl
0
110
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
480
Exploring anti-patterns in Rails
aemeredith
4
540
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
It's Worth the Effort
3n
188
29k
How to make the Groovebox
asonas
2
2.5k
Done Done
chrislema
187
17k
Side Projects
sachag
456
43k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Building the Perfect Custom Keyboard
takai
2
910
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
Transcript
@ c a s s i e n d IOS
WITH CONTINUOUS DELIVERY Cassie Shum
None
None
Continuous Deployment Continuous Delivery can deploy to production do deploy
to production 㱺
•User feedback •Believable •Reduced deployment risk
2 month’s work Many LOC Risk 1 day’s work Few
LOC Risk •User feedback •Believable •Reduced deployment risk
scope time target done •User feedback •Believable •Reduced deployment risk
Customer developent Agile product development Eric Ries, “The Lean Startup”
http://bit.ly/8ZoX5F •User feedback •Believable •Reduced deployment risk
Release Build Deploy Test
Release Build Deploy Test measure success via cycle time
Release Build Deploy Test
Design Patterns Clean Code Build
Controller Model View Uses Sees Updates Manipulates
Controller Model View Uses Sees Updates Manipulates • MVVM •
Clean Architecture • VIPER
MODEL-VIEW-VIEW-MODEL (MVVM) • Data binding • View Model • exposing
methods, commands, and other methods to maintain state of view • manipulate model in result of view actions • works with model objects explicitly
• Uncle Bob • Better decoupling • Better reusability •
Many more layers CLEAN ARCHITECTURE
• clean architecture • big projects • Single Responsibility Principle
VIPER
None
None
•SwiftLint/Tailor •OCLint •CPD •Static Analysis from XCode •FBinfer
fastlane Deployment platforms Deploy
CONTINUOUS DELIVERY TOOL
FASTLANE
None
Testing pyramid Continuous Integration Testing devices Test
How many tests? TESTING STACK manual
$$$$ ¢ manual
None
PUSHING DOWN THE PYRAMID! manual
CONTINUOUS INTEGRATION compile/unit tests functional test user acceptance test staging
… increasing confidence in production readiness artifact respository artifact respository artifact respository artifact respository Pipeline stages = feedback opportunities
CONTINUOUS INTEGRATION
JEZ HUMBLE’S 3-STEP TEST 1. Every developer commits to master
/ trunk every day 2. Every commit triggers build and test 3. Failures usually fixed in minutes
JEZ HUMBLE’S 3-STEP TEST 1. Every developer commits to master
/ trunk every day 2. Every commit triggers build and test 3. Failures usually fixed in minutes
IT’S GETTING BETTER? https://medium.com/xcblog/xcode9-xcode-server-comprehensive-ios-continuous-integration-3613a7973b48
None
None
App stores fastlane Metrics Release
GETTING READY FOR THE STORE
Upload screenshots, metadata and your app to the App Store
using a single command. Automate taking localized screenshots of your Android app on every device Automate taking localized screenshots of your iOS app on every device GETTING READY FOR THE STORE
devices/ localization screen grabs for submitting signing issues pushing/ preparing
certification processing/ submit
? ? ? ! ! ! ? ? !
None
None
None
Release Build Deploy Test metric driven features
Release Build Deploy Test
Cassie Shum @cassiend THANK YOU
Books: • Continuous Delivery - Jez Humble, Dave Farley •
Working Effectively with Legacy Code - Michael Feathers • Release It - Michael Nygard • Domain Driven Design - Eric Evans Articles/Blogs: • Branch by Abstraction - Jez Humble: http://continuousdelivery.com/2011/05/make-large-scale-changes-incrementally-with-branch-by-abstraction/ • Branch by Abstraction - Paul Hammant: http://paulhammant.com/blog/branch_by_abstraction.html/ • Feature Toggles - Martin Fowler: http://martinfowler.com/bliki/FeatureToggle.html •https://www.objc.io/issues/13-architecture/viper/ Tools: • Appium: http://appium.io/ • Kiwi: https://github.com/kiwi-bdd/Kiwi • Calabash: http://calaba.sh/ • Robolectric: http://robolectric.org/ • New Relic: https://newrelic.com/mobile-monitoring • Fastlane: https://fastlane.tools/ • Spoon: http://square.github.io/spoon/ REFERENCES