In 2019 we spent a great deal of time visiting developers that use Bitrise, traveling around the globe with cross-functional teams, and continued talking to a lot of companies developing mobile apps. We also regularly analyzed a ton of behavioral data to understand how we could improve Bitrise to give the best experience for mobile developers. We’ve drawn our conclusions and thought it would be interesting to break them down into numbers and share the big picture with you.

Some questions we asked:

  • What is the most popular platform?
  • How quickly were the new Xcode versions adopted?
  • GitHub/Bitbucket/GitLab?
  • How many apps do companies have?
  • How much time did builds run on Bitrise?
  • What integrations or steps are most frequently used?
  • Which 3rd party integrations are the most popular?
  • Which open source projects were updated the most times and who were the most active contributors to Bitrise?
  • How do these compare to our findings in the past 3 years?

In 2019, your builds ran for 2,820,001 hours, that is 117,500 days or 3,863 months or 321.9 years

This and all results presented below were compiled from the data taken from all the active apps of last year on Bitrise. Our users ran almost the same number of builds in 2018 as they did in the last quarter of 2019, so we had plenty of apps, builds and customers to draw relevant conclusions on the state of app development in 2019. 

You may also enjoy How to Adopt Mobile DevOps Practices: Mindset and Technologies

Mobile Platforms

Native Development in Decline

In 2016, of all the apps added to Bitrise, 67% were iOS, 22% Android. In 2017, Bitrise kept introducing out of the box support for more platforms, but unsurprisingly, the two most popular platforms were iOS with 44.3% and Android with 36.1%. In 2018, the two most popular platforms were still iOS with 39.2% and Android with 38% and in 2019, 39.3% of all the apps added to Bitrise were iOS, and 31% were Android. 

Based on the platform distribution above, there seems to be a continuous downward trend in the percentage of native apps, which, at the same time, also means…

The Rise of Cross-Platform

In 2016, of all the apps added to Bitrise, 12% were Xamarin. In 2017 Xamarin was still the third with 11%, while React Native apps came fourth with 6%. In 2018, there was a serious change in the runners-up: surprisingly, Xamarin dropped from 11% to 3.7%, with half as many apps as in 2017. The biggest decline of the year 2019 happened to Xamarin again: there was a 28% decrease in active repositories and their share dropped to 2%.

In 2018, React Native came up to 13.3% from 6% with 3 times as many active apps on Bitrise as before. In 2019, React Native was still the most popular way to develop cross-platform apps, increasing their share further from 2018’s 13.3% to 14.1%.

“In 2019, React Native was still the most popular way to develop cross-platform apps, increasing their share further to 14.1%.”

By the end of 2019, 7.6% of active apps on Bitrise were being built in Flutter. If Flutter continues this growth trajectory over 2020, by Q4 of this year, Flutter projects will outnumber React Native ones on Bitrise.

If Flutter continues this growth trajectory over 2020, by Q4 of this year, Flutter projects will outnumber React Native ones on Bitrise.

In 2019, we also saw some very notable apps make the transition to Flutter, including the Tonal companion app, as the Tonal team explained in a recent video.

MacOS saw a very slight decrease in percentage keeping roughly the same amount of active repos, so the demand seems to be steady.

In 2017, Ionic and Cordova both hovered around 1% share of active apps on the platform. Just a year later, both counted almost 3x as many apps on Bitrise, only to further grow to close to 3.7% of total apps being built in Ionic over 2019, versus 1.3% of apps built using Cordova.

In two years, Ionic usage increased steadily: they almost 6x-ed the number of active apps on Bitrise, so that now they are almost twice as big as Xamarin.

Xcode Adoption Rate

Bitrise is dedicated to providing the latest, the safest, the more feature-rich versions of developer tools, so our infra-engineers work hard to provide our users with the newest Xcode versions in 48 hours after release. 

Our users seem to appreciate this approach and adopt the new Xcode versions quickly. This chart shows trends in the adoption of Xcode versions released in 2019.

  • By the time a new Xcode version was officially released, it was always available on Bitrise.
  • Xcode 11.3 was only released on December 10, 2019 but by end of the year, 17% of all Xcode builds happened on it (peach area on the chart).
  • 10.1 was used by 75% at one point and 10.2 by 76%.
  • 10.3 reached its max. at 24%
  • Xcode 11.0 with the Swift UI framework was released on September 20, 2019, followed by 3 versions in relatively quick succession.
  • By the end of the year, only 25.9% used a 10.x or below version.

Where the rate of adoption for both Xcode 11 and Xcode 10 was very similar in the initial weeks, soon a change appeared. From week 3-4 on, the rate of adoption of Xcode 11 slowed down considerably compared to 10, indicating that developers opted to continue building on the previous Xcode version. Even though it’s speculation from our side, it seems like some issues with the initial Xcode 11 versions made developers hesitant to switch their build environments over.


Git Hosting in the Cloud

