基于GetX的Flutter项目架构设计方案
· 11 min read
本文探讨的是一种基于 Flutter 进行全新 App 项目的开发模式,不涉及老的代码复用等问题。
关于在现有 Android 或 iOS 项目中接入 flutter 框架,这属于混合栈开发的内容,可以参考阿里巴巴的flutter boost的方案,或者企业微信的FlutterThrio方案。
本文假设读者已经基本熟悉 Flutter 的开发,并对主流的 Flutter 状态管理方案(Redux, Bloc, Provider 等)有一定的了解。
GetX 介绍
GetX 是 Flutter 上的一个轻量且强大的解决方案:高性能的状态管理、智能的依赖注入和便捷的路由管理。
GetX 有 3 个基本原则:
- 性能: GetX 专注于性能和最小资源消耗。GetX 打包后的 apk 占用大小和运行时的内存占用与其他状态管理插件不相上下。如果你感兴趣,这里有一个性能测试。
- 效率: GetX 的语法非常简捷,并保持了极高的性能,能极大缩短你的开发时长。
- 结构: GetX 可以将界面、逻辑、依赖和路由完全解耦,用起来更清爽,逻辑更清晰,代码更容易维护。
GetX 并不臃肿,却很轻量。如果你只使用状态管理,只有状态管理模块会被编译,其他没用到的东西都不会被编译到你的代码中。它拥有众多的功能,但这些功能都在独立的容器中,只有在使用后才会启动。
Getx 有一个庞大的生态系统,能够在 Android、iOS、Web、Mac、Linux、Windows 和你的服务器上用同样的代码运行。 通过 Get Server 可以在你的后端完全重用你在前端写的代码。
为什么选择 GetX
每个 App 开发者都听说过 "将界面与业务逻辑分离 "