Startups Stack Exchange Archive

How to achieve continuous deployment in a mobile app startup?

Continuous deployment is a process whereby all code that is written for an application is immediately deployed into production. The result is a dramatic lowering of cycle time and freeing up of individual initiative. It has enabled companies I’ve worked with to deploy new code to production as often as fifty times every day. Eric Ries

Android apps take about an hour, while iOS apps take about a week to deploy. What are tips and tricks to achieve the benefits of continuous deployment when it is technically really hard to achieve?

Answer 3413

The release cycle of mobile is one of its downsides compared to the web, but there are a few things you can do to make it better:

  1. If you're building an app that you use yourself ("dogfooding"), then you can do continuous delivery within the company by regularly delivering new builds to all co-workers (internal builds don't have to go through an app store).
  2. Even with a native mobile app, some of the content can be determined dynamically by your servers, which you can update any time. See Mobile A/B testing at LinkedIn: how members shape our apps for more info.
  3. You can take idea #2 even further by using a WebView (i.e., a web browser) within the mobile app for rapidly changing parts of the UI. This has downsides, such as slower performance and a look & feel and interactions that won't quite feel native, but if you need to iterate quickly, it can be worth it.

Answer 3348

Since, for native apps on app stores there is a review process for getting approved I am not sure if a true continuous integration will be feasible. However, one potential way to achieve that is using a mobile site instead of an app. Where the app just is a way to access the site. This way, whenever you make any changes to the website you can deploy it to everyone.


All content is licensed under CC BY-SA 3.0.