Daily believes in making it quicker and easier for developers to add robust, scalable video capabilities to their products, no matter what platform they are building for. We facilitate this via a wide range of client SDKs that enable developers to build with Daily across web, desktop, iOS, and Android.
This post will focus on our expanded technical resources for Daily’s iOS and Android native mobile SDKs. To provide some context for these libraries, I’ll begin with a brief overview of our approach to building and maintaining them on top of our Rust common core.
Whether you’re a developer already building with Daily or you’re looking for a video API with robust native mobile support, this post is for you. By the end, you’ll have a solid starting point to start building with Daily’s native mobile SDKs
Now, let's see how our mobile SDKs are developed on top of a unified underlying layer.
Native mobile video SDKs built on Rust
At Daily, we leverage Rust to create a central, cross-platform library to serve as the underlying layer for each of our client SDKs. This enables us to maintain a consistent common core across all platforms and build lightweight wrappers for each of our platform-specific libraries. For developers building with Daily, the benefits of this approach are in increased maintainability and commonality across platforms.
It's important to us that no matter what platform you are building for, you’re working with a familiar mental model of our API. A central library for our core logic enforces consistent development patterns across our SDK wrappers, providing a smoother experience for developers working across multiple platforms.
Additionally, a central core enables scalable, dependable updates. For example, an update to our core call logic can be made by one Daily core engineer and propagated to iOS, Android, and other client SDKs. By contrast, if our APIs were built in complete isolation, an update on iOS would have to be implemented separately for our Android, JavaScript, React Native, and other libraries.
Maintaining a unified common core supports behavior consistency across different SDKs and helps us provide a reliable, cohesive experience to teams building with Daily. We’ve written more about how and why we picked Rust for this before, so check out that post for more details if you’re curious about our journey to Rust.
Now, let’s take a look at some technical resources to get you started.
Daily’s Client SDK for Android
Our expanded resources for Daily’s Client SDK for Android include a wealth of guides, demos, and docs:
- Client SDK for Android reference docs - Comprehensive reference documentation for the entire Android SDK.
- Android SDK installation guide - Installing the Android SDK using Maven
- Android SDK Kotlin quickstart - A walkthrough of how to build a basic video application for Android with Daily. This app illustrates joining a Daily room, displaying local and remote participants, implementing call controls, and leaving the call.
- In addition to the quickstart above, we have a more extensive Android demo for developers to explore.
Daily’s Client SDK for iOS
Like Android, we have a wealth of expanded technical resources for our iOS client SDK:
- Client SDK for iOS reference docs - Comprehensive reference documentation for the iOS SDK.
- iOS SDK installation guide - Installing the iOS SDK using Swift Package Manager or Cocoapods.
- iOS SDK Swift quickstart - A walkthrough of how to build a basic video application for iOS with Daily. This app illustrates joining a Daily room, displaying local and remote participants, implementing call controls, and leaving the call.
- In addition to the quickstart above, we have a more extensive iOS demo for developers to explore.
Conclusion
In this post, I’ve presented the core technical resources to get you started with Daily’s iOS and Android client SDKs. Keep an eye out for more native mobile news and posts coming soon. Please reach out to our support team or head over to our WebRTC community if you have any questions or feedback.