天天看点

前端团队的flutter验证

1、Flutter技术概览:

参考文档:https://flutter-io.cn/docs/resources/technical-overview

 2、Flutter常见问题解答 

参考文档:https://flutter-io.cn/docs/resources/faq

3、Flutter工作原理

参考文档:https://flutter-io.cn/docs/resources/inside-flutter

4、flutter demo,ionic demo (只有android版本)

见附件(flutter和ionic各打包了两个中等项目)

5、flutter web和flutter pc

参考文档:

https://flutter.dev/web

https://github.com/flutter/flutter/wiki/Desktop-shells

正在进行的工作是扩展flutter以支持桌面作为目标环境,允许开发人员使用flutter创建MacOS、Windows和Linux应用程序。从长远来看,这项工作将产生一个完全集成的解决方案,其中flutter创建、flutter运行和flutter构建桌面平台的工作与移动平台的工作相同,但目前这项工作仍在进行中。

flutter桌面API仍处于开发的早期阶段,可能会在没有警告的情况下进行更改。不提供向后兼容性(API或ABI)。期望在任何flutter更新之后,使用这些库的任何代码都需要更新和重新编译。

总结:

1、Flutter web 现在只在预览阶段,甚至还没有到beta阶段,所以现阶段做公司级项目不应该考虑它,因为太不稳定。对公司级别项目来说,稳定大于一切。

2、Flutter pc 还在开发阶段,不考虑。

3、所以对我们有价值的就是flutter可以打包成android和ios原生app。

6、对比

考虑对象:Flutter, ionic(angular), react native(react), weex(vue)

因为react native 基于的框架是react,weex基于的框架是vue,ionic主要基于angular(现在支持三大主流前端框架),为了前端技术栈(基于angular框架)的统一性,所以本次react native和weex不参与对比。ionic,react native,weex它们的目标是一致的----跨平台,只是基于的底层框架不一样。

对比的对象 Flutter ionic
是否跨平台 暂时只支持android和ios Build and deploy apps that work across multiple platforms, such as native iOS, Android, desktop, and the web as a Progressive Web App - all with one code base. Write once, run anywhere.
性能 媲美原生 比flutter略低,但是优化的好的话,用户几乎感觉不出来。
学习曲线 学习曲线比较陡,学习框架flutter,语言dart,入门可能就需要两个星期。而Flutter的设计理念更偏向于app原生开发者,前端接受和学习比较困难。 平滑过渡。几乎没有学习曲线,因为还是用的前端的东西,只是需要熟悉一下新的组件库和原生开发的一些事项。
稳定程度 因处于早期,不太稳定,github上有5000多个issue没有解决 比较稳定,github上只有500多个issue没有解决

7、结论(个人)

结论:

如果技术团队以前端为主的话选 ionic 非常不错;如果技术团队以android或ios 开发为主的话就选 flutter。

所以针对我们的团队现状,我推荐使用ionic。

理由:

  1. 为了前端技术栈的统一性(基于angular框架和ts语言),降低招人成本,学习成本,适应成本和开发成本。
  2. 如果选择flutter的话,意味着要学习框架flutter,语言dart,入门可能就需要两个星期。而且团队中没有人做过flutter开发,一旦遇到问题的话就很可能造成项目延期甚至失败。而且flutter的诞生时间太短,资料太少,这些到时候可能都会成为潜在的问题。而ionic诞生时间很长,已经经历了市场考验。最关键的问题是我做过ionic开发,有3个ionic app的开发经验,经历过ionic app的完整生命周期。
  3. Flutter的设计理念更偏向于app原生开发者,前端接受和学习比较困难。
  4. ionic4 也很不错,Ionic4.x 基于 Web Components,运行速度也很快,相比以前版本的 Ionic 框架性能提升很多。Ionic4 可以和 Angular、Vue、React 三大框架配合使用。