开发Native App需要根据运行的手机系统采用不同的开发语言,开发Android App需要的开发语言是java,还需要熟悉Android环境和机制。主要知识点如下:
1.开发环境,Android Studio、eclipse。
2. 数据结构,App的某些功能涉及到做算法.
3. Android SDK,会API接口开发,包括自行开发API的能力和调用第三发API的经验。
4. 熟悉tcp、IP,socket等网络协议.
5. 如果涉及到服务器,你还需要了解webservice相关知识和相应的开发语言,常用有PHP、JSP、ASP.Net.6. 除了这些功能基础,App开发还涉及到UI设计、框架、性能优化、调试适配等。
2. 数据结构,App的某些功能涉及到做算法.
3. Android SDK,会API接口开发,包括自行开发API的能力和调用第三发API的经验。
4. 熟悉tcp、IP,socket等网络协议.
5. 如果涉及到服务器,你还需要了解webservice相关知识和相应的开发语言,常用有PHP、JSP、ASP.Net.6. 除了这些功能基础,App开发还涉及到UI设计、框架、性能优化、调试适配等。
Objective-C是开发iOS系统App的主流编程语言,开发者一般用苹果公司的iOS SDK搭建开发环境,iOS SDK是开发iOS应用程序中不可少的软件开发包,提供了从创建程序,到编译、调试、运行、测试等多种开发过程中需要等工具。学习iOS开发可以去看苹果官方文档,这是最权威的ios教程。
对企业来说,可以根据自己的需求选择不同的开发类型和开发工具,目前来看,Hybrid App已经成为移动开发趋势,一方面Hybrid App开发时不采用或者大部分不采用原生语言,却能拥有原生应用的特性,一方面随着web技术的发展,Hybrid App技术已经成熟,很多大型App淘宝、微信、携程都属于这种开发模式,Hybrid App给企业移动应用的开发、维护、更新都带来了极高的便捷性,从成本投入用户体验考虑,Hybrid App都是首选。
在进行直播类app开发之前,尤其是选择自己进行直播类app开发,一定要先了解基础知识,这样才能在众多技术之间选择时更有头绪,方便推进后续开发。
一、音视频处理
1、视频处理
直播类app开发的直播功能,对主播最重要的功能之一,就是美颜功能的实现。美颜功能属于视频处理的范畴,虽然美颜功能看起来不难,但是它涉及的技术很复杂,人脸识别、图像处理、人脸追踪等功能。除了美颜的实现以外,还有用户在直播视频连麦时的视频合成等技术,也属于视频处理技术。
2、音频处理
直播类app开发使用音频处理技术,主要是对音频进行降噪处理,同时消除回声,如果用户有需求的话,还能通过音频处理技术添加声音特效,增加趣味性。
二、编码
直播类app开发可以使用的编码方式有两种,使用系统API等硬件进行编码的硬编码,和使用系统CPU等软件编码的软编码。软编码会对设备的性能要求比较高,而硬编码的兼容性又不太好,所以在直播类app开发时要选择制定合适的编码策略。除了要选择合适的编码策略之外,还要在分辨率、帧率、码率等参数之间,找到一个平衡点,兼顾视频质量和流畅度。
三、推流
推流就是直播类app将通过采集、编码、等操作的音视频数据,推送到服务器上的过程,直播类app想要实现推流,还需要流媒体文件的支持。直播类app开发常用的流媒体文件有RTMP协议、RTSP协议、HLS协议等,不同的协议具有不同的作用,存在的延迟也不相同,直播类app开发要注意流媒体格式的选择。