Comparison of advantages and disadvantages of WEBRTC native development and hybrid development

Source: Internet
Author: User

The advent of WEBRTC has made it possible for enterprises to quickly develop a full platform-enabled audio and video program. Before WEBRTC, the enterprise wanted to develop a full-platform audio and video program, the difficulty, the workload is very large. After using WEBRTC, some common modules in audio and video programs such as audio and video capture, play module, RTP,RTCP Protocol module, can be directly reused WEBRTC ready-made, do not have to repeat the wheel. The development of these modules is not very difficult, but the workload is very large. With WEBRTC, businesses can focus on optimizing processes, resolving bugs, and achieving business needs.

At present, there are two ways of developing WEBRTC program

    • Native development, download WEBRTC code yourself, each platform compiles itself. On the basis of the WEBRTC API to do the package and two times development.
    • Calling the WebRTC JavaScript interface, the WEBRTC program must be running in a browser that supports WEBRTC, and the techniques used are javascript,html,css. Windows,android,ios,linux can share a set of code.


In the following article, we will elaborate on the main differences between WEBRTC native development and hybrid development.


WebRTC native Development
WEBRTC code is developed in C + +, and if native development is used, there must be someone on the team who is proficient in C + +. And if you want to be able to understand and modify the WEBRTC code, just C + + is far from enough, but also to be familiar with streaming media technology. WEBRTC involves more than 20 RFC documents, if there is no theoretical knowledge to do support, WEBRTC code is really not what is easy to read. Developing Windows-side, Android-side, iOS-WEBRTC programs, the technical and staffing needs to be used are probably as follows:

    • Windows side, the interface uses QT or DIRECTUI, directly using the C + + interface to invoke the WEBRTC function, personnel need at least one Windows client developer and WEBRTC SDK developer.
    • Android, the interface uses the Android native interface, using JNI technology to invoke the WEBRTC feature, staffing needs at least one Android developer and WebRTC Android SDK developer.
    • iOS native technology, using OC to invoke the WEBRTC feature, requires at least one iOS developer and one WEBRTC SDK developer for staffing


in summary, it can be found that if the use of native technology development, the need for developers or more, involving more technical points, the workload of the corresponding testers is also large, want to three end of the client all done, the difficulty is quite large.

Currently, WEBRTC Desktop version stability and compatibility is still better. Mobile version because the mobile version of Chrome use less people, Google in this aspect of investment is not enough, compatibility and stability there are many areas to improve. If your app phone model is more complex, which can only be developed using native, you can do better with compatibility and stability on the official version of WEBRTC.

Android version only after Android 4.4 WebView support WEBRTC feature, iOS version of Chrome does not support WEBRTC feature, it is said that IOS11 version of Safari will support WEBRTC, but compatibility and chrome WEBRTC will have some compatibility issues 。 All your users and older mobile phones, you can only use the native development.

native Development, compiled WEBRTC development package size of about 3M, and the use of mixed development, the app finally packaged out the size is above 30M, so if your application degree if the program installed package size requirements, you can only use the native development.
Finally, if you should also add H265 such as video coding, or video, audio input sources have special requirements, can only be used in native development.
WEBRTC Hybrid Application Development

Using the Hybrid application of the WEBRTC program, is to call the WebRTC interface with JavaScript, using HTML,CSS to do the display interface. The current use of HTML5 to develop apps and desktop programs is also slowly becoming popular, such as react native technology. The benefit of hybrid application development is that a set of code can be compatible
windows,mac,ipad,ios,android, Browser, a full stack front-end developers can be all done, the development period is short, the difficulty is relatively low. The disadvantage of using hybrid application development is not to customize the WEBRTC, you can only use WEBRTC standard features, if the WEBRTC the bottom of the bug, you have no way to modify, there is a disadvantage is that the installation package is relatively large.
using HTML5 to develop WEBRTC also has an advantage is that you can in the mobile phone QQ, Android version of the direct jump, which means that users do not install any program, directly from or mobile phone QQ to your program, which is more advantageous for the promotion.

Conclusion
The use of native development or mixed development, there is no good or bad points. This is based on the situation of your team's research and development staff and the target customer situation flexibility.
1. If the team front-end strength is relatively strong, you use the hybrid development model.
2. If the app is facing a very large number of users, the phone model is not fixed, which can only be used in the native development.
3. If the target customer is an enterprise customer, the size of the installation package does not care, the phone model is fixed. How to use hybrid development.
4. If you want to dock a non-standard pitch video device such as a surveillance camera, or if you want to use a video encoding other than VP8,VP9, which can only
has been developed using native.

Comparison of advantages and disadvantages of WEBRTC native development and hybrid development

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.