高度主观的Flutter开发路线图
基础
-
语言
- Dart
- 面向对象编程(OOP)
- 函数式编程
-
代码风格
- Dart
- 面向对象编程(OOP)
- 函数式编程
-
开发环境
- Android Studio 或 Visual Studio Code
- Flutter CLI
- DartPad
- Git
- Zappl
-
图例
- 必须拥有
- 很好拥有
- 可选
Flutter
-
基础组件
- Material 组件
- Material 设计
- Cupertino 设计
- 移动HIG(人机界面指南)
-
核心设计模式
- 命令模式
- 工厂模式
- 建造者模式
- 状态模式
- 装饰者模式
- 组合模式
-
核心设计原则
- KISS(保持简单)
- DRY(不要重复自己)
- SOLID
-
网络
- RESTful API
- TCP/IP 套接字
- JSON
- GraphQL
-
简单持久化
- 序列化器
- 本地存储
- 密钥链
- 密钥库
-
数据库
- Isar
- SQLite
- Firebase
- iCloud
-
深入学习
- 架构模式
注释
-
语言
- 遵循代码风格很重要,但如果你是完全新手,这可能会增加挫败感,所以可以先跳过,以后再补上。
- “Effective Dart”手册是一个不错的选择。从一开始就使用像
flutter_lint
这样的严格linter。 - 当涉及到面向对象编程和函数式编程时,最好从基础开始。不要担心复杂的模式或概念,如单子,先专注于学习基础知识,逐步提高技能。
-
开发环境
- 无论你使用Android Studio还是VSCode,花点时间学习快捷键和IDE插件。投入几个小时会在未来节省你的时间和精力。值得拥有Flutter CLI,因为一些任务从命令行完成更快。
- 同样重要的是尽早养成使用版本控制系统的习惯。Git是目前最受欢迎的选项。虽然使用命令行可能看起来很酷,但我推荐使用像Fork、Sourcetree或IDE集成的用户友好的Git客户端。
-
基础组件
- 观看“Week on Flutter”来探索材料设计概念,熟悉Flutter提供的基本组件。
- “Package of the Week”节目将向你介绍Flutter可用的一些最受欢迎的第三方组件和包。
-
核心设计原则
- KISS和DRY应该是你在软件开发期间的实际重点,但在SOLID原则对你有帮助时,建立在坚实的基础之上也是必不可少的。
- 《Clean Code》一书是Uncle Bob的宝贵资源,将帮助你在所有这些领域。
- 我建议使用Provider或get_it进行依赖注入。如果你感到冒险并想尝试代码生成,injectable包是一个极好的选择。
-
网络
- 了解网络如何工作以及前端和后端通信背后的魔法是很重要的。在生产中使用代码生成。
- Retrofit、dio和json_serializable是你的好朋友。
- 你对GraphQL感兴趣吗?去试试ferry。
-
简单持久化
- 存储数据几乎是每个应用程序的常见需求,但并非每个应用程序都需要复杂的解决方案。在许多情况下,当它足够时,最好保持简单和安全。共享首选项插件或其替代品可以是为此目的考虑的好选项。
-
数据库
- 当你需要扩展数据存储时,可能是时候考虑更成熟的解决方案甚至基于云的选项了。
-
测试
- 当涉及到快速编写应用程序时,关键是第一次就正确测试它们。从TDD方法开始,然后过渡到BDD。Kent Beck的书《Test-Driven Development by Example》是开始学习TDD的好资源。此外,“Clean Code”系列涵盖了这个话题的深度。
- 现在是时候了解async/await如何真正工作以及为什么无状态是有益的。像freezed这样的一些包可以帮助改进模型管理,而functional或dart可以帮助使你的代码更优雅。为了更深入的理解,我建议参加Closure或F#的基础知识课程。
-
性能分析
- 了解如何找到内存泄漏和发现性能问题。从Filip Hricek在Flutter Europe或YouTube上的演讲开始。
- 想象一下,如果你发现有人偷了你的应用程序并将其放在不同的名字下,你会有什么感觉。MASSYS会让你思考这个和许多其他场景。
- OWASP MASSYS是保护你的应用程序免受威胁的最简单方法。
-
安全性
- 避免从你的本地开发文件夹构建生产构建。相反,考虑使用Codemagic、Travis、GitHub Actions、Circle CI或将你的开发机器注册为GitLab CI的节点。构建软件开发生命周期覆盖范围并收集代码覆盖率和其他指标将帮助你维护代码质量。
- 查看Danger、SonarQube,最重要的是代码审查。一个新鲜的视角是无价的。
-
商店
- 你有责任就什么是可能的和什么是不可能的向用户提供建议,特别是在法律合规方面。这包括隐私法如GDPR和CCPA,以及遵守应用商店政策和指南。
-
接近完成
- 持续集成
- CI服务器
- Fastlane
- 测试构建分发
- 代码指标
- 分析
- 用户行为分析
- 崩溃日志
- Firebase分析、Firebase Crashlytics和Datadog只是许多提供免费分析功能的众多服务中的几个。
- 持续集成
-
结束
- 应用商店指南
- Google Play指南
- App Store Connect
- Google Dev Console
- 应用商店指南