[TS-002] 带你看文档之 Bloc
这篇文章通过带着阅读一遍 bloc 的文档,并补充了 bloc 文档中涉及的知识点,尝试让新手可以快速入门 bloc 的学习。
这篇文章通过带着阅读一遍 bloc 的文档,并补充了 bloc 文档中涉及的知识点,尝试让新手可以快速入门 bloc 的学习。
大家好,这里是优雅实践实验室,这一节将介绍如何搭建 Flutter 开发环境。 Flutter 开发环境是由什么组成的 eplab 只提供思路,不会手把手教学。 所以从思路出发。当提及配置 Flutter 开发环境的时候,我们到底在配置什么? 由 Flutter 的设计可知,Flutter 是编译后嵌入到目标平台的。 所以我们需要同时具备 Flutter 开发环境和目标平台的开发环境。 * Flutter 开发环境 * Flutter SDK * dart SDK * pub 命令 * IDE + Flutter 插件 * git 等环境杂项 * 目标平台的开发环境(按须配置) * 目标平台 SDK * 目标平台的模拟器(可选) Flutter 开发环境 需要配置基础的 Flutter SDK、IDE 及其插件、和一些杂项开发环境。
这个视频核心目的是扫盲,解答一些常见的 Flutter 相关的问题。 Flutter 跨平台开发支持哪些平台? 一般情况下说的是:生成产物可以运行在哪些平台,官方支持的是六大平台:Android、iOS、MacOS、Linux、Windows、Web。 开发平台支持使用四大平台:MacOS、Linux、Windows、ChromeOS。 容易被忽略的是 Flutter 是一个优秀的开源项目,良好的分层架构和可移植的 Dart 语言,让它本身就支持编译到任意一个嵌入式设备中,比如和丰田合作的车载系统、腾讯曾出过一个打印机系统、开源鸿蒙系统。 Flutter 是否支持鸿蒙开发? 正如上所示,Flutter 天生支持任何嵌入式设备开发,鸿蒙本质也是嵌入式设备。所以就技术本身而言,Flutter 是支持鸿蒙的。 就细而论,开源鸿蒙、鸿蒙Next、用户手上的鸿蒙,是否都可以用 Flutter 开发呢?还是那句话,技术本身是支持的,无论鸿蒙怎么变化。 Flutter
这是优雅实践实验室产出视频之前的需要提前准备好的逐字稿脚本(Transcript),将会记录所有收集到的文档资料、代码片段、旁白台词和最终产出的视频。 💡注意:视频内容可能会过期,但是逐字稿会更新,在必要的时候重置当期对应的教学视频。 色彩搭配 主色 #042B59 #0553B1 #027DFD 辅色 #F25D50 #FFF275 #6200EE #1CDAC5 搭配方法 使用 Material Design 的配色,将主色和辅色两两搭配,得到一套主题,并遵循配色规范使用主题色卡。
在使用 flutter_screenutil 时要谨慎,了解其局限性,并根据具体需求选择合适的适配方案。
本系列将给出一套完整、规范、无副作用的教程,旨在新手入门 Flutter 开发时更加轻松并减少出错,提高基础的编码门槛。 目标群体: 1. 被迫入门 Flutter,需要快速学习和实践; 2. 想学习 Flutter 的国内开发者,由于没有工具,导致无法从官方文档直接入手; 3. 想学习某一门技术,希望学习的不是鱼,而是渔,同样也可以从这个系列中快速举一反三。 为了达成目的,本教程将做到: 1. 对基础扫盲,构建基础的知识树,并在提问的时候可以合理的组织语言; 2. 提供某些疑点难点的解析,或者是来自外部的教程; 3. 给出泛用的学习方法,并确保在学习任何新技术的时候也适用; 本教程免责声明: 1. 基础的手机、电脑操作,不是本系列需要扫盲的,但会介绍 USB 调试开发; 2. 上网工具,不作为本系列的重点,但会介绍只使用镜像去开发的方法; 3. 基础的语法教程,不作为本系列的重点,
从一个小问题:Flutter中如何比较对象的相等,逐渐讨论到不同状态管理框架中,如何判断状态的相等性,以及应该怎么去做可以适配不同的状态管理框架。
本文介绍了关于抽离小组件的最佳实践,并提及了在官方视频中没有提到的一些注意事项和特殊情况。
这里重新补习一下别人几乎不会提起的常用的状态管理 api,并举了一个简单的登录案例来练习只使用原语编程带来的清晰感。
问题提出 在 EP-006 中我们提到了状态管理三个原语,其中加载状态可能会有特殊的需求。例如我们的 UI 设计师和产品一致的认为:我们需要弹出一个加载框,这样可以显式的表示加载状态,并中断用户操作实现伪防抖。或许有他们的道理,即使不够优雅。 但是无论如何加载这个动作总得有个地方去写,写在控制器里?还是说直接封装进网络服务里?请求之前弹出,请求之后关闭?显然这都不够优雅,而且易错,我们需要考虑以下情况: 1. 你的网络请求可能正常执行了,但需要记得关闭加载框(主观的心智负担); 2. 你的网络请求可能会变成错误,你需要在错误的时候关闭加载框; 3. 你可能有多个网络请求,在哪里关闭加载呢? 4. 不只是网络请求,本地的耗时操作也需要加载,完成的时候记得关闭加载框。 你可能会说这有什么,挨个写好就行了。但是错综复杂的业务逻辑,迟早会埋藏 bug,但是解决它仅仅只是个习惯问题,不需要添加太多代码。 优雅实践 弹窗处理需要 context,自然的我们需要在 UI 层去弹窗(TODO: EP-009
This is 优雅实践实验室, a brand new site by lilua that's just getting started. Things will be up and running here shortly, but you can subscribe in the meantime if you'd like to stay up to date and receive emails when new content is published! 这里是优雅实践实验室,专注于提供优雅的软件开发设计技巧,