跨平台为何选择Flutter?
Flutter诞生的核心需求就是跨平台能力,显而易见多种平台限制了应用的发展。人力成本,风险管控都因为平台个数,指数增加。所以企业会通过各种技术手段,使用跨平台能力,来实现应用的核心功能。
在Flutter诞生之前,已经有很多成熟的跨平台能力,比如H5,Weex等等。
这些跨平台能力基本分为这几类:
1. 基于WebView呈现界面和界面逻辑处理,通过JS bridge调用原生接口系统能力。
缺点就是:webview容器是有能力上限的,且出现问题后修改成本太大。
2. 将UI界面层通过桥接让原生进行绘制,例如Weex,React Native。
缺点就是CPU计算能力消耗性能。
3. 使用独立的绘图引擎来实现界面。例如Flutter,cocos2d-x,u3d等。
缺点就是需要极大的学习成本,且无法真正脱离于平台,还要具备平台开始的能力。
RN与原生对比:
RN,Flutter,原生对比通过性能测试得出下表:
显而易见,跨平台选择Flutter是最好的选择。并且Flutter独有的优势,让开发更方便。
1.快速开发
热更新技术,可以让项目启动之后,修改代码,实时生效,减少run的成本。原生开发的小伙伴们都知道,修改bug和开发界面时,每次run项目时间占用很多。而Flutter这个技术可以很节约我们的时间,提高开发效率。
2.绚丽UI
相对于其他跨平台方案,Flutter的UI组件效果是最接近于原生natvie效果,并且比原生控件使用起来更简单方便。
3.响应式
响应式开发可以说是未来开发的趋势,从之前的命令式开发,到如今的响应式开发,UI自动绑定,数据状态驱动UI变化。不管是从效率上,还是开发书写上,都比传统的命令式变成更加方便。
并且Flutter升级到2.0之后,语法和相关API调用更加人性化且容易上手。空安全验证等升级,也让代码在逻辑上出现问题的概率降低很多。