Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Development Tools In Scala

Development Tools In Scala

Presentation about tools and frameworks in scala world

Hiraq Citra M

May 27, 2014
Tweet

More Decks by Hiraq Citra M

Other Decks in Programming

Transcript

  1. Scala Programmer Levels A1 : Beginning Application Programmer A2 :

    Intermediate Application Programmer A3 : Expert Application Programmer L1 : Junior Library Designer L2 : Senior Library Designer L3 : Expert Library Designer
  2. Why I Choose Scala ? 1. Twitter: From ruby to

    scala (backend) 2. Foursquare: From php to scala (all) 3. Mindtalk : From python to scala from dynamic typing to static typing
  3. Companies Using Scala 1. Twitter 2. Foursquare 3. Netflix 4.

    Ebay 5. Tumblr 6. AirBnB 7. Mindtalk 8. …………...Apple?
  4. Scala NoSQL Framework 1. Casbah (Mongodb) -> proved 2. ReactiveMongo

    : Asynchronous Mongodb 3. Sandra : Apache cassandra & Scala 4. Scala-redis 5. Gizzard
  5. Scala Unit Test 1. Scalatest -> proved 2. Scalacheck ->

    property based unit test 3. Spec2 -> bdd
  6. SBT - What’s for 1. Choose Scala Version 2. Library

    dependency management 3. Compile & package
  7. SBT - Plugins 1. Assembly - Fat jar (Finatra) 2.

    Pack - compile, packaging + installing (support unix (linux) & windows), support versioning https://github.com/sbt/sbt-assembly https://github.com/xerial/sbt-pack
  8. Conscript & g8 conscript : install & update g8 :

    generate files & directories from templates published in github
  9. g8 example template 1. fayimora/basic-scala-project : simple scala project +

    scala test 2. pmandera/basic-scala-project : simple scala project + spec2 3. scalatra/scalatra-sbt : basic scalatra template
  10. Demo - Google ShortenURL API 1. g8 -> fayimora/basic-scala-project 2.

    Basic scala project 3. Scalatest 4. sbt pack https://github.com/hiraq-scala/google-shorten-url