iOS混合开发 -- Weex(背景)
人生就像一杯茶,不会苦一辈子,但总会苦一阵子。
前言
公司之前用H5写了一个电商平台,现在要整app,毕竟是电商,没有啥复杂的交互、动画什么的,为了加快开发进度,公司决定混合式开发。但是选择哪种开发方式还是个问题,于是开会。
情景再现
时间:端午前夕。
地点:公司办公区东北角。
人物:研发总监,安卓负责人,我。
事情:就纯电商界面的混合开发用什么框架展开讨论。
经过一系列的激烈的讨论,我和安卓负责人都强烈建议用flutter
(毕竟是大厂出的,目前正火),研发总监略微思考了一下说:“好,我们就用Weex
!”,“啊!好。。。”
就那么“愉快”的决定之后,我们就开始了Weex
的开发准备了,开发之前再次对三种方式作出了下对比;
- React Native
1、脸书出品,
Learn once, write anywhere
。(针对安卓,IOS平台特性 各自写,会有很大一部分是一样的代码)
2、使用Javascript
语言,类似于HTML
的JSX
,以及CSS
来开发移动应用。
3、从目前的状况来看,并没有真正的解决了跨平台问题。因为它们都始终逃不开性能、包大小、流畅性、内存、平台特性等问题。
- Weex
1、阿里出品,
Write once, run anywhere
。(支持iOS、安卓、YunOS及Web等多端部署)
2、通过撰写HTML/CSS/JavaScript
(目前用可以用vue
)来开发Native
级别的Weex
界面。Weex
界面的生成码其实就是一段很小的JS,可以像发布网页一样轻松部署在服务端,然后在APP中请求执行。
3、文档更新慢,社区不够活跃,可参考的demo较少。
- Flutter
1、 谷歌出品,是构建未来的Google Fuchsia应用的主要方式。
2、使用Dart
语言开发,可以快速在iOS和Android上构建高质量的原生用户界面。通过平台api、第三方sdk和原生代码使您的应用变得生动起来。Flutter
让您可以重用您现有的java、swift和Objc代码,并在iOS和Android上访问原生特性和SDK。
3、Flutter
正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。总觉得未来会火~
后记
我也看了不少的帖子还有博客,最后得出的结论是:
- 如果只是简单的UI布局,还有一部分要用
native
做的话,还是用weex
,但某选整个都是weex
,不谈~。 - 如果基本放弃
native
的话,还是用flutter
。