Jooby框架简化Java Web开发流程
【51CTO.com快译】说起Web开发工作,Ruby拥有Sinatra框架而Node.js拥有Express.js。如今,Java也拥有了自己的微Web框架——Jooby。
作为Edgar Espina开发出的成果,Jooby提供模块化无状态应用程序开发机制,且能够使用包括Netty、Jetty以及Undertow在内的多种NIO(即非阻塞IO)服务器。
根据Espina的说法,Jooby的核心取向在于“简化”。“尽管Java是一种简单而易于学习的编程语言,但利用Java构建Web应用程序则是一项艰巨的挑战,”他通过一封邮件指出。“Java社区已经做出大量工作,旨在简化Web应用程序的开发流程……然而相较于Ruby或者Node,利用Java开发Web应用程序仍然比较困难。Jooby的出现正是为了弥合这一空白,并通过提供客观、简单且易于学习的微Web框架简化Java环境下的Web开发任务。”
Jooby的核心在于模块,这些模块的构建目的在于从外部库中提取功能。“这些模块非常精简且能够通过多种方式对外部库进行引导与配置,但它们并不会带来新的抽象层或者通过定制化API实现库内功能的访问。相反,它们可以直接依原样对各类库组件进行提取,”Espina表示。“这也是Jooby与其它Java Web框架之间的***差别所在。”
Jooby提供多种默认选项以解决应用程序开发工作中的各类典型问题,例如数据库访问、验证、会话、模板引擎以及电子邮件等等。这使其拥有极为出色的易用性,Espina指出,“但与此同时,它也拥有相当优秀的灵活性与模块化程度,经验丰富的用户能够将不同模块进行混合与匹配,从而满足自身实际需要甚至编写自己的整合方案。”
Jooby当中的无状态应用程序开发机制使其能够在不造成任何重大影响的前提下实现规模扩展,特别是在开发人员配合头/JWT(即JSON Web Token)验证机制构建REST API的情况下。当然,在某些用例当中,开发人员可能需要保存用户信息。“对于这类用例,大家可以使用HTTP会话,”Espina解释称。
Jooby提供一套内存内HTTP会话,但开发人员也可以选择其它不同后端,例如Redis、HazelCast以及MongoDB。该HTTP会话的设计倾向为尽可能精简,同时要求开发人员认真考量是否要加以使用,因为其只允许匹配原语与字符串这两类数据。
这套框架拥有两套编程模式。其一为脚本编程模式,在这里开发人员能够将应用程序定义并编写为单一文件。而对于大型且复杂度较高的应用程序,Jooby支持MVC。“在这里,大家可以将自己的应用程序拆分为多个层,并创建一个或者多个控制器类,”Espina告诉我们。
Jooby面世至今已经有大约18个月了,而其1.0.0正式版本预计将在今年年初发布。面向Java 8以及更高版本,Jooby还能够与Nashorn项目协作,这意味着我们可以将Jooby扩展至JavaScript开发领域。“这是一套Java框架,因此其始终运行在JVM之上; 但从开发人员的角度来看,它也可以作为一套JavaScript框架发挥作用,”Espina指出,他还计划在未来逐步加入对其它JVM语言的支持能力。
原文标题:Jooby framework simplifies Java Web development
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】
相关文章
- mybatis SQL类
- JVM - 垃圾回收篇笔记
- Java基础类源码分析:Object
- idea里maven执行时控制台乱码
- 在Java SE平台上使用Headless模式
- Java的LINQ:Linq4j简明介绍
- .NET MVC Razor也可以这样玩!
- 我也谈谈.NET程序员工资低
- 想追赶.Net的脚步?Java面前障碍重重
- 十五个只有程序员会乐的事情
- Java并发编程:Volatile不能保证数据同步
- 从设计不足的JDBC,说到数据库链接池
- 编程没有银弹:探讨Java8新增特性的优缺点
- Java日志缓存机制的实现
- C++开发者都应该使用的10个C++11特性
- 如何构建安全的“记住我”的特性
- JavaOne大会推出众多升级旨在提升企业应用开发生产力
- Duke’s Choice Awards奖项首次在中国Java社区中选出
- 最受欢迎的8位Java大师
- JavaZone2013年度大片《Java末日》预告片