
Building Mobile Apps at Scale
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
While there is a lot of appreciation for backend and distributed systems challenges, there tends to be less empathy for why mobile development is hard when done at scale.
This book collects challenges engineers face when building iOS and Android apps at scale, and common ways to tackle these. By scale, we mean having numbers of users in the millions and being built by large engineering teams.
For mobile engineers, this book is a blueprint for modern app engineering approaches. For non-mobile engineers and managers, it is a resource with which to build empathy and appreciation for the complexity of world-class mobile engineering.
The book covers iOS and Android mobile app challenges on these dimensions:
- Challenges due to the unique nature of mobile applications compared to the web, and to the backend.
- App complexity challenges. How do you deal with increasingly complicated navigation patterns? What about non-deterministic event combinations? How do you localize across several languages, and how do you scale your automated and manual tests?
- Challenges due to large engineering teams. The larger the mobile team, the more challenging it becomes to ensure a consistent architecture. If your company builds multiple apps, how do you balance not rewriting everything from scratch while moving at a fast pace, over waiting on "centralized" teams?
- Cross-platform approaches. The tooling to build mobile apps keeps changing. New languages, frameworks, and approaches that all promise to address the pain points of mobile engineering keep appearing. But which approach should you choose? Flutter, React Native, Cordova? Native apps? Reuse business logic written in Kotlin, C#, C++ or other languages?
- What engineering approaches do "world-class" mobile engineering teams choose in non-functional aspects like code quality, compliance, privacy, compliance, or with experimentation, performance, or app size?
More details
Content
- Intro
- Title Page
- Copyright
- Contents
- Introduction
- Acknowledgments
- About the Author
- Sponsors
- When Things are Simple
- I. Challenges Due to the Nature of Mobile Applications
- 1. State Management
- 2. Mistakes Are Hard to Revert
- 3. The Long Tail of Old App Versions
- 4. Deeplinks
- 5. Push and Background Notifications
- 6. App Crashes
- 7. Offline Support
- 8. Accessibility
- 9. CI/CD & The Build Train
- 10. Third-Party Libraries and SDKs
- 11. Device and OS Fragmentation
- 12. In-App Purchases
- II. Challenges Due to App Complexity
- 13. Navigation Architecture Within Large Apps
- 14. Application State & Event-Driven Changes
- 15. Localization
- 16. Modular Architecture & Dependency Injection
- 17. Automated Testing
- 18. Manual Testing
- III. Challenges Due to Large Engineering Teams
- 19. Planning and Decision Making
- 20. Architecting Ways to Avoid Stepping on Each Other's Toes
- 21. Shared Architecture Across Several Apps
- 22. Tooling Maturity for Large Engineering Teams
- 23. Scaling Build & Merge Times
- 24. Mobile Platform Libraries and Teams
- IV. Languages and Cross-Platform Approaches
- 25. Adopting New Languages and Frameworks
- 26. Kotlin Multiplatform and KMM
- 27. Cross-Platform Feature Development
- 28. Cross-Platform App Development versus Native
- 29. Web, PWA & Backend-Driven Mobile Apps
- V. Challenges Due to Stepping Up Your Game
- 30. Experimentation
- 31. Feature Flag Hell
- 32. Performance
- 33. Analytics, Monitoring and Alerting
- 34. Mobile Oncall
- 35. Advanced Code Quality Checks
- 36. Compliance, Privacy and Security
- 37. Client-Side Data Migrations
- 38. Forced Upgrading
- 39. App Size
- Closing Thoughts
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.