前言
因为工作的缘故这两年被迫了解了各种软件开发技术,主要是安卓与跨平台移动端框架,一路走来自是体验了各种框架的优缺槽点,想来应该给大家做一次横评,粗浅的评价下体验感受,有坑的我也希望大家能在一开始就避免,以下皆是个人体验,若与你不同,以你为准。
1.Android原生xml开发框架:经典永流传
优点:只要会java,几乎0门槛上手,公司里的硬件工程师都能写。当然也有现代开发的jetpack套件,新旧融合,非常稳健好用的开发框架。且框架提供粒度相当细,上限极高。
缺点:不带jetpack的原生xml开发接触直接让我梦回jquery时代。其次模板代码太多,写一个列表就需要一个Adapter,写多了让人心烦。动画实现也相当麻烦,而且需要多线程知识。
2.Android Compose 开发框架:金玉其外
优点:使用kotlin(当然xml开发也可以用kotlin,但是这个语言特性结合的更好)
缺点:除了优点几乎都是缺点,相当激进的框架,纯粹的数据驱动,且过于年轻,几乎没有任何周边资源,当前就是坑,对未来我也不看好。
3.react native:海外首选
优点:前端上手几乎零成本,热更新推送,热更新开发
缺点:开发环境搭建复杂。但是国外的expo框架可以解决这些构建问题,使用体验相当丝滑,但是对网络要求高,其次就是可能会水土不服,附带了云打包功能,要付费,本地打包必须mac或linux。
4.uniapp:你的框架太过垃圾,但是可以替代小程序又弥补了这一点
优点:国内用的人多,可以替代小程序原生开发
缺点:谁用这个做app,谁就是撒贝。uniapp做app开发有相当多隐性的坑,甚至有些只有打包后才会体现,埋雷高手。其次app不能开发热更新,调试工具也很慢。拉中拉。
5.flutter:最像游戏引擎的软件框架
优点:各端高一致性,谷歌官方支持,周边资源多,热更新开发,优秀无需多言。
缺点:无法热更新推送,有一些魔改的方案可以做到,一般要付费。嵌套ui确实难写。