Typesafe Activator is a browser-based tool, built on the Typesafe Stack, with reusable templates that are linked to in-context tutorials for jump-starting Big Data Application Development. Just download, extract and run the executable to start building applications immediately via the easy to use wizard-based interface.
The Typesafe Reactive Development Platform is a JVM-based runtime and toolset consisting of Play Framework, Akka, and Scala that allows you to build systems that are event-driven, scalable, resilient and responsive; big data applications ready to be deployed on multicore and cloud computing architectures.
“The Typesafe Reactive Platform helps us maintain a very aggressive development and deployment cycle, all in a fail-forward manner. It’s now the default choice for developing all new services.”
Peter Hausel, VP Engineering, Gawker Media
The Typesafe Reactive Development Platform provides:
- Scalability - Handle billions of transactions per day and CPU intensive operations with ease
- Productivity - Code faster with mature tools, libraries, type-safety, and integrated testing
- Modernization - âââââBuild HTML5, Mobile, NoSQL, and Big Data Apps
- Agility & Quality - Deliver higher quality releases more frequently
The Typesafe Stack contains three distinct technologies for building big applications that work great together or separately: Akka (an event-driven middleware), Play (a web framework), and Scala (a programming language). A common thread is our mission to modernize the process of building application on the Java Virtual Machine. The Typesafe Stack as a whole is an alternative to traditional Java technologies such as Java Enterprise Edition (Java EE).
Some of what you'll find for building big data applications with the Typesafe Stack:
- Strategies for working in a world of horizontal scale. Building big data applications in the modern era requires planning for more cores and more machines, rather than faster single cores.
- An emphasis on developer agility, productivity, and enthusiasm. Developers who are building applications want to work quickly and focus on business logic rather than boilerplate.
- Fewer bugs. The Typesafe Stack has tools for building big data applications to avoid bugs up front. For example, Akka helps you avoid tricky thread synchronization issues, and Scala helps you write side-effect-free, typesafe code with fewer opportunities for error.
- An emphasis on pragmatic interoperability. The Typesafe Stack APIs can be used from Java or Scala or both while building big data applications; and they can be adopted incrementally. It's as simple as adding some jars to your project.
The Akka framework helps you with building applications that are concurrent and fault-tolerant. Like Java EE servlets and session beans, Akka is a model for organizing your code that keeps many "policy decisions" (such as thread pool configuration) separate from the business logic.
Akka's unit of code organization is called an actor. Actors may be new to many in the Java community who are building applications, but they are a tried-and-true concept used for many years in telecom systems with nine-nines uptime. An actor is simply an object (think java.lang.Object) that sends and receives asynchronous messages. Crucially, only one message will be processed at a time: that is, the actor need not worry about synchronizing its state. Akka serializes all access to an actor.
Play is a simple-yet-powerful web framework for building big data applications. It adopts a "convention over configuration" philosophy and avoids some of the design-by-committee clunkiness you might find in Java EE. Play 2.0 builds on Akka and emphasizes minimal, predictable resource consumption (CPU, memory, threads), enabling high scalability.
It's easy to mix both Play and Akka together into a single application, whether that application is web-focused but happens to use some actors, or actor-focused but happens to export a web service. The edit-test cycle in Play feels like a scripting language. You can edit your files, save, refresh your browser and see the results immediately - with no need to compile, deploy or restart the server.
Scala is the most popular alternative to Java for building big data applications on the JVM. The Typesafe Stack includes Scala because we think it's a great option, but the stack also supports Java as a first-class citizen. Both Play and Akka have complete Java APIs.
Typesafe founder and longtime Java contributor Martin Odersky designed the Scala language. Java 1.0 arrived in 1995. In 1996, Martin made the initial release of Pizza, an experimental language on the JVM platform. Around 1998-2000, Martin implemented the new Java compiler (javac) and designed generics for Java 5. Both of these were incorporated into Sun's official Java release.
Scala built on this background. It was prototyped from about 2003 to 2006. As Scala matured, starting around 2006, it rapidly gained traction in production environments. Today Scala has six years of real-world use for building applications under its belt. In 2011, we founded Typesafe to accelerate the development of Scala, Akka, and Play, plus offer the training, commercial support, and other commercial prerequisites to wide adoption for building big data applications.