Note: This is the guest post, I wrote on the official Nevercode blog, please read the original post here
As the popularity of mobile apps is growing, most companies and digital agencies need architecture to build mobile apps faster. According to SmartInsights, 90% of mobile time is spent in apps – making the mobile app experience all the more important for both app developers and app users.
Therefore, in order to assure the quality and reuse existing code in multiple apps, companies started to build reusable software development kits (SDKs) and libraries so that the code can be easily reused in multiple apps.
Why you Need CI/CD for your Mobile SDKs
As the library code can affect multiple clients, it’s essential to ensure that the code quality of the SDK meets the requirements of all clients. It’s also important to build a strong automated test suite in the SDK to make sure code changes for one client don’t affect others.
Getting quick and continuous feedback on the mobile SDK is very important. This is where the need for continuous integration comes into play. In most of the companies, there is a setup of CI/CD infrastructure for the main apps but none for the libraries and SDKs.
In reality, continuous integration for libraries and SDKs is very important, even more, important than CI for the main apps.
How to Choose Mobile SDKs for your Needs?
There are millions of mobile SDKs available online, but building a great SDK isn’t a piece of cake. It requires effort and consideration of all the things that can affect clients who use the SDK. The ideal SDK should have some key features, like
- Simplicity and ease of use
- Great documentation
- Full test coverage
- Compatibility with the latest versions of tools
There is a great article about the best practices in mobile SDK development, you should read that if you want to explore more characteristics of a great mobile SDK.
If you ever wondered where to find an example of a great SDK, then have a look at those built by Apple. These SDKs are fully documented, easily integrated with IDE and can be used without any hassle. Apple is responsible for the code quality and documentation of those SDKs, so we can assume that those SDKs are of high quality.
However, if you want to build a SDK by yourself, then you should take care of all the code quality, testing and another important aspect of the SDK. There is a great collection of popular iOS SDKs written using Swift here, we could choose any SDK from there and set up continuous integration with Nevercode. We can also create a simple library HelloWorldKit which has an example app with unit and UI tests so that we can explore most of the SDK features:
- Source file
- Example app with unit and UI tests
We will see how we can add CI for HelloWorldKit with Nevercode without hassle.
With Nevercode, It’s very easy to support for your Mobile SDK without any configuration or hassle. Read the original post here
Nevercode provides following automated benefits of CI
- Auto detect the SDK Schemes and Example App
- Custom Work Workflow and Inbuilt Quality Checks
- Test on various Xcode for iOS Apps
- Cache dependencies
Check out the detailed and STEP BY STEP process on Nevercode blog.
Continuous integration for the libraries or the mobile SDK is as important as continuous integration for your mobile app. By adding strict continuous integration to mobile SDK, we can detect the problems earlier before they affect multiple clients. Continuous integration tools like Nevercode allow us to do that without any pain. We have seen how HelloWorldKit SDK is being checked for code quality on a continuous integration server without doing a lot of scripting or configuration. You can check the build logs on Nevercode here for reference. What are your experiences of adding CI/CD for Mobile SDK and Libraries? Share in the comments below.