In these tutorials we will learn step by step how to create a videoconferencing application with Pexip. We will start with the basics and end with some advanced features such as screen sharing.
We can divide the SDKs into two types that will depend on the device we want to support:
Web SDKs: These will be the SDKs to choose if you wish to implement a videoconferencing web application. There are two flavours of SDK (NPM packages and PexRTC), but either can be used to achieve the same goal.
Mobile SDKs: These will be the SDKs to use if you wish to integrate videoconferencing inside a native app. As well as using the native language for development (Kotlin on Android and Swift on iOS), there are some additional features in comparison with the Web SDK:
- Better performance: Apps may use the hardware directly without a web browser layer. This can give improved performance.
- Faster adaptation to connectivity changes: These SDKs may use Pexip's own media stack instead of WebRTC. Thanks to this the app can adapt faster in case of connectivity degradation.
- Share the screen: The browser APIs and Web SDKs have an important limitation in this regard. They can receive screen sharing from other participants, but it is not possible to share the screen from a mobile browser based app. When using an app built with the Mobile SDKs this limitation does not apply.
Using the Web SDK for building a mobile application is sometimes a valid approach too. One could create videoconferencing apps that run inside a Webview.
However, we have to keep in mind that this approach would lose some of the features that the mobile SDKs provide and could have other inherent disadvantages. For example, on iOS, the system would request access to the microphone and camera every time the user joined a conference.