Coder Social home page Coder Social logo

awesome-scala's Introduction

Awesome Scala

A curated list of awesome Scala frameworks, libraries and software. Inspired by awesome-python.

Database

Database access libraries in Scala.

  • ScalikeJDBC - A tidy SQL-based DB access library for Scala developers.
  • Slick - Modern database query and access library for Scala.
  • Squeryl - A Scala DSL for talking with databases with minimum verbosity and maximum type safety.
  • Activate - Pluggable object persistence in Scala.
  • Scala ActiveRecord - ORM library for scala, inspired by ActiveRecord of Ruby on Rails.

Web Frameworks

Scala frameworks for web development.

  • Play - Makes it easy to build scalable, fast and real-time web applications with Java & Scala.
  • Skinny Framework - A full-stack web app framework upon Scalatra for rapid Development in Scala.
  • Scalatra - Tiny Scala high-performance, async web framework, inspired by Sinatra.
  • Lift - Secure and powerful full stack web framework.
  • Spray - A suite of scala libraries for building and consuming RESTful web services on top of Akka.
  • Finatra - A sinatra-inspired web framework for scala, running on top of Finagle.
  • Blue Eyes - A lightweight Web 3.0 framework for Scala, featuring a purely asynchronous architecture, extremely high-performance, massive scalability, high usability, and a functional, composable design.
  • Reactive - FRP and web abstractions, which can be plugged into any web framework (currently only has bindings for Lift)

Authentication

Libraries for implementing authentications schemes.

  • scala-oauth2-provider - OAuth 2.0 server-side implementation written in Scala.
  • SecureSocial - A module that provides OAuth, OAuth2 and OpenID authentication for Play Framework applications.
  • play2-auth - Play2.x Authentication and Authorization module.

Testing

Libraries for code testing.

  • ScalaCheck - Property-based testing for Scala.
  • ScalaTest - A testing tool for Scala and Java developers.
  • Specs2 - Software Specifications for Scala.

JSON Manipulation

Libraries for work with json.

  • json4s - project aims to provide a single AST to be used by other scala json libraries.
  • jerkson - a Scala wrapper for Jackson
  • spray-json - lightweight, clean and efficient JSON implementation in Scala.
  • argonaut - Purely Functional JSON in Scala.

Science and Data Analysis

Libraries for scientific computing, data analysis and numerical processing.

  • Breeze - Breeze is a numerical processing library for Scala.
  • MLLib - Machine Learning framework for Spark
  • Spire - Powerful new number types and numeric abstractions for Scala.
  • Algebird - Abstract Algebra for Scala.
  • FACTORIE - A toolkit for deployable probabilistic modeling, implemented as a software library in Scala.
  • scala_prob - Scala embedded probabilistic programing library using delimited continuations (VERY Experimental).
  • probability-monad - Probability Distribution Monad in Scala.

Big Data

  • Spark - Lightning fast cluster computing - up to 100x faster than Hadoop for iterative algorithms (memory caching) and up to 10x faster than Hadoop for single-pass MapReduce jobs. Compatible with YARN-enabled Hadoop clusters, can run on Mesos and in stand-alone mode as well.
  • Scalding - A Scala binding for the Cascading abstraction of Hadoop MapReduce.
  • Summingbird - An implementation of the "lambda architecture" as a software abstraction - a single API for Hadoop and Storm.

Modularization and Dependency Injection

Modularization of applications, dependency injection, etc.

  • Domino - Write elegant OSGi bundle activators in Scala.
  • Scaldi - Lightweight Scala Dependency Injection Library.
  • MacWire - Scala Macro to generate wiring code for class instantiation. DI container replacement.
  • SubCut - Scala Uniquely Bound Classes Under Traits.

Extensions

Scala extensions.

  • Scalaz - An extension to the core Scala library for functional programming.
  • Shapeless - A type class and dependent type based generic programming library for Scala.

Android

Scala libraries and wrappers for Android development.

  • Scaloid - Less painful Android development with Scala.
  • Macroid - A modular functional UI language for Android.
  • sbt-android-plugin - A sbt plugin for Android development in Scala.

Contributing

Your contributions are always welcome! Please submit a pull request or create an issue to add a new framework, library or software to the list.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.