框架概述
更快的传输,更轻量化开发
最开始是一个对于并发要求和性能很高的分布式项目要求做一个基于quic协议的网络层,在调研发现市面上很多框架要么不支持quic协议,要么就是对于quic协议的文档很少,于是就自己做出来了一个可复用的quic协议的demo
后面再做其他golang开发的时候发现,golang的web框架或多或少在开发自由度和易用程度上有一定的取舍,所以选择自己从头开始,基于之前的demo仿照Java的SpringBoot/javaEE进行自研开发
适用场景:
使用http3的web服务/web应用服务开发/图床等弱微服务文件服务的开发,需要一个高的性能和高效web开发场景
框架研发目标
期望保障服务稳定性的同时,也要特别注重研发效率。所以设计之初,就指定本框架开发目标如下:
- 高可用
为了对开发者/用户提供更好的使用体验
- 轻量化构建
专注于web对外提供http服务,加快应用启动时间
- 接口精简
便于开发者在开发之初快速掌握本框架,可以更快进行生产开发
- 高度封装
对于开发者而言,不用关心底层实现逻辑,不用手动在http请求头/请求体/路径手动去获取数据,只需要简单配置即可实现参数自动注入
- 高适用性
对于项目结构没有特定要求,可适用于所有类型的项目架构
Q&A
Q: 框架未来的发展方向是?
A: 目前因为大部分只有我一个人来进行开发,所以进度会很慢(毕设+准备找工作),大部分空闲时间都花在框架开发方向了,下一步的想法是
- 完成TODO内容
- 拓展到http启动
- 封装插件入口,以便后续rpc功能可以以插件函数的方式接入
- 优化框架对外提供函数调用的接口
- 应用打包时也进行静态资源打包(类似于SpringBoot的static目录)
- 封装httpRequest的redirect 和forward(请求的重定向和转发)
Q: 如何加入此框架开发/提交bug反馈:
A: 大家可以提pr或者在github上提个issue,目前只有我一个人在做框架的维护和开发,有点吃力,可能目前框架还是有一点小bug/error,提出来后我会尽快进行修改,大家也可以对框架改进提出建议