对Flutter相关资料的阅读,根据各大厂(美团、头条、阿里等)的经验,总结如下:

Flutter,本质上一套跨平台的UI框架,通过OpenGL这种跨平台的绘制库(内部会调用操作系统API)实现了一套代码跨多端。Framework底层是Flutter引擎,引擎全部使用C++实现,强大的引擎能力,提供高效的图形和文字绘制。

所以Flutter主要做页面的跨端开发,当前情况下,开发一个成熟的跨端产品,并不能完全抛弃原生开发。

优势:


  1. 一套代码,多端运行,而且运行效率和流畅性介于原生和H5之间
  2. 掌握Flutter开发技巧后,多端页面开发工作中,人效提高50%-70%之间;

劣势:


  1. UI细节离原生有一些差距
  2. 开发体验不太好,跨端调试工具不完善,调试时间会更长
  3. 安装包体积会比较大,开发人员需要做 Flutter 的产物瘦身与包体积瘦身

需要克服的困难:


  1. 新语言Dart和新框架的学习成本;
  2. 目前使用Flutter的基本上是与原生混编,开发人员需要对各端原生开发技术有所掌握,涉及到各端底层调用或者优化,需要各端的原生开发技术支持。
  3. 成熟的第三方库比较少,需要开发人员更多的掌握开发细节技巧和优化技术;