$30 off During Our Annual Pro Sale. View Details »

Exploring the Scala ecosystem

Exploring the Scala ecosystem

A brief overview of the Scala ecosystem, main projects and trends, Web frameworks and database

Avatar for denisftw

denisftw

April 04, 2016
Tweet

More Decks by denisftw

Other Decks in Programming

Transcript

  1. Tools 1. Akka (Jonas Bonér, 2009) 2. Play 2 (Zenexity,

    2013) 3. Spark (Matei Zaharia, 2014)
  2. 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
  3. 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
  4. 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
  5. Web frameworks • Play 2 • akka-http (Spray) • Scalatra

    • http4s • Finagle • Colossus • Lift
  6. Dependency injection • Scaldi (Oleg Ilyenko) • MacWire (Adam Warski)

    • Google Guice • SubCut (Dick Wall) • Cake pattern
  7. 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