Lessons Learned from Creating a Reliable Mobile Build
Blog post from PagerDuty
PagerDuty engineers prioritize reliability in their mobile apps, focusing on maximizing resiliency and minimizing downtime for users. After redesigning their mobile applications, they encountered challenges with their build and release process, which initially used Apache Cordova to create hybrid apps with a Javascript core. This approach allowed code reuse across platforms but introduced complexities, particularly when integrating modern build tools and managing dependencies. By borrowing concepts from software artifacts used in other programming languages, they improved their build process, reducing errors and enhancing efficiency. The team also explored using npm for dependency management and Github's Release API to handle build artifacts, allowing for a more streamlined and flexible release process. Despite the lack of a standardized method for packaging front-end Javascript applications, the engineers embraced the adaptability of Javascript, leveraging the simplicity of a single HTML file that loads necessary resources and is compatible with various platforms. This approach allows for quicker, more reliable releases while maintaining flexibility in their development workflow.