Scala

Scala

Modern and powerful programming language invented in Switzerland. Scala has full support for functional programming and a very strong static type system. Designed to be concise, many of Scala's design decisions were inspired by criticism of the shortcomings of Java.

Scala frameworks

Akka, Cats, Lift, Play, Scalaz, Slick, Shapeless, Spray.

Akka

The platform for the next generation of event-driven, scalable and fault-tolerant architectures on the JVM. Akka is an implementation of the actor model, a mathematical model of concurrent computation, based on the central idea of actors.

Akka HTTP

The Streaming-first HTTP server/module of Akka. The Akka HTTP modules implement a full server- and client-side HTTP stack on top of akka-actor and akka-stream.

Apache Kafka

Fast, scalable, durable, and fault-tolerant publish-subscribe messaging system. Kafka is often used in place of traditional message brokers like JMS and AMQP because of its higher throughput, reliability and replication.

Cats

Lightweight, modular, and extensible library for functional programming which provides abstractions for functional programming in the Scala programming language. The name is a playful shortening of the word category.

Colossus

Lightweight framework for building high-performance applications in Scala that require non-blocking network I/O. It spins up multiple event loops, generally one per CPU core. TCP connections are bound to event loops and request handlers (written by you) are attached to connections to transform incoming requests into responses.

Finatra

Lightweight framework for building fast, testable, scala applications on top of TwitterServer and Finagle. Finatra provides an easy-to-use API for creating and testing Finagle servers and apps as well as powerful JSON support, modern logging via SLF4J, Finagle client utilities, and more.

Finch

Scala combinator library for building Finagle HTTP services. Purely Functional REST API atop of Finagle.

http4s

Typeful, functional, streaming HTTP for Scala. http4s servers and clients share an immutable model of requests and responses. Standard headers are modeled as semantic types, and entity codecs are done by typeclass.

Lift 3.0-RC1

A powerful Web application framework for Scala that has a ORM mapper for mongoDB. Gives a solid security layer on top, so by default, there's no XSS and CSRF.

Play

The High Velocity Web Framework For Java and Scala. based on a lightweight, stateless, web-friendly architecture. Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.

Play 2.5.0

An open source web app framework, written in Scala and also usable from e.g. Java, which follows the MVC architectural pattern and aims to optimize developer productivity by using convention over configuration, hot code reloading and display of errors in the browser. Play 2.5.0 was released in March 2016.

sbt

Scala Build Tool. An alternative to ANT and Maven made with Scala in mind. Its main features is native support for compiling Scala code and integrating with many Scala test frameworks.

SBT 0.13.12

An open source build tool for Scala and Java projects (similar to Java's Maven or Ant), that is used by the Lift & Play frameworks. Released in July 2016.

Scalatra

A scalable web micro-framework for Scala. Scalatra offers advanced features and can be used for server-side development, creating high-performance mobile and web APIs. It can be extended with libraries for templates, data models, testing and others.

Scalaz

An extension to the core Scala library for functional programming. A Scala library of pure data structures, type classes, highly generalized functions, and concurrency abstractions to perform functional programming in Scala.

Shapeless

A type class and dependent type based generic programming library for Scala. Used widely in production systems wherever there are arities to be abstracted over and boilerplate to be scrapped.

Slick

Modern database query and access library for Scala. It allows to work with stored data almost as if you were using Scala collections while at the same time giving you full control over when a database access happens and which data is transferred.

Spray

Toolkit for building REST/HTTP-based integration layers on top of Scala and Akka. Being asynchronous, actor-based, fast, lightweight, modular and testable it's a great way to connect your Scala applications to the world.

Development by Synergize.digital

Sign up for updates
straight to your inbox