Skip to content

Repository files navigation

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 ...

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages