Typesafe Stack 2.0 发布

  • Bienvenido David
  • 曹如进

2012 年 4 月 3 日

话题:JavaScala语言 & 开发架构

Typesafe 发布了Typesafe Stack 2.0,一个用于构建 Java 和 Scala 可扩展应用程序的开源平台。Typesafe Stack 包括 Scala 编程语言、Akka 2.0 事件驱动中间件、Play 2.0 Web 框架以及与现有 Java 环境无缝集成的各式各样的开发工具。

Akka 2.0

Akka 是一个开源的事件驱动中间件框架,用于构建高性能、可靠以及分布式的 Java 和 Scala 应用程序。Akka 将业务逻辑从底层机制,如线程、锁、非阻塞 IO 中进行分离。Scala 或 Java 代码存在于 Actor 对象中,并依靠它发送和接受消息,而同步、负载均衡、容错、伸缩性则交由 Akka 处理。Akka 2.0 改善了扩展性(每 GB 内存可创建 270 万 actor),并简化了云端或在虚拟化数据中心环境中分布式应用程序的创建。其他新特性包括:1)位置透明化,Actor 无需任何代码更改即可驻留在本机或远程机器上;2)基于配置的部署,在运行时指定拓扑;3)监督与监控,监控每一个 Akka 组件的错误或终止;4)每条总线可轻松地发送信息(发布 / 订阅)给 Actor 群组。Akka 2.0 还使用了即将到来的 Scala 2.10 标准库实现,开发人员可以使用“scala.concurrent.future”。

更多信息请阅读Akka 2.0 介绍

Play 2.0

Play 是一个 Web 框架,它基于轻量级、无状态的架构,并原生支持 Java 和 Scala 应用程序。Play 采用了”约定优于配置(convention over configuration)“的理念,并且拥有一个快速的编辑测试开发周期。Play 2.0 目前主要使用 Scala 编写,而原有的 Play 框架使用的是 Java 实现。Play 2.0 使用基于 Scala 的模板引擎作为默认引擎,而不再是 Groovy。另外,它还使用了 Scala 中流行的生成工具 sbt 进行生成和部署。Play 2.0 使用 Akka 完成事件处理和异步处理,这使得 Play 构建的 Web 应用程序具有更好的扩展性和容错性。它还包含了一个更加模块化的架构,使用户可以轻松地增删插件,甚至将其当做一个库而不是 Web 框架使用。Play 2.0 使用Iteratee IO提供了从 WebSocket 和 Comet 到文件流的多种高级推式 / 流技术的直接支持。路由(URL 映射)、模板和资源现在会在开发过程中进行编译以较早地检测错误。其他新特性包括 Anorm SQL API、表格验证、集成的 JSON 和 XML 处理以及用于访问 Web 服务的 HTTP 客户端 API。

更多信息请阅读Play 2.0 介绍

Typesafe 控制台

Typesafe Subscription 为开源 Typesafe Stack 提供了商业支持和管理工具。Typesafe Subscription 覆盖了 Scala、Akka 和 Play,并添加了 Typesafe 控制台用于跟踪和监控基于 Typesafe Stack 构建的应用程序。Typesafe 控制台还为基于 Akka 的事件驱动系统提供了使用趋势和性能特征报告。它通过捕获应用程序事件,将事件链接至跨越 actor 和远程结点的跟踪流,并使用浏览器或 REST 以及 JMX API 让这些信息流动。这里是一个关于Typesafe 控制台的演示

Typesafe Stack 还包含了一系列开发工具。Scala IDE for Eclipse 提供了包含语法高亮、代码补全和集成调试的开发环境。简单生成工具(Simple Build Tool,简称 sbt)自动化编译和依赖管理。Typesafe Stack 也可以同第三方工具,如调试器和分析器一同工作。

Typesafe Stack 提供了 Mac OS X、Linux 和 Windows 版本,并且需要 JRE 1.6+ 支持。Akka 2.0 和 Play2.0 均在 Apache 2 许可下发布。如果你想要快速上手,可以访问 Typesafe Stack快速入门页面,它会教你如何安装和创建示例(模板)项目。想要了解更多信息,请访问官方Typesafe Stack页面,并下载Typesafe Stack 2.0 白皮书。你还可以阅读 InfoQ 上的这篇采访《Martin Ordersky 谈 Typesafe Stack 2.0 和 Scala》。

查看英文原文:Typesafe Stack 2.0: Scala, Akka, Play

JavaScala语言 & 开发架构