基于 Netty 实现了一个轻量级的 Java Web 框架,麻雀虽小,五脏俱全。
项目地址 Windward,从此简简单单写 Java 😄
1
8rmEHZ8WhVHVOb0E 325 天前 9
你们 javaer 不是都用 springboot 吗 我一直以为你们不用其它的
|
2
sakuramanstein 325 天前 via Android
牛,支持一波
|
3
lsk569937453 325 天前
@xiaomada 反正我们公司是 jdk 1.8+springboot 2.x+http 。毕竟 web 项目主要就是增删改查。
性能?我优化了项目,性能提升了,老板又不帮我加工资。 websocket 协议? 100 个项目可能会有 1 两个项目会用其他的协议(websocket/grpc)。 |
4
Dragonphy 325 天前 1
@lsk569937453 Spring Data Rest 一把梭
|
5
stinkytofu 325 天前
正需要这个, 我倒不是想开发 web , 正儿八经写后端肯定用 springboot , 我想在 java 程序中实现 http api 实现外部调用, 用 springboot 就太重了。现在用的是 nanohttpd , 太老了, 也不好用。
|
6
wxd21020 325 天前
是否可以讲讲项目架构,开发历程,功能实现等等,来促使更多想学习,想使用的人了解你的项目,学习你的思路,愚建,仅供参考。
|
7
fenglangjuxu 325 天前 1
rps 是怎么做到比 go 的 gin 还高的啊 有机会我试一把
|
8
Goooooos 325 天前
我还喜欢用 vertx
|
9
xiongperry 325 天前
不错呀楼主,有点像除了 java 以外的其他语言框架,楼主是 php,go 等其他语言的开发者吗
看文档没有写查数据库之类的 github 已经给你 star 星星了 |
11
Philippa 325 天前 1
配置还是 xml ,看着都头疼
|
12
hero0earth OP @Philippa 你用 Maven 肯定还是 xml 啊,本身没有预置任何类型的配置文件
|
13
hero0earth OP @xiongperry 哈哈,楼主就是写 Java 的。只是 Web 框架,数据库操作不是一个范畴
|
14
jaylengao 325 天前 1
benchmark 不太准吧,gin 比 vertx 还高
|
15
Ayanokouji 325 天前
@xiaomada 是的,要换 springboot ,java 也一起换了🐶
|
16
hero0earth OP @jaylengao IO 操作不重的情况下,Reactive 应用并不能发挥优势
|
17
KING754 325 天前
https://github.com/KING754/unicorn 我有一个 DEMO 的。一直想细化和深入一下。一直懒,也不知道接下来该做些什么。
|
18
williamshan 325 天前 via Android
牛的,学习学习
|
19
zzl22100048 325 天前
小项目我都用 activej https://activej.io/ 启动是真快
|
20
Dlin 325 天前
不是 servlet 那一套
|
21
Dlin 325 天前
先打个🌟关注一波
|
23
diagnostics 325 天前
Web Backend 的架构来来回回就是那个样子,无非在用户 API 上做了些改变或者线程模式上有一些轻微的变化。
|
24
ayayui 325 天前
推荐下 Ktor
|
25
90xchun 325 天前 via Android
😄,web 框架提供静态资源托管的还真不常见的
小项目我都用 https//github.com/94fzb/simplewebserver ,不基于 netty ,内存使用量更小,更底层,更易控制,比如博客程序这种功能不复杂工程 https://blog.zrlog.com |
26
silentsky 325 天前
spring webflux 也是基于 netty 的 不太相信比 springmvc 还差
|
27
Leviathann 325 天前
@zzl22100048 这玩意好像有很多黑科技
|
28
smartdoc647 325 天前
无注解框架的有一个痛点就是搞接口文档比较难,其实很多开发都不想手写文档,像我们开源的 smart-doc 对 spring 这种注解路由的框架,工程师已经只需要写几行简单的 javadoc 注释了。生成的文档质量也远超手写的。我同时也是一个 golang 开发者,我们发现 go 的框架基本也是声明式路由,搞文档就很头痛
|
29
ychost 325 天前
和 ktor 的风格差不多,不过 Web 端入口写法都大同小异
|
30
Philippa 325 天前 via iPhone
@smartdoc647 可以自动生成 swagger ,不仅能看还能调用
|
31
smartdoc647 325 天前
@Philippa swagger 对群主框架就没啥用的,go 框架也能用 swagger 搞,但是我们发现这东西无脑让写一堆非标注释。理想的情况就是既不去影响用户的代码,又不能要求用户写一堆非标注释增加开发的负担。smart-doc 在国内在 java 领域非常受欢迎也是这个原因。我们的贡献者甚至都有小米、快手这些公司的。
|
32
hongye 325 天前
稍微看了下,变量好像是依赖 context 进行传递的,请问是如何做线程安全的呢
|
33
Philippa 325 天前
@smartdoc647 不用写注释,就是代码直接生成 swagger 。代码变了就会跟着变了
|
34
hero0earth OP @hongye Context 并不存在资源共享
|
35
fenglangjuxu 325 天前
学习了 下 文档太简单了 文档也就能跑个 hello world 。
看到群主依有个 short url ,用了这个框架,但是版本不是最新的,想着换成最新的,然后吧 java17 的语法改下,结果 路由那块不知道咋改 test 里面也找不到例子。 所以如果这样子,用的代价有点大。 |
36
hero0earth OP @fenglangjuxu 那个项目路由注册用了 Java 的语法糖😂,常见问题有个示例的入门项目啊
|
37
fenglangjuxu 325 天前
@hero0earth #36 嗯 看到了那个入门项目 那个基本也就一个 hello world 。其实我觉得 最起码实例应该加上 你这个框架的一个核心特性 就是 function 包括带有入参的那种 function 。
当然 我的要求有点多了,但是我觉得既然把框架发到这里,就是想让大家使用的,提出的问题,没有恶意。更不是对作者水平的怀疑,毕竟能写出这样框架的人,水平肯定是很牛逼的。 |
38
hero0earth OP @fenglangjuxu 那个是 Java 的特性,我不敢乱戴帽子,后续文档我提一嘴
|
39
Braisdom 324 天前
@hero0earth 学习了一下,感觉不错,点赞。
|
40
cnzjl 324 天前
轻量级是不是就意味着要舍弃很多功能,需要用户自己实现
|
41
hero0earth OP @cnzjl 并不完全绝对,要视项目而言,用户更多的是做整合
|