【.com快译】说到Web开发工作,Ruby有Sinatra框架,Node.js有Express.js。今天,Java也有了自己的微型Web框架——Jooby。EdgarEspina开发的成果,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与其他JavaWeb框架最大的区别。”Jooby提供了多种默认选项来解决应用程序开发中的各种典型问题Espina指出,这使得它非常容易使用,“但同时,它也非常灵活和模块化,允许有经验的用户混合和匹配不同的模块以满足他们的需求。“甚至需要编写自己的集成。”Jooby中的无状态应用程序开发机制使得在没有任何重大影响的情况下进行扩展成为可能,尤其是当开发人员配合header/JWT(即JSONWebToken)验证机制构建RESTAPI的情况时。当然,在某些用例中,开发者可能需要保存用户信息。“对于这些类型的用例,您可以使用HTTP会话,”Espina解释说。Jooby提供了一组内存中的HTTP会话,但开发人员也可以选择其他不同的后端,例如Redis、HazelCast和MongoDB。HTTP会话被设计得尽可能精简,并且要求开发人员仔细考虑使用它,因为它只允许匹配原语和字符串。这个框架有两套编程模型。一种是脚本编程模型,开发人员可以在其中将应用程序定义和编写为单个文件。对于大型复杂的应用程序,Jooby支持MVC。“在这里,您可以将您的应用程序分成几层并创建一个或多个控制器类,”Espina告诉我们。Jooby已经面世约18个月,其正式版本1.0.0预计将于今年年初发布。对于Java8及以上版本,Jooby也可以与Nashorn项目一起工作,这意味着我们可以将Jooby扩展到JavaScript开发。“它是一个Java框架,所以它始终运行在JVM上;但从开发人员的角度来看,它也可以充当JavaScript框架,”Espina说,他计划在未来逐步增加对其他Javascript框架的支持。JVM语言的支持能力。原标题:Jooby框架简化JavaWeb开发
