Part I. Tasks and Operations

In this part, we provide foundational code to perform a variety of tasks common to mobile apps, like displaying UI, passing data, sending and receiving events, making network requests and handling network responses, accessing and manipulating the filesystem, and reading or writing to persistent stores like preferences or databases.

A Note About the State of Mobile Development

At the time of this writing, the state of Android and iOS development is highly volatile, highly fragmented, and highly contentious. New libraries intended as replacements for existing APIs have been added, but some of these releases weren’t necessarily the product of community consensus. Further, nearly every replacement API was substantially more complex than what it replaced. When deciding what information to include in this book—including foundations like libraries and APIs—we decided that we should try to provide the most help we could to the greatest number of people and projects. The great majority of development is feature development and maintenance, versus greenfield (new, blank slate). With that in mind, in almost all cases we default to an existing, vetted library, instead of a new library or practice that’s been available for only a relatively short amount of time (about a year is the arbitrary threshold we decided on).

In addition, we found that many of the replacement APIs took the framework further away from patterns seen in existing technologies. For example, ...

Get Native Mobile Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.