教学笔记
- Flutter 讲两遍的原因?
- 第一遍是第一节课用 TodoApp 带同学们快速体验 Flutter 的声明式特点,有了这样的体验经历,同学们对接下来需要学习的内容也会有更深的理解。此外,自学能力强的同学在这之后就可以开始查看文档和视频教程开始深入 Flutter 了。
- 在应用开发这一个领域,做 demo 比理解原理要更重要一些。如果你能够完整做出一个自己的案例,基本上你就算会使用这个框架了。第一节课不讲理论,直接从实战入手,也是强调了应用开发的实战意义。
- 为什么要讲设计?
- 我曾经参加过两届移动应用创新赛,对于创新来说,发现需求、根据需求去做数据设计、界面和交互设计是更重要的事情。在实际的企业应用开发中,程序员所做的事情往往只是将设计给出的设计稿转为运行在目标平台的代码,但这种程序员很容易被取代,更重要的应该同是具备设计和开发的能力,对应用的全局有一定的把握,能够提出自己的见解。
- 在理工科学院,我个人感觉同学们普遍偏向于证明:证明一个定理正确、证明一个算法可行,这些东西都是相对确定的。在应用开发中,设计是因人而异的,基本上你需要和用户紧密结合,客户的思考方式可能和你的是不一样的,你需要去权衡哪一种设计更好。
- 此外,我个人感觉同学们普遍偏向于动手:看到一道算法题先开始敲代码、看到数学题直接列公式,往往忽略了思考的这个环节。在应用开发中,设计是先于开发的,如果设计一团糟,别提能够组织起一个工程,创造一个易用的产品了。一般设计讨论也是团队协作的必经之路,只是讲框架和代码不够组成一门完整的移动应用开发课程。
- Dart 为什么让大家自学?
- 语言都是相同的,尤其是在 Dart 与 C++ 基本上无区别的情况下。如果大家有 JS 基础,其实函数式编程和异步的处理也都有基础。基本上看一遍 Dart 官方的入门教程就足够了,甚至说不看教程直接学习 Flutter 问题也不大。
- 讲动画时,为什么先讲 Explicit Animation?
- Flutter 官方的教程先说的是 Implicit Animation,对于新手来说,使用 Implicit Animation 能够非常快速的构建出一个很不错的动画。但是对于课程来说,背后的原理更重要一些,所以最开始引出 AnimationController 是更好的更清晰的方式。如果先讲 Implicit Animation 五分钟说完,之后 Explicit Animation 讲个三十分钟同学们肯定也都不耐烦了。