一项改变游戏规则的技术 - Flutter( 四 )
我记得我一开始写Flutter的组件的时候 , 非常地不习惯 , 甚至产生抗拒心理 。 因为Flutter的组件结构方式与我写了多年的web端组件写法是完全对立的 。 但是 , 当我写了2个星期后(我在网上到讨论 , 一般大家的过渡期也是2个周) , 开始觉得这种写法是如此自然又高效, 甚至开始怀疑以前自己写的那些代码:web端那种把HTML ,CSS ,JavaScritp分开的形式 , 是不是本身是种错误 。 也开始反思 , 为什么我从来没有怀疑过这种既定规则的合理行 。
因为我自己没有长期iOS端和Android端开发的经验 , 我不知道从iOS端的Layout布局和Android端的XML布局转换到Dart , 是怎样的心路历程 。 但是 , 下面是我从网上找到的一些感想:
本文插图
native
Dart dev tool
Dart提供了一些工具来帮助你日常的开发和调试 , 其中一个是非常厉害的工具就是Dart dev tool 。 举一个例子:下图展示的是一个在Flutter里面常见的bug:子元素溢出了 。 这个时候你打开Dart dev tool , 你可以看到这个组件的布局 , 在这个工具上会显现这个元素相关的一些属性值 , 给你提供排除bug的思路 。 比如这个例子里 , 我们看到flex的值为‘null’ , 这可能是bug的原因 , 你可以通过下拉框选择一个flex的值 , 看是否可以解决这个bug:
本文插图
dar-dev-tool
是否推荐项目采用Flutter
前面花了很大的篇幅来介绍我和我实际使用Flutter上线了一个App的故事和感受 , 也从Skia和Dart层面去分析了为什么Flutter具备有那么多的优点 , 而不只是官方宣传 。 那么最后的最后 , 作为一个还十分年轻的技术 , flutter是否适合在项目上使用呢?
没有一个技术是完美的 , 但是除了一些不可抗力的因素外 , 我们去做一个技术选型 , 依据的标准应该是它的优点是否超越它的缺点 。 不如我们再次来总结一下Flutter比较核心的的优点和缺点:
Flutter的优点:
- 跨端 , 跨平台
- 双端高度一致的UI
- 漂亮的UI
- 高性能
- 开发效率高
- 包的大小不算小(特别是混合项目)
- 目前github上的open的issue有7000多
- Flutter的error message不友好
- 可能会有内存泄漏的问题(常见在iOS端)
当下 , Flutter和Fuchsia(谷歌正在研发的一个新的操作系统)都是谷歌的重心 , 所以大概率Flutter不会成为一个烂尾的项目 。 而且 , 就Flutter目前拥有的成绩证明 , 它已经足够优秀 , 何况它还这么年轻 。
所以从我自己的角度来说 , 十分推荐采用Flutter 。 可能web端和desktop端目前还不那么成熟 , 但是native端可以大胆尝试 。
文/ThoughtWorks 彭梦秋
更多精彩洞见 , 请关注微信公众号:ThoughtWorks洞见
推荐阅读
- 极客微视数码说TB 12预热期!没有充电器和屏幕高刷?粉丝:只求这一点改变,iPhone
- 贪玩_小潘潘|郎导亲承暂不改变退休计划,当下做好训练,只担心一事
- 大漠军武|美国打算购买俄罗斯装备?一个关键信号传来!或将改变世界局势
- 六六途游|我国迎难而上,再度开创一项超级工程,全球竞标24个国家相继退出
- 7月5日|等差数列:5,9,13的下一项是?蚂蚁庄园7月5日答案及解析
- 兵戎要志|其实就是流星空对空导弹,印即将获得“改变南亚天空平衡”的武器
- 我国|中国推出一项禁令,直接令15个国家损失百亿,纷纷请求收回决定
- 我国|直接令15个国家损失百亿,纷纷请求收回决定,中国推出一项禁令
- 江苏以创新驱动发展,用创新改变生活,靠创新引领未来——创新提升小康成色
- |张雨绮傻白甜性格出圈,穿衣也彻底改变,一袭蕾丝裙少女感爆棚
