learn-tech/专栏/Flutter入门教程/26教程总结与展望.md
2024-10-16 00:01:16 +08:00

193 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

因收到Google相关通知网站将会择期关闭。相关通知内容
26 教程总结与展望
1. 教程小结
对于应用程序来说,最重要的有两方面: 数据和界面。
数据的信息为界面提供构建资源
界面的交互让数据内容发生变更
学完本教程,希望大家可以意识到 Flutter 中界面由 Widget 派生类来决定;而组件实例化时的配置信息就是界面中所依赖的数据。数据和界面就像一枚硬币的两面,两者相辅相成,缺一不可。用户站在界面的面前,开发者站在数据的面前。作为开发者,我们不能只关注界面,而忽略数据关系。
关于组件(界面)
组件 Widget 作为界面的决定因素,对界面来说,主要就是通过定义组件来处理 构建逻辑(Build Logic) 。在很长一段时间,你自己创建的组件只有 StatelessWidget 和 StatefulWidget 这两个族系。它们可以使用已经存在的组件进行组合,成为新的组件。这种组合形式,可以封装一些构建逻辑,以便复用或拆分结构。
StatefulWidget 依赖 State 状态类完成 build 构建任务,并且 State 有对应的生命周期回调,可以处理相关逻辑;也能使用 setState 方法重新触发当前状态类的构建任务,实现界面更新。
对 State 的认知也伴随你很长的路途,如果希望在 Flutter 有长远的发展,以后有时间和能力时,还是建议从框架底层的源码中去思考状态类的作用,才能看清 Flutter 机器的整个运转流程。
关于数据
数据是界面中依赖的信息,有的数据是死的,在程序运行期间永远不会改变,比如标题的文字、或固定的描述信息。图片、图标等;有些数据是活的,会通过函数进行传递、流动、变化,比如白板中的线列表、木鱼中的功德数、网络文章中的文章列表。
如何获取数据、如果保存数据、如何更改数据,是程序开发者最需要关注的事,数据的维护直接关系到程序功能的正确性。这些处理数据的逻辑可以称为 业务逻辑(Business Logic)。
对于 Flutter 开发者,甚至是任何和界面相关软件的开发者,都需要意识到构建逻辑和业务逻辑这两条命脉。如何合理地维护这两类逻辑,也是今后值得不断深入思考的事。
本教程的总结,我只想点出上面的两点,希望大家可以在以后的路途中铭记于心。
2. 关于 Flutter 组件的认知
Flutter 框架中提供的内置组件估计已经接近 400 个了,每个组件都有各自的特点。把它们一一背下来是不现实的,对于初学者来说,应该注重常用的组件,比如本教程四个案例中涉及到了组件,都可以深入了解一下。组件本质上只是配置信息,通过传参控制界面展示效果,当你了解玩常用组件,其余的都可以一通百通。在日常开发中逐渐接触,把组件看成可以帮里完成构建界面的朋友,而不是不得不接触的敌人。
教程中的四个案例中使用的组件,都没有进行非常细致的介绍。因为:
[1] 并不是非常必要。
考虑到对组件一一介绍起来非常繁琐和无聊,不仅会占据很多的篇幅,而且学起来也很枯燥,很容易拘泥于琐碎的组件而无法对 Flutter 有整体的认知。所以我才构思了四个小项目,让大家在实践中了解它们的存在和使用方式,在交互中体验更有趣。
[2] 已经的历史文章积累。
我在掘金中为很多常用的组件写过专文介绍,大家后期对某个组件感兴趣可以各取所需去了解。专栏地址为 Flutter 组件集录 :
[3] 完善的组件介绍开源项目。
关于Flutter的组件介绍我有一个使用 Flutter 框架实现开源项目 FlutterUnit ,其中收录了 350 多个组件的介绍和使用范例,支持范例的代码查看和分享。并且支持全平台,可以在手机和电脑上安装应用程序来体验:
主页面
详情页
桌面端界面:
想了解 Flutter 里有哪些组件,或通过组件名搜索查看使用方式, FlutterUnit 都是一个很好的选择。现在项目的 star 个数已经 6000 多了,对于 Flutter 开源项目来说算是比较高了,希望大家可以多多支持。
3. 对未来发展方向的展望
一个侠客行走江湖,需要精进的方向有两个,其一是 修炼内力,其二是 修炼招式 。对于开发者来说,理解底层运转的机理就是内力;如何开发出应用程序就是招式。使用刚步入江湖时,修炼的方向各有不同,人各有志,也不必强求。
如果你并不急着打造一个软件产品,在起步时打牢基础,修炼内力,是不错的选择。这时,推荐你去研读我的七本小册,我称之为 "Flutter 七剑",助你在未来的道路上披荆斩棘:
小册名称
发布时间
代码仓库
售价(RMB)
《Flutter 绘制指南 - 妙笔生花》
2020年11月11日
idraw
3.28
《Flutter 手势探索 - 执掌天下》
2021年05月13日
itouch
3.5
《Flutter 动画探索 - 流光幻影》
2021年07月09日
ianim
3.5
《Flutter 滑动探索 - 珠联璧合》
2022年02月10日
iscroll
3.5
《Flutter 布局探索 - 薪火相传 》
2022年03月30日
ilayout
3.5
《Flutter 渲染机制 - 聚沙成塔 》
2022年04月27日
irender
3.5
《Flutter 语言基础 - 梦始之地 》
2022年09月14日
idream
3.5
如果你迫于工作压力,或者急需上手开发项目,最好的方式是找一些开源项目来研究,学习招式。这里推荐几个项目,都是在持续维护更新的:
flutter_deer
gsy_github_app_flutter
FlutterUnit (我的)
RegExpo(我的)
另外,如果你学习编程只是业余的兴趣爱好,可以体验一下基于 flame 开发小型游戏,在游戏中学习可谓乐趣无穷。我也写过一个专栏 《Flutter&Flame 游戏专栏》:
其实不管开始修炼的道路是什么,只要想在这江湖中立足,最终内力和招式都要精进。所以不用过于纠结什么先,什么后,需要什么就去修炼什么。到这里,本教程就已经完结了,感谢大家的观看,以后有缘再见 ~