Professional Documents
Culture Documents
Building A Video Call App With Dyte SDK and React Native
Building A Video Call App With Dyte SDK and React Native
Introduction
In today's world, video calling has become an essential tool for communication, especially
since the COVID-19 pandemic. With the increasing demand for video conferencing
solutions, developers are constantly looking for ways to integrate video calling features
into their applications. In this blog post, we will explore how to build a robust video call
app using Dyte SDK and React Native.
Prerequisites
● A Dyte developer account, which you can create for free at dev.dyte.io
● Basic understanding of Typescript, React Native and Node js
● Conceptual knowledge of asynchronous communication and cloud messaging
● Any IDE that supports Android projects and Typescript: Webstorm by JetBrains,
vs-code etc.
Techstack
● React Native (Typescript) for the Android app
● NativeWind for styling
● Node.js for a simple HTTP server
● React Native Firebase for cloud messaging
This will create our app using Typescript and Yarn for package management. Next, install
node_modules from package.json using:
yarn install
To run the application, connect your Android device to your machine via USB and make
sure USB Debugging is enabled from the developer settings. Once the connection is
established, run the app using:
This will launch the sample boilerplate app on your Android device. Next, follow the
official docs to set up and configure NativeWind in the project. NativeWind is a great
utility to style React Native applications. NativeWind uses Tailwind CSS as a scripting
language to create a universal style system for React Native. This means we can style
React Native components using Taillwind’s classes via the ‘className’ prop. Make sure
to check the typescript config section for troubleshooting typescript errors!
Install the above dependencies one by one or through a single command as follows:
Apart from these, we’ll also need React Navigation for navigating between screens in our
applications, and axios for making HTTP requests: