你好 。我来回答这个问题 。我有9年多的IT从业经验 。负责过一个大型App的前后端架构设计 。以及多个小型App的架构编码工作 。
大型App的开发 。具体用什么编程语言 。这个要分场景来说:
①追求用户体验的C端App:
这类面向普通大众、追求良好体验的App 。例如微信、支付宝、今日头条等 。则建议使用原生代码来开发 。即Android使用Java或Kotlin 。iOS使用swift语言 。
使用原生语言开发 。可以充分发挥出App的所有优势 。你可以使用任何API提供的功能 。而不像混合开发那样有着种种限制 。此外 。原生代码开发的App的运行速度也是非常流畅的 。对于考虑兼容性广、适配所有机型的App来说 。原生开发几乎是唯一的选择 。
这类开发的弊端是研发成本较高 。因为同样的业务逻辑需要在Android和iOS上分别来实现 。
文章插图
文章插图
②追求迭代效率的B端App:
一些公司内部使用的大型App 。由于使用范围仅限于某一个组织内部 。不需要追求极致的用户体验以及广泛的机型适配 。而追求的是系统版本的功能开发 。问题处理的便捷性 。更重要是降低App的研发成本 。
对于这类App 。适合采用混合开发的模式来做 。例如Flutter、Ionic、Cordova等 。这类开发的优势是一次开发 。处处运行 。无需再单独为Android和iOS分别开发代码 。可有效降低企业的研发成本 。也提高了App的版本迭代速度 。此外 。之前需要高薪聘请Android和iOS工程师 。现在只需要会Web开发的人员即可 。
这类App的弊端是流畅性较低 。兼容性弱 。无法开发大型游戏等对性能要求较高的场景 。
文章插图
其他观点:
哈喽 。我是七步的天 。有着五年多的编程经验 。很高兴为你解答 。
现在主流的开发app的编程语言可以分为两类 。下面分别对这两类分别介绍 。
(一)第一类:针对单一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 兼容性的限制 。
文章插图
(二)第二类:可以针对多个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框架 。基于Vue.js 。俗称一套代码编到8个平台上 。
uni-app 是一个使用 Vue.js 开发所有前端应用的框架 。开发者编写一套代码 。可发布到iOS、Android、H5、以及各种小程序:微信/支付宝/百度/头条/QQ/钉钉等多个平台 。
推荐阅读
- 过期的苏打水如何利用
- 《王者荣耀》“双盾流”瑶崛起,给队友秒加5000血,后排多出一条命,应该怎么玩?
- C语言可以用devc++运行,而devc++软件也是由代码编写而成。所以追根溯源,代码的源头是什么?
- 苏打水过期了还能喝吗
- 《王者荣耀》“躺赢流”瑶火了,被天美判定挂机,排位胜率却高达80%,应该怎么玩?
- windows系统上有哪些免费的C语言编译器、JAVA的编译器和Python编译器?你有什么推荐?
- 苏打水可以天天洗脸吗
- 上海有哪些特色小吃?
- 苏打水饮料可以敷脸吗