本文已参与掘金创作者训练营第三期「高产更文」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力。
前言
【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
百度指数:
谷歌指数:
- 百度指数: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 的架构对比图:
总结一下就是:Flutter 的理论性能(抛开场景谈性能也是耍流氓)比其他三个都要强一些。
项目维护频率
哎呀,懒得截图了,直接说结论说:除了 Weex,其他的都维护的挺勤快的,但是 Weex 好像已经在内部搞 2.0 版本了。
最终结论
Flutter 以显著优势胜出!!(当然这结论只是在我这儿...)
对了,如果你还是没毕业的同学,那么直接学就行了,哪儿来这么多废话!