【Flutter 从 0 到 1】为什么选择 Flutter ?

1,683 阅读3分钟

本文已参与掘金创作者训练营第三期「高产更文」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力

前言

【Flutter 从 0 到 1】 这个专栏记录了我是如何从零基础开始学习 Flutter,以及在学习过程中踩过的坑,到最后输出一份属于自己的项目模板的过程。写这个专栏的目的也是为了让初学 Flutter 的朋友避免走一些弯路,能尽快的学会 Flutter 以及它的生态。

这里存放该专栏的文章顺序,每次发布新文章时,会更新每篇文章的这里:

第一篇:为什么选择 Flutter ? <— 你的当前位置
第二篇:如何上手 Flutter ?
第三篇:了解 Flutter 的生态
第四篇:Flutter 简单的工程化
第N篇:...

Start Game

为什么是 Flutter ?

当下可选择的移动端开发方案很多(比如热门的跨端方案有:Flutter、React Native、Weex、uni-app),最终选择 Flutter 的理由呢,是由于以下几点:

学习成本

  • Flutter(Google):跟前端关系不大;需要掌握 Dart 语言与 Flutter 框架才能上手开发
  • React Native(Facebook):跟前端关系很大;如果提前掌握 React,上手会比较容易
  • Weex(阿里):跟前端关系很大;如果提前掌握 Vue,上手会比较容易
  • uni-app(Dcloud):跟前端关系很大;如果提前掌握 Vue,上手会比较容易

总结一下就是:如果你是前端开发工程师,那你选 Flutter 的话,成本其实还是比较大的。

But!!如果学个 Flutter 就把我难住了,那我还怎么在掘金混?

热门程度

GitHub:

  • Flutter 的 stars 数是:127k
  • React Native 的 stars 数是:97.1k
  • Weex 的 stars 数是:17.7k
  • uni-app 的 stars 数是:32.8k

百度指数:

image.png

谷歌指数:

image.png

  • 百度指数:Flutter > uni-app > React Native > Weex
  • 谷歌指数:Flutter > React Native >> Weex ≈ uni-app

总结一下就是:Flutter 的热度在国内外目前都是最高的。

性能

三大渲染引擎,WebView、React Native/Weex、Flutter,复杂度依次降低,渲染性能依次上升。(注意 uni-app 是双渲染引擎,WebView 和 Weex 都内置了)

但提升性能是有代价的,在这里,开发便利性和运行性能是不可兼得的。WebView 有灵活丰富的 CSS3,React Native/Weex 有固定 Flex 模式排版,Flutter 有最简单但高性能的 Flutter 排版。

这个地方参考了这篇文章:ask.dcloud.net.cn/article/360…

槽点:Flutter 用 Dart 语言来写页面,会出现恐怖的 “嵌套地狱” 现象

Flutter、原生 Android、React Native 的架构对比图:

image.png

总结一下就是:Flutter 的理论性能(抛开场景谈性能也是耍流氓)比其他三个都要强一些。

项目维护频率

哎呀,懒得截图了,直接说结论说:除了 Weex,其他的都维护的挺勤快的,但是 Weex 好像已经在内部搞 2.0 版本了。

最终结论

Flutter 以显著优势胜出!!(当然这结论只是在我这儿...)

对了,如果你还是没毕业的同学,那么直接学就行了,哪儿来这么多废话!

hdrjsbkwd