32,39 €
To build mobile apps, you need to understand mobile-first features, tools, and processes that help you build, test, and release robust apps faster and more efficiently. The multitude of challenges stemming from mobile development's inherent complexities, including native iOS and Android app creation, cross-platform frameworks, and the implementation of scalable architectures within extensive teams, collectively contribute to a substantial number of obstacles that can significantly prolong the release process.
This book will help you understand and implement the best practices of mobile DevOps for continuous integration, testing, delivery, deployment, and monitoring. You’ll explore different challenges faced by developers due to varied OSs, the unforgiving nature of mobile applications, and continuous updates to mobile phones and learn how to maneuver through these challenges. You’ll also get to grips with the latest trends while discovering the potential future of mobile DevOps, with valuable insights and guidance about integrating mobile development teams into your organization.
By the end of this book, you’ll be well-equipped to successfully implement mobile DevOps and build fast, qualitative, and efficient mobile apps for your team or organization.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 417
Veröffentlichungsjahr: 2023
Mobile DevOps Playbook
A practical guide for delivering high-quality mobile applications like a pro
Moataz Nabil
BIRMINGHAM—MUMBAI
Copyright © 2023 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Group Product Manager: Preet Ahuja
Publishing Product Manager: Vidhi Vashisth
Book Project Manager: Ashwin Kharwa
Senior Editor: Divya Vijayan
Technical Editor: Arjun Varma
Copy Editor: Safis Editing
Proofreader: Safis Editing
Indexer: Subalakshmi Govindhan
Production Designer: Aparna Bhagat
DevRel Marketing Coordinator: Rohan Dobhal
First published: September 2023
Production reference: 2060923
Published by Packt Publishing Ltd.
Grosvenor House
11 St Paul’s Square
Birmingham
B3 1RB
ISBN 978-1-80324-255-2
www.packtpub.com
I want to express my heartfelt gratitude to my wonderful wife, Basma, who has been by my side throughout this long journey. Her unwavering support has meant the world to me, especially during the challenging moments. I am also immensely grateful to my beloved daughter, Malak, whose presence has constantly motivated me to strive and set a positive example.
Additionally, I would like to sincerely thank my parents, Mr. Nabil and Mrs. Hadaya, sincerely. They have been a source of inspiration, always encouraging me to pursue greatness and never give up, regardless of the obstacles that may come my way.
To Basma, Malak, Mr. Nabil, and Mrs. Hadaya, your love, support, and encouragement have been invaluable to me. I deeply appreciate all you have done and continue to do for me.
– Moataz Nabil
Moataz Nabil is a highly skilled Developer Advocate and Test Automation Consultant who excels in cultivating meaningful connections with developers and clients. With over 12 years of experience in software development and testing, Moataz has successfully led and managed test automation teams, focusing on designing, developing, and maintaining automated testing solutions for various software products. As a respected speaker, Moataz has shared his expertise at numerous global developer events and conferences.
In the past, Moataz has held positions at prominent companies such as Bitrise, Delivery Hero, and Zalando SE. In addition to his primary role, Moataz is an AWS Community Builder and a valued member of the DevNetwork and Packt Advisory Board.
Eslam Mohammed Anwar is a distinguished Staff DevOps Engineer boasting over a decade of experience. A fervent advocate for efficient practices and cost-effective solutions, he has redefined the art of building native mobile CI/CD pipelines.
I’d like to thank my family, who understand the time and commitment it takes to research and test data that is constantly changing.
Sergey Akentev began his journey in development as a backend engineer in 2016. With a profound passion for automation and mobile, he shifted his focus to Mobile DevOps in 2020, mastering build and release engineering and mobile-specific CI/CD for both apps and SDKs. He evaluates the whole process on a large scale, always with a keen focus on the customer, whether they are a teammate or an end user. Sergey is determined to deliver results, driving the highest standards and diving deep to innovate. His solutions have automated the workflows of hundreds of engineers and currently serve millions of end users.
Hello there! Mobile DevOps Playbook is a practical guide to building, testing, releasing, monitoring, and managing mobile applications. As you learn how companies use Mobile DevOps methodologies to improve collaboration between development, testing, releasing, and operations teams, you can deliver features, bug fixes, and updates to mobile applications more quickly and efficiently.
It’s a step-by-step guide to understanding mobile DevOps concepts, processes, and use cases from development to release, as well as predicting how mobile DevOps will evolve in the future, including new technologies and tools that are necessary.
This book is an invaluable resource for developers who want to stay up to date on the rapidly changing mobile app development landscape. This book provides a comprehensive overview of the mobile development process, covering the different architectures, platforms, and technologies available to developers. It also offers useful advice on how to manage the software development life cycle effectively and use DevOps to ensure successful, high-quality releases. Mobile DevOps is a must-have resource for developers looking to stay ahead of the curve.
By learning about mobile DevOps, developers can save time, reduce errors, and ensure applications are optimized for the best user experience. Additionally, understanding the principles of mobile DevOps can help developers create more efficient and effective mobile applications, as they will have greater insight into the process of developing, testing, and deploying applications.
The mobile DevOps book includes a comprehensive overview of mobile development and DevOps principles, an in-depth look at the tools and techniques used to manage mobile app development, practical advice on how to successfully deploy and maintain mobile applications, and tips for streamlining the mobile DevOps process. Additionally, the book includes a variety of case studies to illustrate best practices and provide real-world examples.
I will provide relevant information and guide you through some elements of mobile DevOps based on my experience and knowledge from the past few years in the mobile DevOps domain.
After reading this book, you will be able to implement mobile DevOps in your company and decide which tools or approaches are useful for your team. You will also learn how to use mobile DevOps to help your team when the business is scaling and growing.
The book will focus on the stages of the mobile DevOps process and implementation and is intended for everyone involved in mobile development. The primary target audience is engineers and first-line engineering management who are interested in DevOps. Furthermore, the audience includes CTOs, DevOps engineers, mobile developers, IT enterprise architects, mobile release managers, mobile architects, mobile platform engineers, QA engineers, and release engineers at all levels who will be able to implement the prescribed solutions. A basic understanding of DevOps concepts and practices is necessary to gain maximum benefit from this book.
The reader of this book is likely to already have some familiarity with DevOps and mobile app challenges and know the pain of testing, releasing, and monitoring mobile apps, especially at scale.
Chapter 1, Resolving Challenges in Mobile DevOps, provides an introduction to mobile DevOps. We will delve into the world of mobile app development and explore how mobile-first features can contribute to the more efficient and faster testing, building, and releasing of mobile apps.
Chapter 2, Understanding the Mobile Ecosystem, explores the mobile ecosystem and its crucial role in developing successful mobile apps. It covers essential components such as hardware, software, operating systems, networks, and services. Topics include challenges, mobile DevOps, mobile OSes/frameworks/platforms, app functionalities, and mobile app architecture.
Chapter 3, Mobile DevOps Fundamentals, explores the fundamentals of Mobile DevOps and its role in enabling fast and effective mobile app development. Topics covered include Mobile DevOps principles, implementing mobile continuous integration/continuous delivery (CI/CD), the stages of Mobile DevOps, choosing between self-hosted and cloud-based CI/CD, the Mobile Release Train concept, a checklist for app releases, and the need for a Mobile DevOps engineer.
Chapter 4, Achieving Continuous Integration and Delivery with Mobile DevOps, explores the implementation of CD for mobile apps using Mobile DevOps. It covers selecting a CI/CD provider, establishing a tailored CI/CD pipeline, and setting up effective build and unit tests for mobile apps.
Chapter 5, Implementing a Robust Mobile App Testing Strategy, examines the implementation of a robust mobile app testing strategy to ensure high-quality apps. Topics covered include mobile app testing introduction, test automation, creating a testing strategy, different types of mobile testing, continuous testing with Mobile DevOps, testing tools and frameworks, using AI for app quality, achieving test coverage, and improving mobile testing skills.
Chapter 6, Mobile App Release Management, focuses on the essential stage of mobile app release management, covering challenges, CI/CD implementation, compliance with app store guidelines, release and distribution, beta testing, app store submission, ASO, and monitoring progress.
Chapter 7, Establishing Mobile App Monitoring, Observability, and Analytics, explains the significance of monitoring and observability for mobile apps. It covers establishing effective practices, key metrics for app monitoring, choosing the right tool, and implementing continuous monitoring.
Chapter 8, Keeping Mobile Apps and DevOps Secure, discusses the significance of mobile app security in the DevOps context. It covers topics such as the importance of security in mobile development, introducing mobile DevSecOps, mobile app security threats, secure app architecture, mobile security testing methods and tools, starting the mobile DevSecOps journey, and tips for security automation in mobile DevOps.
Chapter 9, Mobile DevOps Best Practices, focuses on leveraging mobile DevOps for faster and higher-quality app development. Topics covered include CI/CD best practices, version and release management, Infrastructure as Code (IaC), configuration management, A/B testing, caching, parallel execution, fastlane automation, API mocking, and ChatOps collaboration.
Chapter 10, Improving Productivity with Developer Experience and Platform Engineering, explores the concepts of Developer Experience (DX) and Internal Developer Productivity (IDP) teams, emphasizing their importance in mobile development. It highlights the relationship between Mobile DevOps and DX teams, introduces platform engineering principles, and distinguishes it from DevOps and SRE engineering.
Chapter 11,Predicting the Future of Mobile DevOps, discusses future trends in mobile app development and mobile DevOps. It provides insights into upcoming advancements and recaps Mobile DevOps Playbook.
It is essential to have an understanding of mobile app development, including the development life cycle, coding practices, and mobile platform considerations. Familiarity with agile methodologies and CI/CD principles is also crucial. Additionally, a working knowledge of mobile app testing and release management processes will be beneficial.
I assume readers have a basic understanding of mobile development concepts, DevOps principles, and the tools and technologies commonly used in the field.
The best way to ensure an understanding of the process and the steps required is to implement the mobile DevOps framework in your company or team after reading this book.
Software/hardware covered in the book
Operating system requirements
Java +8
Windows, macOS, or Linux (Ubuntu)
Node.js and npm
Windows. macOS and Linux
Xcode
macOS
Android Studio
Windows, MacOS and Linux
Git
Windows, MacOS and Linux
React Native
Windows, MacOS and Linux
Flutter
Windows, MacOS and Linux
Apple Developer account
MacOS
Google Play Store account
Windows, MacOS and Linux
If you are using the digital version of this book, we advise you to type the code yourself or access the code from the book’s GitHub repository (a link is available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.
You can download the example code files for this book from GitHub at https://github.com/PacktPublishing/Mobile-DevOps-Playbook. If there’s an update to the code, it will be updated in the GitHub repository.
We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!
There are a number of text conventions used throughout this book.
Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: It is not necessary to call sleep() repeatedly in your tests. Maestro waits for the content to load automatically (but not too long) when this process takes a long time.
When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:
[default]exten => s,1,Dial(Zap/1|30) exten => s,2,Voicemail(u100) exten => s,102,Voicemail(b100) exten => i,1,Voicemail(s0)Any command-line input or output is written as follows:
wget --quiet https://github.com/TestArmada/flank/releases/download/ v22.05.0/flank.jar -O /usr/local/bin/flank.jar java -jar /usr/local/bin/flank.jar firebase test android runBold: Indicates a new term, an important word, or words that you see onscreen. For instance, words in menus or dialog boxes appear in bold. Here is an example: “Select System info from the Administration panel.”
Tips or important notes
Appear like this.
Feedback from our readers is always welcome.
General feedback: If you have questions about any aspect of this book, email us at [email protected] and mention the book title in the subject of your message.
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata and fill in the form.
Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.
Once you’ve read Mobile DevOps Playbook, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.
Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.
Thanks for purchasing this book!
Do you like to read on the go but are unable to carry your print books everywhere? Is your eBook purchase not compatible with the device of your choice?
Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.
Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.
The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily
Follow these simple steps to get the benefits:
Scan the QR code or visit the link belowhttps://packt.link/free-ebook/9781803242552
Submit your proof of purchaseThat’s it! We’ll send your free PDF and other benefits to your email directlyBuilding mobile apps at scale requires mobile-first features that help you build, test, and deploy apps faster and more efficiently. The challenges due to the nature of mobile, native iOS and Android development, cross-platform frameworks, and scaling architecture in large teams are numerous and can prolong the release process. In this part, we will learn about Mobile DevOps and why it’s important, as well as understanding the mobile ecosystem and how to set up a successful Mobile DevOps environment.
This part has the following chapters:
Chapter 1, Resolving Challenges in Mobile DevOpsChapter 2, Understanding the Mobile EcosystemChapter 3, Mobile DevOps Fundamentals