DEV Community

Max Lynch for Ionic

Posted on • Originally published at ionicframework.com on

Appflow: not just another CI/CD Service

Every production mobile app ultimately has a set of recurring tasks around integration, testing, deployment, and long term maintenance. These tasks often must be automated across a team of many developers and app projects. Building a process for these tasks can be incredibly time consuming and require specialized infrastructure experience, but is critical for the success of any serious app project.

Thankfully, teams don’t need to build solutions to these problems themselves, as there are services out there that can help. One such service works directly with your Cordova or Capacitor app to help your team easily perform these tasks. That means consistent builds, deploys on every commit, pushing remote app updates in realtime, and automating app store deployment as part of your mobile CI/CD workflow.

That service is Appflow, and it’s Ionic’s official Mobile DevOps platform. Appflow automates the whole DevOps side of your mobile app project, and is used to power significant apps and development teams across AAA, Burger King/Popeyes, Shipt, and more.

Let’s explore what a Mobile DevOps platform like Appflow is, what Appflow offers, how it differs from traditional CI/CD platforms, and how it’s being used today.

What is Mobile DevOps?

Appflow is known as a Mobile DevOps platform.

Mobile DevOps platforms, of which Appflow is one of the leaders, automate and simplify many continuous integration and delivery tasks, as well as other important mobile app deployment tasks. These platforms handle the heavy lifting so teams can focus on building their unique app, instead of reinventing the wheel.

Those tasks may include:

  • Setting up consistent, repeatable mobile build environments so apps can be built on every commit using predictable dev tools and operating systems.
  • Building app binaries and artifacts for iOS, Android, and Web
  • Running tests and other scripts on every commit to ensure apps stay working
  • Connecting to existing GitHub, Gitlab, Bitbucket, and other repos to perform builds on every commit
  • Releasing working updates to users in realtime (for web updates), or to the app stores (for binary updates)
  • Managing different versions of apps between testers, stakeholders, and production users.

Not every platform supports all of those features (Appflow does, as we’ll see below), but these are generally the tasks that a Capacitor or Cordova development team will need to perform.

Beyond these tasks, DevOps is all about creating a culture of shipping often, involving stakeholders, and ensuring quality. All of which Mobile DevOps products can help your team embrace.

What is Appflow?

Appflow is the official Mobile DevOps platform built by the Ionic team, focused on bringing powerful Mobile DevOps workflows to hybrid app developers across Capacitor and Cordova whether or not they are using Ionic Framework.

Appflow, first and foremost, is a managed mobile build environment. That means it provides consistent and frequently updated iOS, Android, and web build environments. The Appflow team does the hard work of keeping mobile build tools and operating systems up to date and patched for security issues, whether that means updating to the latest versions of Xcode or the Android SDK, or new versions of macOS and Linux, and a whole lot more.

These builds are done in a highly secure environment, so teams can feel confident in offloading their mobile CI/CD process to Appflow, and on high performance hardware to make builds match the speed of development.

Appflow also manages authentic, legal Mac build hardware for fully automating iOS builds in the cloud, which also benefits developers on Windows machines that wish to build iOS apps but can’t or don’t want to buy Mac hardware.

On top of this environment, Appflow provides some pretty transformative features for hybrid app developers. Namely, the ability to remotely update an app without needing to re-submit to app stores (in a way that is App Store ToS friendly!), as well as publish app binaries directly to the Apple App Store and Google Play Store.

And Appflow can automate that whole process so it triggers on each commit, as well as enable powerful version splitting so testers, stakeholders, and customers can run on different versions of an app.

Can’t I do this with Circle CI, GitHub Actions, or Azure DevOps?

In the CI/CD space, there are generic build services like Circle CI or GitHub Actions, and there are specialized services like Appflow.

The biggest difference between the services is that Circle CI or GitHub Actions merely provide build servers, a way to trigger builds, and hooks for sending those builds elsewhere. They do not provide the tools or pipeline for mobile-specific builds, they do not handle the deployment of your app, and they certainly don’t manage build environments for you.

Here’s a visualization of the differences between the two approaches:

Appflow vs generic CI/CD platform

In theory, teams could build their own Appflow-style pipeline on another generic CI/CD platform like Circle CI or GitHub Actions, but that would require teams orchestrate and keep up to date a very complex chain of tools, operating systems, build environments, app store submission features, remote app deployment, and more. This is guaranteed to take a full team of engineers with a different skillset than the app dev team to build and manage, especially as new mobile and desktop operating systems are released each year.

It’s simply not feasible for the vast majority of teams to take this on in addition to building their apps.

This is why a specialized build service like Appflow stands out in the CI/CD and DevOps space. Beyond simply being a build service, Appflow is a managed mobile build environment that is fully managed by the mobile experts here at Ionic.

Why not both?

Generic CI/CD tools, with their focus on simply triggering builds, are not a direct replacement for Appflow. That means the two can easily be used alongside each other.

In this scenario, a team might have their generic CI/CD tool trigger builds and push code to Appflow, while Appflow manages the hard work of performing mobile builds on managed mobile development infrastructure, while also handling the last mile app update and app store publishing.

This works so well that around 68% of Appflow customers are using Appflow alongside a general purpose CI/CD tool, according to data from the 2020 Ionic Developer Survey.

This delivers the best of both worlds: You get to continue using your CI/CD tool of choice - or whatever your company has standardized on - while leaving the highly specialized, mobile specific build and publishing requirements to Appflow.

Who’s using Appflow Today?

Appflow has thousands of customers across a diverse range of companies. Appflow powers workflows in fast growing startups, established SMBs, and the largest enterprise companies in the world.

Some of the customers using Appflow as a cornerstone of their mobile app development strategy include RBI (Burger King/Popeyes), AAA, and Shipt. Another customer, Napa Group, had this to say about Appflow:

“One of the huge advantages of using Ionic Appflow was to have these different Channels, which are essentially environments to us. We can push code to our Development environment and have QA test it; then we can move it to Staging and do a smoke test; then, with a single button click [using Ionic Deploy] all our code is live to our users. The amount of risk goes down exponentially compared to deploying the app on the app store, waiting for it to get reviewed, realizing there’s a bug and taking 2 or 3 more days before you can get a fix uploaded. That deployment speed is a huge asset for us.”

See the full Napa Group Case Study for more details on their use of Appflow.

The CI/CD and DevOps market is massive and growing quickly. We believe that every serious app development team will be utilizing CI/CD within the next few years, but most will struggle with sophisticated mobile CI/CD pipelines given their much more complex nature and dependency on a different engineering skillset than app dev teams traditionally have access to.

Thus, teams are choosing Appflow today because they are not able to find what they need from generic CI/CD services like Circle CI, Travis, Azure DevOps, or GitHub Actions. They need reliable build environments and features tailored to hybrid app development. Appflow stands out as the leader in Mobile DevOps and we’re thrilled to see adoption growing quickly as it addresses this huge unmet need.

Getting Started

Getting started with Appflow is easy. Visit useappflow.com, click Try it Free, create or use your existing Ionic account, and jump into the Documentation to see how to connect your app and start pushing commits to Appflow.

Or, if you're interested in exploring Appflow for your team, book a free strategy session with an app architect at Ionic. We help thousands of mobile teams move faster, and we'd love to help yours, too!

Appflow is improving every day. Stay tuned for some really exciting new features coming to Appflow users in the coming months!

Top comments (0)