快速开发平台优劣对比

一级用户组 lyj_1566483979 1月前 203

Uni-app:

优点:

1、遵循vue单文件规范。Vue适合单人开发,上手快,响应速度快。

2、可以适用多端的开源框架,一套代码可以同时生成ios,Android,H5,微信小程序,支付宝小程序,百度小程序等。

3、对前端开发人员比较友好,学习成本比较低,首先uni-app是基于vue.js的。其次封装的组件和微信小程序的组件基本一样。

4、使用HBX进行开发,HBX对于vue语法等支持可以说是比较好。

5、拓展能力强,封装了H5+,支持nvue,也支持原生Android,ios开发。可以将原有的移动应用和H5应用改成uni-app应用。

缺点:

1、问世的时间还比较短,有很多地方还不是完善,坑很多。

2、对于使用中的一些bug及问题,官方回应的不是很及时。不过可以加一下qq群或者去社区和其他uni-app开发者一起讨论呀。

3、兼容性问题,据说在android平台表现没有小程序和Ios好。

4、比较老的手机,比如Android4.4手机或ios8,很多css不支持,不能使用太新的css。(问题不大,减少新属性的使用)

Flutter:

开发公司谷歌,近期比较火的一个一套代码开发多端app。Flutter使用自己的一套原生控件

参考:1、http://www.sohu.com/a/298317011_464033

     2、https://www.cnblogs.com/holy-loki/p/9735010.html

Flutter的优势:

1、运行效率上,Flutter和ReactNative都可以达到理论上的60帧的刷新率,来实现「Native般的流畅体验」,Flutter是Native在执行,基于底层代码(Android 上为 C++ with NDK,iOS 上为 C++ with LLVM),而ReactNative是Native控件 + JavaScript代码,实际性能上,Flutter应该优于ReactNative,据官方文档,Flutter可以在支持的设备上达到120FPS,而ReactNative的文档上,只提到了可以达到60FPS(RN是否支持120FPS未深入调研,文档上 RN 可以通过优化 diff 的方法提升渲染效率)。

2、兼容性上,Flutter 提供的 widget 都是基于 skia来实现和精心定制的,与具体平台没关,所以能保持很高的跨 os 跨 os version 的兼容性。

3、Flutter 从更基础的层去抹平平台差异,站在了更宽广、更可控的一个基础平台上去演变和发展。

4、Flutter 官方提供了大部分 Material Design 控件的实现(甚至比 Android Design Support 实现的更多)。

--------------------------------------------------------------------------------------

不足:

1、不支持3D

2、不支持windows app,ReactNative 可通过微软的https://github.com/Microsoft/react-native-windows 开发 windows UWP 和 WPF 程序。

3、版本尚不成熟,目前 Flutter 官方建议的稳定版本还是 beta 版本。目前存在很多 issue,在目前调研中遇到的有「flutter doctor」环境检查误报错误、text input 会被软键盘遮挡、在设备上hot reload经常掉线等,很多问题官方的回应都是「will be fixed in next release」。

4、官方提供的组件大部分都以 Material Design 为主,iOS风格的组件比较少,对于需要用到 iOS 风格组件的情况,都需要自己手动绘制组件。

5、社区尚不成熟,开发中遇到问题,在官方文档、StackOverFlow 上都没有相关资料。

对比参考:https://juejin.im/post/5b1e8b826fb9a01e3962618d

ReactNative:

优势:

1、调试方便

2、css-layout布局,降低成本

3、跨平台

4、热更新

不足:

1、文档很粗略

2、两个平台还没有完全统一(IOS和Android组件不统一)

3、控件不完善,这个其实挺多的,最基本的ListView,功能缺失,坑很多。Text不支持富文本,动画,手势,ScrollView等等等等。不能一一列举。作为聊天软件,富文本功能必须实现啊,用于emoji表情和文字的混合显示。

4、RN升级麻烦,工作量大

5、据说有家公司安卓和iOS各三个人,每次迭代都是有序进行。然而换了RN之后,6个人全上,做的累,迭代慢,bug多。

App Store 禁止热更新:

亲爱的开发者

在今年 3 月我们已经发过消息提醒,你的 App 内似乎有一些热更新(即绕过 App Store 审核的更新)的代码,这些代码违反了苹果开发者协议的 3.3.2 条款与 App Store 审核指南的 2.5.2 条款。以及,我们曾要求你移除所有相关代码、框架或 SDK,并且重新提交版本。

在这条消息推送时,我们还没有收到过你进行过相应的调整。

为了确保你的 App 在 App Store 内的正常运行,请在 2017/6/12 之前提交一次更新。如果不做调整的话,你的 App 可能会从 App Store 下架。

如果你对此消息有任何疑问,请回复与我们联系。

诚挚的问候

App Store 审核团队

NativeScript:和RN比没有优势。

weex :了解到开源代码坑很多。

还没有人收藏过本帖~
最新回复 (0)
返回