Skip to content

Latest commit

 

History

History
129 lines (77 loc) · 3.66 KB

File metadata and controls

129 lines (77 loc) · 3.66 KB

flutter_ducafecat_news_getx

新闻客户端 Getx 版本 - 项目模板

你以为看到了结果,其实一切只是刚刚开始!

前言

我的这个代码主要不是为了完成业务,大家也看到了并没有很多业务。

这个项目是一个模板,有的同学可能要问,模板干啥的么~

如何提高代码质量+效率?

1. 规范

用习惯的方式去开发所有的项目,如:编码规范、目录规则、模型定义、布局方案。。。

Effective Dart: Style

Flutter_Go 代码开发规范.md

2. 模板

共性通用、常见的东西抽取出来,如:路由、全局数据、认证、鉴权、离线登录、接口管理、数据模型、程序升级、数据验证、三级缓存、错误收集、行为分析。。。

3. 代码库

这就是业务功能了,你可以都集中在一个单体的项目中(推荐),而不是很多包,不好管理。

常见业务有:欢迎界面、注册、登录、三方登录、聊天、视频、拍照、SKU、购物车、分销、地图、消息推送、评论、瀑布流、分类订阅、属性表格、轮播。。。

配套 vscode 插件

参考

目录结构

还是延续我第一版的目录结构,虽然 getx-cli 的目录也很简洁,但是我这个也没大问题。

common 通用组件

名称 说明
apis http 接口定义
entities 数据模型、实例
langs 多语言
middlewares 中间件
routes 路由
services getx 全局
utils 工具
values
widgets 公共组件

pages 业务界面

One-way data flow

界面代码拆分也是继承了 redux 的设计思想,视图、动作、状态,进行拆分。

名称 说明
bindings.dart 数据绑定
controller.dart 控制器
index.dart 入口
state.dart 状态
view.dart 视图
widgets 组件

状态管理

路由设计

全局数据

数据模型

http 拉取数据

用户登录注销&401

动态权限

APP 升级

sentry 错误收集

iconfont 矢量图标

test 单元测试

埋点

数据缓存

样式全局配置

国际化

GRAPHQL

数据加密安全

编译发布

CICD

to be continued ...