共计 1369 个字符,预计需要花费 4 分钟才能阅读完成。
写在前面
前段时间 Google I/O 2019 大会上 flutter 再次狠狠的刷了一波存在感,随便看看不管是微博,推上还是 medium 或者一些其它的技术社区上也是铺天盖地的讨论,优缺点搬运过来差不多是:
优点:
- 贯彻始终的 widget 的设计思想和开发方式对各种背景还是很亲切的
- 跨全平台的愿景很吸引人
- 写界面和相关的逻辑快速简单
- 文档还有编辑器,IDE 的支持很完善和贴心
- 社区很活跃教程也很多 (包括官方的 youtube channel)
- 保持状态的 hot reload,效率高到飞起
缺点:
- Desktop, Web 平台的支持还处在 preview 或试验阶段
- 包的数量很少,质量也一般
- 各平台要想实现复杂效果的支持度不行,需要花费大量时间
- 目前采用 flutter 开发的上架 App 其实还是很少
总结来说就是目前还在初级阶段,简单业务为主的项目可能比较合适,追求体验的 App 可能会碰到很多坑,实现复杂体验所发的时间基本会抵消掉跨平台复用所带来的成本优势,但是需要合适的场景和项目才有机会体会到这些全部的优缺点。
示例
不过还是本着尝鲜还有无聊打发时间的想法,花了点时间学习和把以前做的一个 iOS 捷径写了一个 Cat Catalog 的简单 App,支持:
- view cats of different breeds by tags
- search by simple keyword
- like your favorite cat(s)
- read further information on Wikipedia page
项目功能和逻辑都很简单,用到的 API/widgets 很少:
- JSON -serializing
- Animation
- 基础的布局控件
- 使用外部包和字体
代码放在 Github:https://github.com/gnehcc/cat… 上了,有兴趣的同学也可以看看,有用的话欢迎 star。
使用感受
最后就用到的功能谈几点简单感受:
- Dart 学习起来非常简单,只要有任何其他语言的使用经验,花点时间看看 language tour 基本就可以开始了
- 动画抽象程度高,用起来很简单,异步语法简洁,
- 用的 VS Code + Dart 插件 + Flutter 插件,代码写起来流畅到飞起
- HOT RELOAD 开发起来特别顺手,大部分时间只需要保存代码之后 Simulator 就直接更新了,实在不行 hot restart 也挺快的
- Widget 的嵌套用法让代码有点杂乱,如果 Code Extraction 做的勤快点的话勉强好点
- 第三方库的数量还有功能丰富度目前确实还比较原始
- 一个 Code Base 基本无缝的跑在 iOS 和 Andoid 平台,但 Flutter 的控件其实有两套(Material 和 Cupertino),抛开平台特定功能,也需要至少需要特别处理。
个人觉得如果有时间完全可以一遍学一边写写玩玩(主要是也花不了多少时间,写着写着发现动漫也追完了 …),如果满意的话上传到 App 商店也是件不错的事情。
发布在个人博客上的文章可能未及时同步过来,欢迎直接访问 https://gnehc.me
链接
捷径个人主页:https://sharecuts.cn/user/eOz…
Flutter Dev: https://flutter.dev/docs
Flutter boring show
A tour of the Dart language: https://dart.dev/guides/langu…
正文完