一、Flutter

1.什么是Flutter

2018年6月21日谷歌官方宣布Flutter的首个发布预览版(Release Preview 1)正式发布,这标志着谷歌进入了Flutter正式版(1.0)发布前的最后阶段。

Flutter是一个由谷歌开发的开源移动应用软件开发工具包,用于为Android和iOS开发应用,同时也将是Google Fuchsia(目的是为了替换Android系统)下开发应用的主要工具。

Flutter主要的开发语言是dart(一种面向对象语言),其核心思想是widgets(组件)也可以看做是类。

2.Flutter组件

Flutter为布局提供了丰富的组件类,具体请查看API https://flutterchina.club/docs/。但是相对比较麻烦的,比如Image组件就分为new Image.network(加载网络图片)和 Image.asset(加载本地图片),在测试中我使用过这个组件,但是不知道什么原因,width属性设置了也没见效果,height和其他的属性倒是没什么问题。

3.Flutter开发难度

由于这是一个面向对象语言,如果你有Java开发经验或者其他面向对象语言开发基础,那么上手难度自然比较低。不过新的技术,自然有新的技术栈,困难肯定是比较多的,而且Flutter的社区还不是很成熟,所以如果你想使用Flutter开发应用成本自然会高许多。

4.Flutter前景

跨平台应用现在也比较多,至于能不能真正做到完全跨平台这也是业界一直以来关心的话题。就目前来说Flutter还只能算是开始。那么如果谷歌后期想用Flutter替换Android,这里就关系到整个商业运用和用户接收程度了。假设这一切进行的比较顺利,那Flutter还是值得研究的,当然这个得综合自己的时间成本。

二、React Native(有经验的同学请跳过这段)

1.什么是React Native

React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域(摘自网络)。

2.React Native核心思想

React Native带来了组件化开发的思想,所谓组件,即封装起来的具有独立功能的UI部件。React Native 推荐以组件的方式去重新思考UI构成,将UI上每一个功能相对独立的模块定义成组件,然后将小的组件通过组合或者嵌套的方式构成大的组件,最终完成整体UI的构建(摘自网络)。

React Native使用两种数据来控制一个组件:props和state。props是在父组件中指定,而且一经指定,在被指定的组件的生命周期中则不再改变。 对于需要改变的数据,则需要使用state(摘自网络)。

3.React Native开发难度

React Native使用Javascript语言做为开发语言,组件使用JSX,样式使用CSS。其实只要理解状态机运行方式,就很容易上手。而且社区也已经比较完善,在开发中遇到的问题也能找到相应的解决方案。如果你是一个前端开发工程师,那React Native很适合你。

4.React Native前景

在跨平台语言中React Native应该算是做得比较好的,但是开发比较复杂的应用,那就要求开发人员
即要懂Android又要会IOS,这样就形成了学一样变成了学多样。那么它最好的使用场景就是混合式开发,主场景使用原生,其他活动场景使用React Native。这样即保证了效率又保证了性能。

三、Flutter与React Native性能对比

在性能方面Flutter还是比React Native快一点,开发难度方面React Native比Flutter更加简洁方便,
架构思想上React Native也相对较好。

(图片摘自网络)


TZLLOG
18 声望1 粉丝

TZL的日志