Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
Continuous integration saves up to 20% of work day. What we learned about CI/CD analyzing more than 75k builds.
Photo by Artem Sapegin on Unsplash
One can read a lot of why continuous integration is a powerful technique and how it can speed up your mobile app development process. However, we decided to dig deeper and analyze who are the users of a continuous integration tool tailored for mobile (confused about why CI for mobile is different than standard CI?) and what are their cases, needs and, most importantly, the benefits…in real numbers! We gathered data from Nevercode, a CI/CD tool for Android, iOS, React Native, Ionic and Cordova, and analyzed more than 75K builds from the first quarter of 2018. Here are the results.
What is continuous integration (CI)
In short, continuous integration (CI) is a software development practice of merging developer build copies daily, if not multiple times a day, into a shared code repository.
Each integration is verified by an automated build to detect errors and get to the root of the problem as soon as possible without losing track of the development process. Check out the top CI tools for mobile projects.
Who are using CI/CD tools for mobile?
Continuous integration as a software practice is nothing new to web developers. While the concept of CI remains the same, the practicalities of mobile CI are somewhat different.
Learn more about why continuous integration focused on mobile is a smarter choice for your app development process. Spoiler alert: automatic setup, fast and furious delivery!
Now, let’s see what the user profile of a mobile-oriented continuous integration tool looks like.
Platforms: the rise of modern programming languages
Unsurprisingly, the most popular platforms built on Nevercode are still Android and iOS, each taking a massive one third of all projects. Compared to the last quarter of 2017, the situation has definitely improved in favor of Android projects. Starting out at 30.5% last year, Android has taken the center stage with more than 37% of all builds while iOS has decreased it’s share to 32.4%.
The success of Android projects can be explained by the rising popularity of Kotlin, a relatively new programming language for JVM. In his article on Medium, Magnus Vinther sums up 17 hard-to-resist arguments why you should switch to Kotlin. Do you agree?
We can also see a new popular platform on the block, React Native, which has doubled the number of builds within a quarter up to 17.2% of total share. Adriano Raiano, Cloud System/Software Architect at Dormakaba, has expressed the belief that more web developers will start to develop native mobile apps (i.e. react-native).
“Dormakaba exivo team uses approximately 70% of the same code we have in our react web apps also in our mobile app,” says Adriano.
The platforms with the fewest number of apps are Ionic (10.2%) and Cordova (3.2%).
What do you think about modern platforms like React Native and Ionic? Share your thoughts via Twitter.
CI/CD & hosting services
So, where do mobile app developers like to keep their repositories? Looking at Nevercode builds, we can conclude that still minor players in the field are Bluemix with 2.2%, Visualstudio with 4.1% and Gitlab with 8.1%.
It’s important to note that Bluemix and Visualstudio are fairly new players in the field and are already showing a promising trend. We are more than curious about how they are going to change the game.
The popularity of self-hosted Git solutions has slightly increased (by 5.6%) to 16.9%. The cloud solutions that mobile app developers love the most for hosting their repositories are still Bitbucket with 28.1% and Github with 40.3%.
CI/CD & integrations
What are the top integrations that mobile app developers love to match with their continuous integration service?
One of the main benefits of a continuous integration tool is improved communication. When a build fails, the whole team will be notified so as to immediately get to the root of the problem. For this reason, the top of all the integrations is ruled by good old email with 24.5% and Slack with 20.9%, both of which help to improve the daily team communication.
The communication integrations are followed by distribution integrations. The third most popular integration among mobile app developers is iTunes (16%), followed by Google Play Store (10.5%). Let’s not forget that continuous integration together with the right delivery tools is a powerful combination.
The cool thing about continuous integration and delivery is that you can fully automate the delivery process and meet happy end users faster. Every developer knows that healthy code means better sleep at night!
Not surprisingly, the third type of integrations that Nevercode users implement have to do with app performance reporting. It’s a well-known fact that the earlier in development lifecycle you catch the bug, the less it will cost you later. Period. That’s why Crashlytics for iOS with 12.2% and HockeyApp for Android and Cordova projects with 12.1% are popular tools among mobile app developers.
The least frequently implemented integrations among Nevercode users are Testfairy (2.4%), a beta testing platform for Android and iOS, followed by Hipchat (0.9%) for internal messaging and Relution (0.5%) for mobility management.
Team & projects benefiting from CI
Now that we have understood the mobile CI user profile, let’s see what kind of projects they have.
Building an awesome mobile app is often a professional team sport (respect for indie developers!), which is already evident in the great popularity of communication integrations. The majority of the teams using Nevercode CI have less than 5 developers. However, the importance of continuous integration for every mobile application project increases as the number of developers grows.
The true benefit of continuous integration unlocks for Nevercode teams that have more than 20 team members.
What about apps?
On average, one team builds 1–2 mobile apps on Nevercode. However, Nevercode also works successfully with teams that build over 20 apps by offering them custom solutions. That’s amazing, isn’t it!
Use cases
Throughout the years, we have conducted several surveys to find out what are the common problems that motivate developers to look for mobile-focused CI/CD services. Nevercode users have spoken, and I will present you the main reasons:
“One tool to build them all”“Automation”“No more code signing errors for real”“Workflows are the real superpower of CI/CD pipeline”“Jenkins headache”“React Native”“100% of visibility and traceability”“Firebase Test Lab”“First class support”“Automatic setup and extremely feature rich”Photo by William Iven on Unsplash
20% of work time saved every day!
What about real numbers? I want to know how much I am winning, you might say. Fair enough.
In the first quarter of 2018, one mobile CI/CD tool on the example of Nevercode ran builds in total more than 1.5 million minutes. If we calculate the saved time for each team, we see that Nevercode is saving developers around 20% of a work day!
I other words, Nevercode is saving a team about 4 work days in a month! It makes almost 10 weeks in a year!
Like that’s not crazy enough, you’ll save a 2.5-month salary when you calculate it into money. That’s right, you will save some big bucks too!Could you imagine where your product could be if you gained 20% more coding time…EVERY DAY?Photo by toine Garnier on Unsplash
Builds under 10 minutes
We can see that the majority of Nevercode builds take less than 10 minutes. Getting a build under 10 minutes is the ultimate golden nugget for developers with small/medium apps without big test suits. When a build takes longer than 10 minutes, developers must waste too much precious time and energy waiting. This results in less frequent merges and more risky deployment, and nobody wants that.
However, when it comes to complex projects and growing teams, build time inevitably increases. One needs to run tests on multiple devices, manage team collaboration and so on to optimize the workflow. Again, this is where a good CI/CD tool saves the day for mobile app teams. The data from Nevercode builds reveals that the average build duration is around 16 minutes from pushing new code to getting the build status report. This includes all these giant mobile app teams with more than 30 people and around 40 projects with tests! Not bad, not bad at all!
That’s one hell of a productivity tool for mobile app developers, right there. And the secret sauce to victory lies in automation. Automate all the routine and boring tasks and save more time for implementing new features.
Wrap-up
What can we say about the average mobile CI/CD user? A mobile CI tool is implemented by developers who aim for quality and treasure every second of their work time. With Nevercode’s continuous integration & delivery tool, your team can save up to 20% of work time in a day as the builds run fast even for very large teams and projects with tests. A good mobile CI tool guarantees you a good night sleep and you can be confident that your code is secure and ready to ship! You just have one duty, developing the app and pushing the code. Everything else will be done by the CI/CD service. Work 20% smarter, not harder!
Continuous integration saves up to 20% of work day. was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.