设为首页 加入收藏

TOP

Flutter 布局控件完结篇(三)
2019-09-01 23:15:07 】 浏览:63
Tags:Flutter 布局 控件 完结
体看着复杂,实现起来其实也还好。关于如何布局拆解,之前文章有过介绍,在这里不再阐述,诀窍就是一个字----拆。

5.1 关于自定义控件

自定义控件一般都是继承自StatelessWidget、StatefulWidget。也有一些特殊的,例如上面的进度控件,直接使用Canvas画的。

对于需要更新状态的,一般都是继承自StatefulWidget,对于不需要更新状态的,使用StatelessWidget即可,能够使用StatelessWidget的时候,也尽量使用它,StatefulWidget在页面更新的时候,会存在额外的开销。

Flutter的自定义控件,写起来可能会比原生的更简单,它更多的是一些基础控件的组合使用,而很少涉及到底层的一些重写。

5.2 关于生命周期

这是很蛋疼的一个问题,一个纯Flutter的App,类似于Android中的单Activity应用。某个具体的页面就算去监听native层的生命周期,也仅仅是获取到base activity的,而无法获取到页面层级的。

5.3 感想

Flutter如果轮子足够的话,还是非常吸引人的,在熟悉了这些基础组件过后,编写起来,速度会非常快。自定义控件的实现,也比较简单。但是,性能方面,还是存在比较大的问题,复杂页面首次载入,速度还是比较慢。对于高端机型来说,整体流畅度很不错,堪比原生的app,低端机型,表现就比较捉急吧。整体来说,Flutter表现还是挺不错的,可以上手试试,把玩把玩吧。就是写起来,写着写着就觉得恶心,是真的恶心的那种恶心,看着各种嵌套标签,感觉被降维成了web开发。

近期看到一些基于Flutter的自动布局解决方案,之前也有想过,完全可以基于Flutter做出布局的工具,仅仅是拖拽就可以实现完成度非常高的布局页面。也得益于Flutter本身的思想和实现机制,web方面的很多东西,个人觉得都可以借鉴到Flutter上。单纯从UI层来说,Flutter确实有自己独特的地方。如果Flutter在最开始,就仅仅是一套跨平台的UI的话,可能更容易被人们接受吧。

前几天看了官方的camera插件,还是挺蛋疼的,对于国内的Android端来说,直接拿来商用几乎是不可能的。插件基于camera2去实现,国内大部分厂商对于camera2的支持很差,一些很容易复现的crash也没有去解决。

如果决定在现有项目中使用Flutter,则需要做好埋坑造轮子的觉悟。如果人力紧缺的话,不应该在这上面去投入,人力富余的时候,可以投入人力跟进研究,让业界觉得你们很棒很前沿。

6. 后话

笔者建了一个Flutter学习相关的项目,Github地址,里面包含了笔者写的关于Flutter学习相关的一些文章,会定期更新,也会上传一些学习Demo,欢迎大家关注。

7. 参考

  1. Flutter 布局详解
首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇AS插件-GsonFormat 下一篇Android破解学习之路(十)—— ..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目