分享
alova产品白皮书及3.0更新一览
输入“/”快速插入
alova产品白皮书及3.0更新一览
飞书用户1596
飞书用户5033
3月29日创建
目录
1.
定位
2.
网络请求痛点
3.
如何解决
4.
alova@3.0更新规划
5.
alova vscode插件演示
定位(别再花时间在请求这件小事上了,交给alova)
alova 定位于下一代请求工具,它将在请求方面帮你省去大部分的工作,你只需要指定使用哪个API,以什么策略执行请求就可以了。
网络请求痛点
多人协作的企业级项目中,Client-Server交互的成本较大。
画板
1.
前后端协作成本高
:
◦
依赖后端通知
:api的更新需要后端主动通知
◦
API文档依赖
:前端需查阅API文档获取信息。
◦
API代码编写
:前端根据API文档手动编写接口代码。
◦
缺少响应数据类型
:API的响应数据默认没有类型提示,增加了数据使用的成本。
◦
bug率上升
:API变更可能导致项目bug率上升。
2.
数据交互逻辑复杂
:前端请求往往不那么简单,需要根据不同场景考虑应该什么时候发出请求、什么时候不能发出请求、如何处理响应数据等才能满足项目的表现、性能的提高,这将导致开发人员时间成本和代码维护成本的增加。
解决方案
画板
1.
IDE插件(vscode/webStorm)
:解决前后端协作问题(插件演示请查看文末):
a.
自动生成请求代码和响应数据类型
b.
将api文档嵌入代码中,你可以直接在代码中查询和插入API接口
c.
定时更新api信息并主动通知前端开发
d.
接口更新记录,防止变更导致bug
2.
请求策略
:选择对应的请求策略,一行代码实现复杂的数据交互逻辑。
alova@3.0更新规划
更新说明
为了让alova更进一步优化,现开展3.0的更新特性征集,欢迎各位通过评论的方式,从使用场景、设计问题等任何角度提出宝贵的意见。
alova在2.17.0+中新增了对服务端场景的支持,但2.x的设计对服务端场景是不友好的,同时也对更多的JS环境支持也不够友好,故进行破坏性升级,进一步实现“
Run in any JS environment
”的目标。重构内容分为如下几点:
1.
重新设计结构,使用更简便,维护更顺畅
2.
针对服务端场景(nodejs、deno、bun)进行重新设计,例如:
a.
大数据量缓存
b.
异步操作缓存的支持
c.
跨进程协作支持
d.
新增Server Hooks
3.
使用更简单
4.
去掉更多设置参数
接下来,我们来看下具体的升级内容。
💥表示破坏性特性,🛠️表示向后兼容更新。
重新设计结构
💥✅fetch适配器的导出路径改为alova/fetch