I want to build voice/video react native app. I read a lot of stuff but I am confused. There are webrtc, twillio, callkit, but amongst of them the best is webrtc as I read and can you advise me what is the best way to build VoIP app on react native?
First we have to understand that a VoIP server can use different protocols for signaling like SIP.
To build a webrtc app and communicate with a Voip server you have to implement some protocol that uses the server.
You can use the library SIP.js or JsSIP to implement the functionality of a softphone.
If you want a more advanced softphone you can modify demos like Sipml5
Related
How can I open another application from my react native app? Are there any libraries or APIs available for this?
Can you please provide a detailed explanation on how to open another application from my react native app? Are there any specific libraries or APIs that I can use for this purpose? Are there any limitations or restrictions that I need to keep in mind while implementing this feature?
Is Corda compatible with React Native?
What is the best way to develop a mobile application with Corda?
You can achieve that, but you need several moving parts:
A Braid webserver which detects your flows and generates Open API compatible templates.
An Open API Generator which translates those templates into an API library (in NodeJS for instance).
A React front-end.
You can find an example implantation of the above approach here.
I also wrote an article about Braid here.
Corda Node cannot be run on a mobile device. Hence a mobile app and a CorDapp would be separate components.
You could build your mobile app using react-native.
The mobile app could connect to a Corda node using REST API exposes by a client.
The client connects to the node using RPC and relays user inputs to the node.
me and my team have developed a Bluetooth access control app using react native. The way it works is that our app connects to a in house hardware solution using Bluetooth 4.0+, when connected does a series of key authentifications using standard cryptography patterns.
The cryptography protocols run in a ReactNative javascript environment, and the Bluetooth connection, data transfer and service notifications are done using the react-native-ble-manager plugin. Authentification is done using the Bluetooth notification data received from the ble-manager plugin and the crypto javascript class.
At this moment, we have a need to implement this Bluetooth access control protocol in client applications. We would need to make a library, for both iOS and Android.
The question that I want to ask is, do we need to implement the whole app logic in native(java, swift) for both Android and iOS, or is there a solution to implement it as a ReactNative module inside native Apps.
We know that you can implement part of a native App in ReactNative, but for this specific problem how complicated it would be, and how good of a solution would it be?
I am developing one application in react native I am new to it. So curious to know that on which platform api should be build?
Thanks
Depending on your application, there may no reason for API at all.
If you need to store data on the server then API may be build in any technology you feel comfortable with. As far as the React Native goes, it supports many ways to connect to API, including both REST and GraphQL.
I see WebRTC is the the best way for developing it. But there are some paid frameworks in market for establisting video chat between wide range of clients like Web-Web, Web-Mobile(IOS, Andriod, Windows, etc.,).
Web-Web communication flow is very simple to implement. Now, I want the same for Web-to-Mobile and vice versa without using any external frameworks built on top of Native WebRTC. Please suggest me some best approach to achieve this.
The latest Chrome on Android is WebRTC friendly, that means if you have a web app that implements WebRTC. It will be working on Android's Chrome.
If you decided to create you own native app that implements WebRTC. Here are some great sources.
iOS WebRTC: https://webrtc.org/native-code/ios/
Android WebRTC: https://webrtc.org/native-code/android/
Follow the instructions in each allow you to build the native WebRTC framework that you can later on import them into your native projects.
The WebRTC APIs are somewhat related to the ones you are using in your web application. You need to do more documentation reading for those as you are using the official framework that built from the source, not a third library.
Before starting you need to review and test platform to make sure it works fine for all your target user categories. You can do that by reviewing references and also testing some existing apps for user types you plan to support.
As you mentioned wide range of clients, you need to identify the limitations of WebRTC technology. You can also evaluate other technologies: in example you could reliably serve most client types with mobile and web apps that use RTMP.