以下引用自官方網站:

Ratpack 是一組用於構建可伸縮 HTTP 應用程序的 Java 庫。 它是一個簡潔而強大的基礎庫,而不是一個包羅萬象的框架。

Ratpack 是一組 Java 庫,可以促進快速、高效、可演化和經過良好測試的 HTTP 應用程序。 它建立在高性能和高效的 Netty 事件驅動的網路引擎上。

Ratpack 純粹是一個運行時。沒有可安裝的軟體包,也沒有耦合的構建工具(例如 Rails、Play、Grails)。 要構建 Ratpack 應用程序,您可以使用任何 JVM 構建工具。Ratpack 項目通過插件為 Gradle 提供特定支持,但任何其他工具也都可以使用。

Ratpack 提供一系列組件庫,以 JAR 的形式發布。ratpack-core 庫是唯一必須要求的。 其他如 ratpack-groovy、ratpack-guice、ratpack-jackson、ratpack-test 等都是可選的。

Ratpack 的目標是:

  • 快速,可擴展,高效
  • 允許應用程序在不妥協的情況下進化複雜性
  • 利用非阻塞編程的好處,並降低成本
  • 在集成其他工具和庫時要靈活且不受任何影響
  • 允許應用程序輕鬆、徹底地進行測試

Ratpack 的目標不是:

  • 成為一個完全集成的「全棧」解決方案
  • 在一個框架中提供您可能需要的所有功能
  • 為「業務邏輯」提供架構或框架

Ratpack 是強類型的。除了在 Java(一種強類型語言)中實現之外,它的 API 也擁抱並支持類型。 例如,註冊表的概念在 Ratpack 中廣泛使用。可以將註冊表視為使用類型作為鍵的映射。

對於在 Groovy 中實現其應用程序的 Ratpack 用戶來說,這可能是最感興趣的。 Ratpack 的 Groovy 適配器使用最新的 Groovy 特性來完全支持靜態類型,同時保持慣用的、簡潔的 Groovy API。

Ratpack 的核心是一個基於事件(即非阻塞)的 HTTP IO 引擎,以及一個可以輕鬆構建響應邏輯的 API。 非阻塞強加了與「傳統」阻塞 Java API 不同的 API 風格,因為 API 必須是非同步的。

Ratpack 旨在高效簡化 HTTP 應用程序的這種編程風格。它為構造非同步代碼提供了支持,並使用一種創新方法將請求處理結構化為自建、非同步遍歷、函數圖(這很少見,因為它聽起來感覺很難使用)。

Ratpack 1.6.0 現已發布! 此版本增加了與其他響應式編程庫的集成以及許多改進,使 Ratpack 可以更加無縫地與外部庫集成。

新的 ratpack-reactor 模塊增加了對 Ratpack 與 Project Reactor 類型集成的支持。

新的 ratpack-rx2 模塊增加了對將 Ratpack 與 RxJava 2 版本集成的支持。 這是一個支持 RxJava 2.0 中引入的新類型的新模塊。

新的 ratpack-thymeleaf3 模塊增加了對 Ratpack 與 Thymeleaf 模板 3.x 版本集成的支持。

新的 ratpack-gson 模塊增加了對使用 Google 的 Gson 庫解析請求主體和響應內容的支持。

此版本還添加了許多其他新的便捷方法、錯誤修復和通常很酷的東西。

詳細內容參見:1.6.0 發布說明

升級依賴項:

  • Netty 4.1.32.Final
  • Jackson 2.9.8
  • ReactiveStreams 1.0.2
  • Caffeine 2.6.2
  • SnakeYAML 1.23
  • Handlebars 4.0.7

Ratpack 1.7 目前已經在開發之中,2.0 也在規劃和重構,將會支持 Java 9+ 的模塊化功能,值得期待。

我曾經使用 1.3 版本,寫過一個博客系統和小型電商網站,開發速度和體驗都非常不錯。目前也有參與提交一些 PR 和問題到項目,值得推薦給 Java 和 Groovy、Spring 開發者,尤其是用過 Groovy。在國外,也有類似 SmartThings 的創業公司大量使用。 註明:smartthings.com,一家做智能家用產品的公司,現已被三星公司收購。

原文:Ratpack 1.6.0 發布

編譯:雨哥

推薦閱讀:

相關文章