At Daily, we’ve worked hard on developing tools to seamlessly integrate video calling into any app, optimizing our products for the best performance across mobile and desktop devices. We’ve prioritized mobile web support since day one and introduced React Native support in 2020. Today, we're excited to announce that customers building mobile-first experiences can integrate Daily into their native app with our new iOS and Android SDKs.
These libraries are in public beta and support adding calls of any size to your mobile app. Over the next few weeks and months, you’ll see additional features added to these SDKs. Written in Swift for iOS and Kotlin for Android, these SDKs serve developers who:
- Have a website and want to develop a native app
- Already have Android and iOS apps and want to add video or audio calls
- Want to develop a native real-time video or audio app from scratch
If you’re interested in integrating Daily into your native app, you can get started right away: head over to our docs to learn more. We would love to hear about your experience as you build. All feedback and questions will be shared directly with the product team so that we can continue to improve the developer experience. Email us any time at help@daily.co.
These libraries are based on new, cross-platform Rust code that is a common core for all of Daily’s next generation libraries. We talk below about how this new approach to API development benefits customers and allows us to scale support across platforms.
Why we built our native SDKs on a shared Rust core
As Daily has grown, so has our API surface. Expanding our libraries at the level of excellence customers expect from us, while adding additional platform support for Daily’s large number of features, requires a sizable engineering team.
In response to this challenge, we’ve developed a new, low-level, shared Rust codebase. Our iOS and Android SDKs are built on top of this common core, with a platform-native layer (Kotlin on Android and Swift on iOS) providing the API surface that developers use. This brings with it multiple benefits to customers:
- Testing and support are prioritized equally for every platform
- New features roll out to all platforms at once and with equal support
- Release cycles are synchronized across platforms
In addition, these SDKs benefit from shared usage patterns across libraries. Methods and events work consistently regardless of the client library, except where fundamental platform differences necessitate a different approach, or where maintaining common practice across languages would conflict with standard practice in an individual language. As a result, it’s easier for customers to integrate Daily across all their supported platforms.
From our perspective, this approach lets us scale development and support across platforms. Mattie Ruth Backman, one of our Senior Product Engineers, gave a recent talk at Kranky Geek about how this “write once, run everywhere” strategy has helped us maximize our engineering power. By reducing the time it takes to expand our current libraries and work on new ones, we’re able to focus more of our engineering power on delivering the highest quality audio and video.
What’s next?
Daily’s iOS and Android SDKs support a variety of calling use cases, including 1:1 calls, group calls, and interactive broadcasts. New features are already in development and will roll out every few weeks. Look forward to seeing app message, recording, live streaming, and more coming all coming to these mobile SDKs in the near future. We’ll also continue to invest in our mobile support across platforms, including mobile web and our React Native SDK. Later in the year, we’ll be releasing our first library for Flutter, for building cross-platform video and audio UIs.
Meanwhile, macOS, Windows, and Linux SDKs are in development and are available to enterprise partners. Additionally, customers who would like to build on our core Rust API can contact us to learn more.