试试一个轻量级的 Web 框架 —— Cloudopt Next

2020-08-03 19:34:32 +08:00
 cloudopt

  

Cloudopt Next 是一个非常轻量级且现代的、基于 Kotlin 编写的全栈开发框架,同时支持 Java 和 Kotlin,您可以处理 Url 的解析,数据的封装,Json 的输出等等,从根本上减少开发时间、提升开发体验。

Cloudopt Next 主要拥有以下特点:

简单 极简设计,几乎不要任何配置,不依赖 Tomcat 、Jetty 等 Web 容器。

异步 基于 vertx 轻松实现高性能的异步服务。

扩展 支持 vertx 体系的各种组件,同时支持通过插件扩展功能,官方也提供了大量好用的插件。

中文 全中文文档、中文社区,帮助中文开发者快速上手。

GitHub:

开源中国:

性能

测试电脑的 CPU 是 2.2 GHz 六核 Intel Core i7,内存为 16 GB 2400 MHz DDR4 。

吞吐量参数为用户数 10,循环 10000 次。

| 框架名称 | 吞吐量 | | --- | :---: | | Cloudopt Next | 20267.5/sec | | Spring Boot | 10698.2/sec | | Flask | 440.8/sec |

根据性能测试结果:Cloudopt Next 的性能是 Flask 的 50 倍,是 Spring Boot 的两倍。

示例

您可以通过访问Cloudopt Next 的官网来查看文档,也可以前往Example查看简单的示例。

路由

让我们来看看一个简单的基于 Cloudopt Next 的路由:

@API("/")
class IndexController : Resource() {
    @GET
    fun get(){
        renderHtml(view = "index")
    }
}
@API(value = "/")
public class IndexController extends Resource {

    @GET
    public void get(){
        View v = new View();
        v.setView("index");
        renderHtml(v);
    }
}

启动

fun main(args: Array<String>) {
    NextServer.run()
}
public static void main(String args[]) { 
    NextServer.run();
}

WebSocket

@WebSocket("/websocket")
class WebSocketController : WebSocketResource {
    override fun handler(userWebSocketConnection: ServerWebSocket) {
        println("Connected!")
        userWebSocketConnection.writeTextMessage("Hello World")
        userWebSocketConnection.frameHandler { frame ->
            println(frame.textData())
        }
    }
}

SockJS

@SocketJS("/socket/api/*")
class SocketController : SocketJSResource {
    override fun handler(userSocketConnection: SockJSSocket) {
        println(userSocketConnection)
        userSocketConnection.handler {message->
            println(message)
            userSocketConnection.write("Hello world!")
        }
    }
}

插件

fun main(args: Array<String>) {
    NextServer.addPlugin(TestPlugin())
    NextServer.addPlugin(EventPlugin())
    NextServer.run()
}

寻求帮助

在使用 Cloudopt Next 的过程中遇到了问题?您可以通过下面途径寻求帮助:

2767 次点击
所在节点    分享创造
6 条回复
Austin2035
2020-08-03 20:35:46 +08:00
**Cloudopt Next 的性能是 Flask 的 50 倍,是 Spring Boot 的两倍。**
原来 Spring boot 那么菜
cloudopt
2020-08-03 21:00:52 +08:00
@lookcos Spring Boot 比较大,性能没那么好。具体你也可以看下各大性能测试榜单的数据,vertx 一直都是在前几的。
d5
2020-08-04 16:44:46 +08:00
cloudopt adblocker 用户支持一个
cloudopt
2020-08-04 16:59:49 +08:00
@d5 感谢支持~ cloudopt adblocker 也是开源的~
zzlettle
2020-08-04 18:58:46 +08:00
和 go 比性能怎么样
cloudopt
2020-08-04 19:38:19 +08:00
@zzlettle 根据 《 Web Framework Benchmarks 》是 gin 的三倍多,goframe 的四倍多。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/695328

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX