Overview
Building mobile native applications that interact with the blockchain enables a much richer end user experiences and provides access to OS capabilities. With Flow Mobile, developers can build native applications for iOS and Android leveraging SDKs and mobile wallets.
Why Flow​
Millions of users with Flow accounts are exploring the ecosystem and looking for applications. Most of these users purchased Flow NFTs and are comfortable with web3 principles.
In addition to the existing userbase, developers can tap into smart contracts deployed on the Flow blockchain. These contracts, including their on-chain state, provide unique possibilities to build experiences that enrich applications users are already using.
The following key capabilities make Flow a standout choice for mobile applications:
- On-device key encryption via Secure Enclave & Keychain
- Mobile wallet compabilitity and support for WalletConnect 2.0
- Simple, progressive onboarding experience with postponed account linking
- Seamless in-app experience with on-chain interactions without constant signing requests
- Account flexibility enabling secure account recovery and sharing
Why Flow Mobile​
Proven​
Flow is built with mainstream adoption in mind. Mobile applications can leverage the best-in-class user experiences millions of users have enjoyed on the web, through applications like NBA TopShot or NFL AllDay.
Best-in-class UX​
Flow's Client Library makes it very intuitive to sign up and sign in with their wallet of choice. For transaction signing, Flow offers human readable security, so users get a clear understanding of what they are approving. An increased sense of trust for Flow applications is the outcome.
Furthermore, Flow's powerful account model allows for seamless user flows of on-chain operations. Apps can perform transactions on behalf of the users (with their approval) in the background, without the need to switch between apps. The account model also allows apps to pay for transactions to postpone fiat on-ramps to get them to experience the value of an application before committing to buying tokens.
Last but not least, developers can leverage progressive web3 onboarding, in which any identity provider can be used to authenticate users, without having to deal with keys. Developers can create Flow accounts for the users and link them to a wallet at a later point in time.
Security first​
Flow's mobile SDKs use on-device key encryption via Apple's Secure Enclave and Android's Keystore. The flexible account model makes it possible for an account to have multiple keys with different weights, which enables secure social recovery, account sharing, and much more.
Smart contract language inspired by mobile languages​
Cadence, Flow's smart contract language, will look and feel very familiar to mobile languages developers are already familiar with. Cadence was inspired by Move, Swift, and Kotlin. This reduces the ramp-up period to develop mobile applications leveraging on-chain logic.
What is available​
Developers can leverage the following features to get productive quickly:
- Swift & Kotlin FCL SDKs to auth and interact with the Flow blockchain (query + execute scripts)
- FCL-compatible mobile wallets
- User auth using WalletConnect 2.0
- Basic mobile sample application (MonsterMaker)
Coming soon:
- Samples for key in-app functionality, like in-app purchasing
- Progressive user onboarding