Upgrade to Pro — share decks privately, control downloads, hide ads and more …

iOS with Continuous Delivery

iOS with Continuous Delivery

Cassie Shum

August 15, 2017
Tweet

Other Decks in Technology

Transcript

  1. @ c a s s i e n d IOS

    WITH CONTINUOUS DELIVERY Cassie Shum
  2. 2 month’s work Many LOC Risk 1 day’s work Few

    LOC Risk •User feedback •Believable •Reduced deployment risk
  3. Customer developent Agile product development Eric Ries, “The Lean Startup”

    http://bit.ly/8ZoX5F •User feedback •Believable •Reduced deployment risk
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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