
主要针对两大移动端:Android和IOS,我们就不多说了,下面我们从另一个角度进行分类。
01
第一类:针对单一APP开发的语言,即开发一套代码只能运行在一个平台上。
1、开发Android的:Java和Kotlin
Kotlin是一种在Java虚拟机上运行的静态类型编程语言,被称之为Android世界的Swift。Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有 JVM 的设备上运行。运行效率提高很多,并且语法更加简洁好用。
如果是与系统底层进行交互则需要使用JNI技术,通过和C或者C++结合实现相应的业务逻辑,比如美颜或者直播类型的APP。直播类型的APP采用的ffmpeg技术,其中ffmpeg就是用C语言实现的。
2、开发IOS的:Swift和Object-C
Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制。
02
(二)第二类:可以针对多个APP端的编程语言,即只需开发出一套代码,就可在多个平台上运行。
1、第一种是Flutter技术
基于Dart语言,比如现在闲鱼APP就是基于flutter开发的。并且有着多年经验,而且闲鱼免费开源了框架。
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。
Flutter的热重载可帮助您快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以在亚秒内重载,并且不会丢失状态。
尤其是在UI上使用Flutter的现代、响应式框架,和一系列基础widget,轻松构建您的用户界面。使用功能强大且灵活的API(针对2D、动画、手势、效果等)解决艰难的UI挑战。
2、第二种是Uni-app框架
基于Vuejs。俗称一套代码编到8个平台上。
uni-app是一个使用Vuejs开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序:微信/支付宝/百度/头条/QQ/钉钉等多个平台。
小结:
第二类开发起来更显效率,节约很多时间成本。当然,如果加上大型APP这个限定条件的话,就不能用单一的某一种编程语言来说了,一般情况下大型APP必然会用到的编程语言有三种:
第一种:平台原生推荐语言,如:Android平台的Java和Kotlin,ios平台的object-c和Swift(swift版本之间的差异比较大,要学习的话还是要注意版本选择)。这部分一般用于处理核心业务、权限请求以及高性能要求页面。
第二种:web语言,这里主要指的是h5相关的技术栈。这部分主要处理非核心业务逻辑,以及需要动态更新的页面。
第三种:NDK相关,这里一般用到的就是C、C++。大部分写业务逻辑的同学用的比较少,不过大型APP一般还是会用到一些。主要应用于安全性要求高,高性能算法以及跨平台算法实现。
1芯片都去哪了?美国SIA年度报告揭秘~
2树莓派偷偷换上新SoC!
3MCU从入门到躺平
4车规级MCU国产替代下的选择题:车厂策略激进,直供能成为未来主流?
5编程语言成功的几大要素
6碳中和,不确定世界里的确定性
其实现在有很多开源的websocket服务端组件,你自己多百度一下就可以找到。
使用这些开源的websocket服务端组件不好的地方是,很多功能都需要自己去做各种优化,要做的工作非常多。如果项目时间充裕可以考虑这种方式来实现。
如果项目时间紧,对websocket服务性能要求高,那可以考虑第三方的websocket推送服务。
我们前段时间在uniapp插件市场找到一款性能优异的websocket推送框架,对uniapp支持不错,算是uniapp生态体系里面非常优秀的一款框架了,推荐你去试试。框架地址:网页链接
没有获取相册权限。uniapp由于没有获取相册权限,就会出现调用手机相册保存流到后台服务的情况。解决方法如下:1、首先重新启动手机,点击进入设置。
2、其次点击权限设置。
3、最后打开该程序的相册权限即可。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)