No real changes here since 2016. Even though Microsoft acquired GitHub and there was some migration, GitHub kept its first place with 56% (2017: 53%, 2018: 54%). Bitbucket, the second major player keeps loosing repos (2017: 34%, 2018: 30%), in 2019, 24% of the apps on Bitrise were stored there. Custom solutions were used by 2% more than last year, and GitLab also gained 2%. Self-hosted GitLab 3x-ed their number of repos used on Bitrise.

Apps and Their Owners

An average company has 6.47 apps on Bitrise, which almost is the double of last year’s 3.35. Most of these two apps naturally are iOS and Android. 

About our Steps/Integrations

There are currently around 280 steps and integrations in the Bitrise ecosystem. Each of these steps are responsible for a small task, that can be inserted in the build workflow. These can range from running tests, archiving the app, deploying, releasing or notifying team members, among others.

The Most Used Ones

Our Script step ran the most times in 2019, about as many times in the last quarter of 2019 as in 2018. This step is used when someone needs to run a custom command or install/update a tool that is not (yet) available on our virtual machines. (This is also the step that fails the most times, so we suggest to use the official steps if possible.)

Otherwise, developers deployed to Bitrise a lot, (this is done to help deployment to either testers or the app stores.) Our users also tend to take advantage of the Caching solutions Bitrise provides.

The 15 most used steps of 2019 are:

  1. Script
  2. Deploy to Bitrise
  3. Bitrise.io Cache:Pull
  4. Bitrise.io Cache:Push
  5. Send a Slack message
  6. Install missing Android SDK components
  7. Certificate and profile installer
  8. Gradle Runner
  9. fastlane
  10. Run CocoaPods install
  11. Run npm command
  12. Run yarn command
  13. Xcode Archive & Export for iOS
  14. Xcode Test for iOS
  15. GitHub status

Most Used Third-Party Integrations

Our users love getting automated messages to their Slack channels about their builds: Slack is by far the most popular third-party integration with close to 1.6 million runs in Q4 of 2019, being the 5th most used step of all.

“Slack is by far the most popular third-party integration with close to 1.6 million runs in Q4 of 2019”

The second most used integration is Codecov and Google Play Deploy comes third.

  1. Send a Slack message
  2. Codecov
  3. Google Play Deploy
  4. Deploy to iTunes Connect & Deploy to iTunes Connect – Application Loader
  5. HockeyApp Android + iOS Deploy
  6. Fabric / Crashlytics deployer
  7. Amazon S3 File uploader
  8. Send Microsoft Teams message
  9. SonarQube Scanner
  10. Gifs with Giphy

Most Used Community Steps

We’re very grateful to the community using Bitrise and most of all to those who contribute to our service. Our users can contribute to Bitrise by writing new steps or upgrading previous ones as all Bitrise steps are open source. The following steps were all written by the members of our community, thank you for all of them!

Trigger Bitrise workflow step was used close to 100,000 times in Q4, becoming the top performed community step. Install specific bundler version came in second and Set iOS Info.plist - Bundle Version and Bundle Short Version String third.

  1. Trigger Bitrise workflow by @koral— of DroidsOnRoids
  2. Install specific bundler version by @igorcferreira of Future Workshops
  3. Set iOS Info.plist – Bundle Version and Bundle Short Version String by @KirillAshikhmin
  4. Amazon S3 File uploader by @scruffyfox
  5. Set Android Manifest Version Code and Name by @jamesmontemagno

Thank you!

Most used steps per category

  1. Gradle Runner
  2. Xcode Archive & Export for iOS
  3. Android Build & Android Build for UI testing
  4. Xamarin Archive
  5. Flutter Build

  1. Xcode Test for iOS
  2. Android Unit Test
  3. Android Lint
  4. Gradle Unit Test
  5. Codecov
  6. [BETA] Virtual Device Testing for Android
  7. Flutter Test
  8. Danger

  1. Deploy to Bitrise.io – Apps, Logs, Artifacts
  2. Deploy to iTunes Connect & Deploy to iTunes Connect – Application Loader
  3. Deploy to Google Play
  4. HockeyApp (Android + iOS)
  5. Fabric / Crashlytics deployer

  1. Send a Slack message
  2. Send Microsoft Teams message
  3. Comment on GitHub Pull Request
  4. Post Jira Comment
  5. Send Email with Mailgun

  1. Script
  2. Git Clone Repository
  3. Bitrise.io Cache:Pull
  4. Bitrise.io Cache:Push
  5. fastlane

Open-Source Apps

The most frequently built open-source apps on Bitrise are:

  1. Arrow  by @arrow-kt
  2. DuckDuckGo Android and iOS by @duckduckgo
  3. Lockwise (Android) by @mozilla-lockwise
  4. Tusky by @tuskyapp
  5. Wulcanowy by @Wulkanowy

Automate Everything!

We hope these insights were as interesting for you as for us. We love feedback, so Tweet us or comment on our social pages if you have any suggestions, or if we missed anything you might be interested in! We’re proud to help so many great people saving countless hours and ensuring code quality, making sure that you have more time for your ideas and for your code.

Happy building in 2020!

Further Reading

Our partner Bitrise’s Mobile DevOps blog

Why Mobile App Companies Need to Adopt Mobile DevOps Practices

Android Continuous Integration and Delivery



Source link

Write A Comment