Mobile devices have changed the software development and consumption ecosystem in the last few years. Usage of mobile devices grows by the year and it’s no wonder that we see overcrowded mobile application marketplaces.
Software development companies often feel lucky if their application reaches the top of the marketplace lists. Or they need to invest substantial funds into marketing to achieve the same.
So, what can a software development company that specializes in mobile apps do to improve their chances in the global markets?
Well, the answer to that is surprisingly simple and the big software development companies are already doing that for years.
It is continuous integration and continuous delivery.
We’ve talked about the importance of continuous integration, and about the difference between web and mobile continuous integration tools.
It seems that companies that create mobile apps are still not fully aware of the importance of the CI/CD tools in their development process. Continuous integration tends to be overlooked when you have small teams working on an app, or when an app is not big enough. This is a wrong way to look at it and whatever you do or create, you can benefit from using a CI tool.
Our focus will be on the CI tools that specialize in mobile apps only.
So let’s check out the Top Mobile Continuous Integration Tools:
The first continuous integration & delivery tool on our list is Nevercode.io, a polished and robust tool to fully automate your mobile app build and test process.
If you opt-in to use Nevercode.io you get:
- Automatic configuration and setup of iOS, Android, Cordova, Ionic & React Native projects
- Test automation with Firebase/ Amazon Device Farm and test parallelization
- Automatic publishing to various platforms including Google Play, iTunes Connect, HockeyApp, Crashlytics, TestFairy
- Comprehensive analytics
- Concurrent builds
- Integration with Slack, HipChat and other communication channels
- Encryption of data
- First class support
Nevercode.io offers a 14-day trial, and three pricing plans to their customers and they are pretty flexible, so you can choose the one most suitable for your team. Each plan includes unlimited team members support, but the difference lies in build parallelization and live support and even training.
If you ever find yourself stuck you can check the comprehensive documentation pages and blog, or talk to the support team.
Verdict: Polished and modern tool, with a heap of very neat features, flexible pricing plans, 14-day trial period, comprehensive documentation pages and lively support.
Visual Studio App Center
As you might have guessed it by the name, Visual Studio App Center comes from Microsoft labs. Microsoft is known to have both good and bad products (looking angrily at Skype). So let’s see which side the App Center is on.
At first glance, you get a simplistic design, but when you dig deeper you get a lot of goodies out of the box. As you can see in the picture above, App Center supports a lot of different kinds of applications, and can automatically detect what app you want to build.
When you decide to use App Center, you can count on:
- Support for: iOS, Android, Windows, React Native, Xamarin, and even more apps
- Intuitive but powerful UI
- Integration with GitHub, BitBucket, and VSTS
- Push notifications
- “Crash reports so nice, you’ll almost want your app to crash.”
- A lot of analytics and charts
There is a free 30-day trial period which includes 240 build minutes per month, unlimited users, analytics and crash reports, up to 5 audience segments for push notifications. You can scale your plans by adding additional build concurrencies or by adding device testing concurrency which is a nice feature, but a bit pricey.
Verdict: Simplistic but powerful tool from Microsoft, with a focus on parallel device testing, push notifications for audience segments, and a ton of useful analytics and crash reports.
The other difference is that it’s not a hosted solution, but you need to install it on your machine (Similarly to what you do with TeamCity for example).
To install Fastlane you need to have the latest version Xcode command line tools installed. The complete tutorial on how to install Fastlane is described in the documentation pages.
Currently, Fastlane is only supported for MacOS, but the team is looking to expand it to Linux and Windows.
What you get with Fastlane:
- Around 170 integrations with other services
- 100% open source project under the MIT license
- The on-premises solution, so you know where your data is, no need to worry about data security (except your own heh)
- Integration with all major CI tools
- Support for iOS, Mac, and Android apps
- Unlimited customization possibilities
- Deployment from anywhere
There are no pricing plans, Fastlane is completely free and open source, so you can play with it and customize it to your own liking.
Verdict: Open-source tool under MIT license, a bit different and maybe not so rich in features like the other tools from this list, but the open-source nature leaves a lot of room for customization. Since it’s an on-premises tool, you know where your data is and that might be important to some of you or your clients.
Another great mobile ci tool, Bitrise.io made by the company of the same name.
Bitrise.io offers a few different ways of configuring your mobile applications. You can use a workflow editor to create your build process, customize it to your will with the usage of .yml files or by using the Bitrise CLI. Bitrise CLI is an open source project and you can fork it to mod it for your need or make a pull request if you think you can add a new feature to it.
You can get a quick look at the state of app development in 2017 on the Bitrise.io blog.
By using Bitrise.io you get:
- A lot of different integrations
- Support for: iOS, Android, Cordova, Xamarin, MacOS, React Native and Ionic
- Three different ways to configure and build your applications
- Excellent documentation and blog pages
- A community engaging environment by using the Open Source projects
- Engineering support
- Less coffee/month as a service (there is a lot more of those)
Bitrise.io offers three pricing plans: Hobby, Team, and Organization (Standard and Elite), so they are pretty flexible with their plans. In addition to 14-day trial period, the Hobby plan is free but very limiting. Team and Organization plans are much more serious and include unlimited members/builds per month, but are priced by concurrent builds.
Verdict: Another great tool, focusing on integration flexibility, community engagement and offers several different ways to configure your projects
The last tool on our list is buddybuild. We’ve saved it for the last because it doesn’t seem to stand out in a crowd in any way. Furthermore, the UI of the home page is not clear enough on how to get started with the app or what the pricing plans are.
We’ve tried logging in with both GitHub and BitBucket and we got the following page:
An ambiguous message, that doesn’t tell you what to do next.
Trying to find the solution in the documentation pages didn’t help us either. Trying to contact the support hasn’t gone any better, we’ve got a lot of ambiguous answers, that haven’t helped us understand what is happening with the service or how to use it. Upon further investigation, we’ve learned that buddybuild has been bought by Apple and that it’s not open to new customers or Android projects.
We’ll leave the tool on this list since we don’t have any more information for now.
Verdict: We couldn’t test buddybuild properly or learn more about what’s going to happen with it. The overall experience with the tool left us with a bad taste in our mouth. We hope that sometime in the near future, the buddybuild team will know more/say more about the service status. You don’t have a choice but to avoid this tool for now.
Still Not Sure If You Should Use a Mobile CI Tool?
CI tools have come a long way recently and there isn’t much overhead if you want to start using a CI tool. On average, setup phase only takes a few minutes, and it’s a well-known fact that earlier in the lifecycle you catch the bug, the less of the cost you’ll have later.
As you can see it’s pretty straightforward. The earlier you catch the bug, the less damage it makes.
So are you willing to make the leap of faith and not use one of the CI tools for your mobile app?
We’ve gone through a few of the mobile continuous integration tools available on the market. The awareness about these tools is still not up to the desired level so we hope this article will help you understand the value and the importance of using a CI tool for your next mobile project.
Is there a mobile-oriented CI tool you prefer and want to see this list? Do let us know.