Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Typesafe Stack 2.0: Scala, Akka, Play

Typesafe Stack 2.0: Scala, Akka, Play

Leia em Português

This item in japanese

Typesafe has released Typesafe Stack 2.0, an open source platform for building scalable applications in Java and Scala. The Typesafe Stack includes the Scala programming language, the Akka 2.0 event-driven middleware, the Play 2.0 web framework, and various development tools, that integrate seamlessly with existing Java environments.

Akka 2.0

Akka is an open source, event-driven middleware framework for building high performance, reliable, and distributed applications in Java and Scala. Akka decouples business logic from low-level mechanisms such as threads, locks and non-blocking IO. Scala or Java code lives in Actor objects which send and receive messages, while Akka handles synchronization, load-balancing, fault tolerance, and elasticity. Akka 2.0 features improved scalability (up to 2.7 million actors per GB of memory) and simplified creation of distributed applications in the cloud or in a virtualized datacenter environment. Other new features include: 1) location transparency, where actors may reside locally or remotely without any code changes, 2) configuration-based deployment, where topologies are specified at runtime, 3) supervision and monitoring, where every Akka component is monitored for failures or termination, and 4) event bus, to easily send messages (publish/subscribe) to groups of actors. Akka 2.0 is also using the upcoming Scala 2.10 standard library Future implementation that gives developers "scala.concurrent.future".

Read Introducing Akka 2.0 for more information.

Play 2.0

Play is a web framework based on a lightweight, stateless architecture, with native support for both Java and Scala applications. It adopts the "convention over configuration" philosophy and has a fast edit-test development cycle. Play 2.0 is now primarily written in Scala, compared to the Java implementation of the original Play Framework. It uses a Scala-based template engine as the default instead of Groovy. It also uses a more standardized approach to build and deployment using sbt, the popular build tool for Scala. Play 2.0 is using Akka for its event-handling and asynchronous processing, making Play web applications more scalable and fault-tolerant. It also features a more modular architecture, so you can easily add or remove plugins, or even use it as a library instead of a web framework. Play 2.0 uses an Iteratee IO implementation to provide out-of-the-box support for many advanced push-based/streaming technologies, from WebSockets and Comet to file streaming. Routes (URL mappings), templates, and assets are now compiled to detect errors early in the development process. Other new features include the Anorm SQL API, form validation, integrated JSON and XML handling and an HTTP client API for accessing web services.

Read Introducing Play 2.0 for more information.

Typesafe Console

The Typesafe Subscription provides commercial support and management tools for the open source Typesafe Stack. The Typesafe Subscription covers Scala, Akka, and Play, and also adds the Typesafe Console for tracing and monitoring applications built on the Typesafe Stack. The Typesafe Console provides insight into usage trends and performance characteristics of event-driven Akka based systems. It captures application events, links those events into trace flows across actors and remote nodes, and makes this information actionable using a browser or REST and JMX APIs. A Typesafe Console demo is available.

The Typesafe Stack also includes a set of developer tools. The Scala IDE for Eclipse provides a development environment with syntax highlighting, code completion, and integrated debugging. Simple Build Tool (sbt) automates compilation and dependency management. The Typesafe Stack also works with third party Java tools like debuggers and profilers.

The Typesafe Stack is available for Mac OS X, Linux, and Windows and requires JRE 1.6+. Akka 2.0 and Play 2.0 are both released under the Apache 2 License. To get started, visit the Typesafe Stack Getting Started page, which walks you through installation and the creation of sample (template) projects. For more information, visit the official Typesafe Stack page and download the Typesafe Stack 2.0 Whitepaper. You might also want to read InfoQ's interview of Martin Odersky on Typesafe Stack 2.0 and Scala.


Rate this Article