CloudoptNext是一个非常轻量级且现代的、基于Kotlin编写的全栈开发框架,同时支持Java和Kotlin,您可以处理Url的解析,数据的封装,Json的输出等等,从根本上减少开发时间、提升开发体验。
CloudoptNext主要拥有以下特点:
简单极简设计,几乎不要任何配置,不依赖Tomcat、Jetty等Web容器。
异步基于vertx轻松实现高性能的异步服务。
扩展支持vertx体系的各种组件,同时支持通过插件扩展功能,官方也提供了大量好用的插件。
中文全中文文档、中文社区,帮助中文开发者快速上手。
性能测试电脑的CPU是2.2GHz六核IntelCorei7,内存为16GB2400MHzDDR4。
吞吐量参数为用户数10,循环10000次。
框架名称吞吐量CloudoptNext20267.5/secSpringBoot10698.2/secFlask440.8/sec根据性能测试结果:CloudoptNext的性能是Flask的50倍,是SpringBoot的两倍。
示例您可以通过访问CloudoptNext的官网来查看文档,也可以前往Example查看简单的示例。
路由让我们来看看一个简单的基于CloudoptNext的路由:
@API("/")classIndexController:Resource(){@GETfunget(){renderHtml(view="index")}}@API(value="/")publicclassIndexControllerextendsResource{@GETpublicvoidget(){Viewv=newView();v.setView("index");renderHtml(v);}}启动funmain(args:Array<String>){NextServer.run()}publicstaticvoidmain(Stringargs[]){NextServer.run();}WebSocket@WebSocket("/websocket")classWebSocketController:WebSocketResource{overridefunhandler(userWebSocketConnection:ServerWebSocket){println("Connected!")userWebSocketConnection.writeTextMessage("HelloWorld")userWebSocketConnection.frameHandler{frame->println(frame.textData())}}}SockJS@SocketJS("/socket/api/*")classSocketController:SocketJSResource{overridefunhandler(userSocketConnection:SockJSSocket){println(userSocketConnection)userSocketConnection.handler{message->println(message)userSocketConnection.write("Helloworld!")}}}插件funmain(args:Array<String>){NextServer.addPlugin(TestPlugin())NextServer.addPlugin(EventPlugin())NextServer.run()}寻求帮助在使用CloudoptNext的过程中遇到了问题?您可以通过下面途径寻求帮助:
请仔细检查参考文档,查看具体的代码案例或者是常见问题。如果您在升级版本以后遇到问题,可以查看Wiki中的升级说明。请发送邮件到support@cloudopt.net请在GitHub发送Issue提交您的问题,我们将尽快为您解答。如果您在中国,还可以加入交流QQ群:557692142。报告问题CloudoptNext使用GitHub的问题跟踪系统,以记录bug和特性请求。如果您想提出一个问题,可以参考下面的建议:
请您先尝试搜索一下是否有相关的问题。请尽可能的提供详细的错误信息或者报告,包括正在使用的CloudoptNext的版本、Java版本或者Kotlin版本等等。许可协议CloudoptNext是一个开源项目,遵循Apache2.0许可协议。
寻找赞助商如果您或者您所在的公司希望赞助CloudoptNext的开发,可以发送邮件到support@cloudopt.net。
评论