espresso框架特点_“作为Java Web工具,Espresso位于框架和服务器之间,就像Servlet API一样”

Espresso是一个不同于传统框架的协议,位于Web框架和服务器之间,提供简单、可扩展的解决方案。它借鉴了Clojure-Ring和Rust Iron的思想,使Web开发更易入门。Espresso的微型生态系统包括Jettino(Jetty适配器)、Latte(URL路由器)和Sugar(参数提取器),旨在增强其功能和灵活性。
摘要由CSDN通过智能技术生成

espresso框架特点

JAXenter: 首先,您能告诉我们更多有关Espresso的信息吗? 是什么使该工具与众不同?

孙宁:与某些新的Java Web工具(例如SparkJava或Javalin)不同, Espresso根本不是框架或Web服务器。 就像Servlet API一样,它位于框架和服务器之间。 在Espresso之上,您可以设计自己的Web框架。 在后端,您可以使任何Java Web服务器适应Espresso,而不会影响上层应用程序。

  • 它是一种轻量级的协议,具有设计上的功能性思维,支持合成。 它借鉴了Clojure-Ring和Rust Iron的一些想法。 简单且可扩展。
  • 作为Web开发人员,它比Servlet API更容易入门。 核心协议只是一个接受请求并返回响应的函数。 请求和响应对象几乎都是POJO。 借助Java 8功能,hello world应用程序只是一行lambda。
  • 创建与Espresso兼容的Web服务器更加容易,您所要做的就是向核心功能提供请求数据并使用响应数据。 如果将其与Servlet API进行比较,则无需实现web.xml,过滤器,路由器和各种上下文。

JAXenter:Espresso带有一个微型生态系统,其中包括三个微型库。 您能否举一些例子说明这些库如何工作以及它们如何支持Espresso?

孙宁:为了演示Espresso的用法和可扩展性,我创建了一些关键的微型库。

  • Jettino是Espresso适配器的参考实现,用于在成熟的Jetty Web服务器上运行Espresso应用程序。
  • Latte,一种符合Espresso设计的URL路由器。 使用Latte,每个配置的URL路径将由指定的Espresso处理程序处理。 毕竟,拿铁本身会生成一个Espresso应用程序。
  • Sugar,一个参数提取器,用于将查询字符串,表单主体和JSON主体解析为请求。 作为中间件,您可以通过将自己的Espresso应用程序包装到其构造函数中来获得Sugar的功能。 根据设计,糖本身也具有浓缩功能。

JAXenter: 您在博客文章中提到Java Web生态系统仍处于欠发达状态。 您为什么认为是这种情况?

孙宁:直到今天,Java Web生态系统的核心仍然是Servlet API。 它的时代已经相当先进了。 像SparkJava,Javalin或Play这样的现代工具并没有为开发人员定义协议或接口。 因此,存在锁定框架的风险。 Servlet定义了Web框架(结构,spring)和服务器(tomcat,jetty)之间的通用独立协议。 感谢Servlet,您可以在tomcat,jetty或undertow等上运行您的spring应用程序。

还请参见:

但是,Servlet API很复杂。 它使用XML或注释进行配置。 它的核心是“筛选器”,“会话”。 它经常模糊协议角色和框架角色之间的界限。 例如,Spring MVC仅将Servlet API用作协议DispatcherServlet。

JAXenter: 您最近还注意到Java的快速发展。 说到这,我想请教您对新的Java版本节奏的意见。 您是否相信这种变化会对Java生态系统中的创新Swift产生积极影响?

孙宁:我100%愿意使用新的发布机制。 我觉得这给Java语言和平台带来了新生。 诸如jlink,zgc之类的功能确实很有前途,并将为Java带来更多场景。 通过新的发布时间表,我们可以更早地获得该功能并经常获得反馈。 这就是在2010年代开发开源软件的方式。 我期待看到整个社区,工具,Maven和Gradle赶上最新功能。

JAXenter:最后,我们对Espresso及其迷你生态系统有什么期望? 您是否制定了一些计划,有人可以为您的项目做些什么?

孙宁:我希望这项公告只是Espresso的一个开始,作为一个社区项目和一个生态系统。 已经有一个开发人员与我联系并希望加入该开发中。 我的日常工作非常忙,所以我欢迎更多的开发人员加入该项目,并共同致力于该项目的发展。

在Espresso Github问题跟踪器中为库和适配器创建了一些问题。 更重要的是,我希望我们可以就如何运行项目和发展生态系统进行讨论。 因此,如果您喜欢Espresso的想法,请加入我们的邮件列表

谢谢!

翻译自: https://jaxenter.com/interview-sun-espresso-modern-web-java-152624.html

espresso框架特点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值