10
Scala exploring the ecosystem @_denisftw_ http://appliedscala.com

Exploring the Scala ecosystem

  • Upload
    denis

  • View
    130

  • Download
    2

Embed Size (px)

Citation preview

Scalaexploring the ecosystem

@_denisftw_http://appliedscala.com

Tools

1. Akka (Jonas Bonér, 2009)2. Play 2 (Zenexity, 2013)3. Spark (Matei Zaharia, 2014)

Akka

● Inspired by Erlang and written in Scala● Enables actor-based concurrency on JVM● Offers fault-tolerance, supervision● Part of Scala distribution since 2.10● Forms a base for many projects including Play and Spark● Java and Scala API

Play 2

● Inspired by Ruby on Rails● Play 1 is written in Java● Play 2 is rewritten in Scala from scratch● Uses Netty and Akka behind the scenes● Java and Scala API

Spark

● Started by Matei Zaharia during his PhD work● Maintained by Apache Foundation● Written in Scala and actively uses Scala REPL● Usually much faster than Hadoop● Enables machine learning and ad-hoc data analysis● Hosts other projects such as Spark Streaming and Spark SQL● Java, Scala and Python API

Web frameworks

● Play 2● akka-http (Spray)● Scalatra● http4s● Finagle● Colossus● Lift

Dependency injection

● Scaldi (Oleg Ilyenko)● MacWire (Adam Warski)● Google Guice● SubCut (Dick Wall)● Cake pattern

Database access

● ScalikeJDBC● Slick● doobie (Typelevel)

The book● Suited for people with no prior

experience in Scala● Includes functional programming tutorial● Focuses on Play 2.5● ScalikeJDBC, MacWire, Akka● Webpack, Sass, React, EcmaScript 6