SlideShare a Scribd company logo
Development Tools In Scala 
Increase Programmer’s Productivity
Me 
https://facebook.com/hiraq 
https://twitter.com/_hiraq @_hiraq
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
Disclaimer 
1. My Level -> A1 (Wannabe) 
2. Research > Coding
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
Problem With Scala 
1. Internet Connection 
2. Compile 
3. SABAR
Companies Using Scala 
1. Twitter 
2. Foursquare 
3. Netflix 
4. Ebay 
5. Tumblr 
6. AirBnB 
7. Mindtalk 
8. …………...Apple?
Scala’s Frameworks 
1. Lift 
2. Play (hello world) 
3. Scalatra 
4. Finatra (proved) 
5. Splay (toolkit)
Scala Web Server 
1. Finagle (Twitter) -> Finatra 
2. Socko 
3. spray-can
Scala NoSQL Framework 
1. Casbah (Mongodb) -> proved 
2. ReactiveMongo : Asynchronous Mongodb 
3. Sandra : Apache cassandra & Scala 
4. Scala-redis 
5. Gizzard
Scala Unit Test 
1. Scalatest -> proved 
2. Scalacheck -> property based unit test 
3. Spec2 -> bdd
For Development 
1. sbt (plugins: assembly / pack) 
2. conscript 
3. g8
SBT - (not so)Simple Build Tools 
1. Scala 
2. Java 
3. c++
SBT - What’s for 
1. Choose Scala Version 
2. Library dependency management 
3. Compile & package
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
Conscript & g8 
conscript : install & update 
g8 : generate files & directories from 
templates published in github
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
Installation - Conscript 
curl https://raw.githubusercontent.com/n8han/conscript/master/setup.sh | 
sh
Installation - g8 
curl https://raw.githubusercontent.com/n8han/conscript/master/setup.sh | 
sh
Command line 
1. g8 fayimora/basic-scala-project 
2. sbt
Setup sbt pack 
packSettings 
packMain := Map("shorten" -> "api.hiraq. 
google.shortenurl.Shorten")
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

More Related Content

What's hot (19)

PPT
Selenium using C# by Yogesh Kumar
Software Testing Board
 
PPTX
Building next gen android library with gradle
Anton Rutkevich
 
PDF
Dependencies and Licenses
Robert Reiz
 
PDF
Scala Introduction with play - for my CSS nerds
PrasannaKumar Sathyanarayanan
 
PPTX
Untying the Knots of Web Dev with Internet Explorer
Sarah Dutkiewicz
 
PPTX
Django rest framework
Blank Chen
 
PPTX
Search and analyze your data with elasticsearch
Anton Udovychenko
 
PPTX
Lessons Learned with Unity and WebGL
Lior Tal
 
PDF
Java FX Tools Aquarium Paris
Alexis Moussine-Pouchkine
 
PDF
Agile sites311training
Michele Sciabarrà
 
PPTX
Docker With Asp.net Core
Fatih Şimşek
 
PDF
Webinar: Using Docker Multi-stage Build to Create Advanced Pipelines
Codefresh
 
ODP
Quality Assurance using the Eclipse IDE
Eduard Moraru
 
PPTX
Building Enterprise Search Engines using Open Source Technologies
Rahul Singh
 
PPTX
An Ultimate Guide to Java
Vinny Vessel
 
PDF
Rundeck Open Source Workflow Automation
inovex GmbH
 
PDF
Render-as-You-Fetch
The Software House
 
PPTX
Webinar: Development Swarm Cluster with Docker Compose V3
Codefresh
 
PPTX
Continuous Delivery and Infrastructure as Code
Sascha Möllering
 
Selenium using C# by Yogesh Kumar
Software Testing Board
 
Building next gen android library with gradle
Anton Rutkevich
 
Dependencies and Licenses
Robert Reiz
 
Scala Introduction with play - for my CSS nerds
PrasannaKumar Sathyanarayanan
 
Untying the Knots of Web Dev with Internet Explorer
Sarah Dutkiewicz
 
Django rest framework
Blank Chen
 
Search and analyze your data with elasticsearch
Anton Udovychenko
 
Lessons Learned with Unity and WebGL
Lior Tal
 
Java FX Tools Aquarium Paris
Alexis Moussine-Pouchkine
 
Agile sites311training
Michele Sciabarrà
 
Docker With Asp.net Core
Fatih Şimşek
 
Webinar: Using Docker Multi-stage Build to Create Advanced Pipelines
Codefresh
 
Quality Assurance using the Eclipse IDE
Eduard Moraru
 
Building Enterprise Search Engines using Open Source Technologies
Rahul Singh
 
An Ultimate Guide to Java
Vinny Vessel
 
Rundeck Open Source Workflow Automation
inovex GmbH
 
Render-as-You-Fetch
The Software House
 
Webinar: Development Swarm Cluster with Docker Compose V3
Codefresh
 
Continuous Delivery and Infrastructure as Code
Sascha Möllering
 

Viewers also liked (20)

ZIP
Why Scala for Web 2.0?
Alex Payne
 
PDF
Grey Visual Design Web Site Mini-Portfolio
Grey Visual
 
PDF
Adaptive Internal Clock Synchronization
Zbigniew Jerzak
 
PDF
Git WorkFlow & Best Practice
Hiraq Citra M
 
PPT
Law Of Industrial Patent Design In India by Vijay Dalmia
Vijay Dalmia
 
PDF
Fail-Aware Publish/Subscribe
Zbigniew Jerzak
 
ODP
Сигурност при разработката на WordPress разширения
Veselin Nikolov
 
PPT
Nimda Worm
Goaway96
 
PDF
Prefix Forwarding for Publish/Subscribe
Zbigniew Jerzak
 
ODP
Чести проблеми в сигурността на уеб проектите
Veselin Nikolov
 
PPTX
The slumber buddy
Steve Mahaley
 
PDF
Intellectual property rights in sports in india
Vijay Dalmia
 
PPS
Mukul's Wedding Invitation
Mukulbadonia
 
PPT
20 начина да си убиеш блога, без да се усетиш
Veselin Nikolov
 
PDF
Law of Tele-medicine in India
Vijay Dalmia
 
PDF
Power point training the power of visuals
Linda Mkhize-Manashe
 
PPTX
Fade tools
ShdwClaw
 
PPT
Shn Overview Updated 2009 06 P11 20
joaovox
 
PDF
A FEW SAMPLE SLIDES
Lenni
 
PPTX
Cypris Chat 2010 Year End Presentation
Mike McKay
 
Why Scala for Web 2.0?
Alex Payne
 
Grey Visual Design Web Site Mini-Portfolio
Grey Visual
 
Adaptive Internal Clock Synchronization
Zbigniew Jerzak
 
Git WorkFlow & Best Practice
Hiraq Citra M
 
Law Of Industrial Patent Design In India by Vijay Dalmia
Vijay Dalmia
 
Fail-Aware Publish/Subscribe
Zbigniew Jerzak
 
Сигурност при разработката на WordPress разширения
Veselin Nikolov
 
Nimda Worm
Goaway96
 
Prefix Forwarding for Publish/Subscribe
Zbigniew Jerzak
 
Чести проблеми в сигурността на уеб проектите
Veselin Nikolov
 
The slumber buddy
Steve Mahaley
 
Intellectual property rights in sports in india
Vijay Dalmia
 
Mukul's Wedding Invitation
Mukulbadonia
 
20 начина да си убиеш блога, без да се усетиш
Veselin Nikolov
 
Law of Tele-medicine in India
Vijay Dalmia
 
Power point training the power of visuals
Linda Mkhize-Manashe
 
Fade tools
ShdwClaw
 
Shn Overview Updated 2009 06 P11 20
joaovox
 
A FEW SAMPLE SLIDES
Lenni
 
Cypris Chat 2010 Year End Presentation
Mike McKay
 
Ad

Similar to Scala Development Tools (20)

PDF
Building Applications with Scala 1st Edition Pacheco
waldalowey4n
 
PPT
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Manish Pandit
 
PDF
Develop realtime web with Scala and Xitrum
Ngoc Dao
 
PPT
Evolving IGN’s New APIs with Scala
Manish Pandit
 
PPTX
How we use the play framework
Itai Gilo
 
PDF
Play Framework and Activator
Kevin Webber
 
PDF
Short intro to scala and the play framework
Felipe
 
PPTX
SBT by Aform Research, Saulius Valatka
Vasil Remeniuk
 
ODP
How to start using Scala
Ngoc Dao
 
PDF
Play framework
Andrew Skiba
 
PPTX
How to Play at Work - A Play Framework Tutorial
AssistSoftware
 
PPTX
Scala adoption by enterprises
Mike Slinn
 
PDF
Introducing Play Framework Java Web Application Development Second Edition Pr...
dqndgnu8267
 
PPT
The State of Scala
Boston Area Scala Enthusiasts
 
PDF
Scala Jump Start [Free Online Meetup in English]
Haim Michael
 
PPT
Hands on web development with play 2.0
Abbas Raza
 
PDF
Typesafe stack - Scala, Akka and Play
Luka Zakrajšek
 
KEY
The Why and How of Scala at Twitter
Alex Payne
 
PDF
Scala services in action
Underscore
 
PDF
Web application development using Play Framework (with Java)
Saeed Zarinfam
 
Building Applications with Scala 1st Edition Pacheco
waldalowey4n
 
Introducing Scala to your Ruby/Java Shop : My experiences at IGN
Manish Pandit
 
Develop realtime web with Scala and Xitrum
Ngoc Dao
 
Evolving IGN’s New APIs with Scala
Manish Pandit
 
How we use the play framework
Itai Gilo
 
Play Framework and Activator
Kevin Webber
 
Short intro to scala and the play framework
Felipe
 
SBT by Aform Research, Saulius Valatka
Vasil Remeniuk
 
How to start using Scala
Ngoc Dao
 
Play framework
Andrew Skiba
 
How to Play at Work - A Play Framework Tutorial
AssistSoftware
 
Scala adoption by enterprises
Mike Slinn
 
Introducing Play Framework Java Web Application Development Second Edition Pr...
dqndgnu8267
 
The State of Scala
Boston Area Scala Enthusiasts
 
Scala Jump Start [Free Online Meetup in English]
Haim Michael
 
Hands on web development with play 2.0
Abbas Raza
 
Typesafe stack - Scala, Akka and Play
Luka Zakrajšek
 
The Why and How of Scala at Twitter
Alex Payne
 
Scala services in action
Underscore
 
Web application development using Play Framework (with Java)
Saeed Zarinfam
 
Ad

More from Hiraq Citra M (9)

PDF
Tooling on distributed services
Hiraq Citra M
 
PDF
Go & microservices
Hiraq Citra M
 
PDF
Introduction repository, ddd and unit test
Hiraq Citra M
 
PPTX
Ddd part 2 modelling qiscus
Hiraq Citra M
 
PDF
Vagrant development environment
Hiraq Citra M
 
PDF
Introduction Apache Solr & PHP
Hiraq Citra M
 
PDF
The PHP Way Of TDD - Think First, Code Later
Hiraq Citra M
 
PDF
Basic Introduction About API Web Service
Hiraq Citra M
 
PPT
Amazon Web Services
Hiraq Citra M
 
Tooling on distributed services
Hiraq Citra M
 
Go & microservices
Hiraq Citra M
 
Introduction repository, ddd and unit test
Hiraq Citra M
 
Ddd part 2 modelling qiscus
Hiraq Citra M
 
Vagrant development environment
Hiraq Citra M
 
Introduction Apache Solr & PHP
Hiraq Citra M
 
The PHP Way Of TDD - Think First, Code Later
Hiraq Citra M
 
Basic Introduction About API Web Service
Hiraq Citra M
 
Amazon Web Services
Hiraq Citra M
 

Recently uploaded (20)

PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 

Scala Development Tools

  • 1. Development Tools In Scala Increase Programmer’s Productivity
  • 3. 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
  • 4. Disclaimer 1. My Level -> A1 (Wannabe) 2. Research > Coding
  • 5. 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
  • 6. Problem With Scala 1. Internet Connection 2. Compile 3. SABAR
  • 7. Companies Using Scala 1. Twitter 2. Foursquare 3. Netflix 4. Ebay 5. Tumblr 6. AirBnB 7. Mindtalk 8. …………...Apple?
  • 8. Scala’s Frameworks 1. Lift 2. Play (hello world) 3. Scalatra 4. Finatra (proved) 5. Splay (toolkit)
  • 9. Scala Web Server 1. Finagle (Twitter) -> Finatra 2. Socko 3. spray-can
  • 10. Scala NoSQL Framework 1. Casbah (Mongodb) -> proved 2. ReactiveMongo : Asynchronous Mongodb 3. Sandra : Apache cassandra & Scala 4. Scala-redis 5. Gizzard
  • 11. Scala Unit Test 1. Scalatest -> proved 2. Scalacheck -> property based unit test 3. Spec2 -> bdd
  • 12. For Development 1. sbt (plugins: assembly / pack) 2. conscript 3. g8
  • 13. SBT - (not so)Simple Build Tools 1. Scala 2. Java 3. c++
  • 14. SBT - What’s for 1. Choose Scala Version 2. Library dependency management 3. Compile & package
  • 15. 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
  • 16. Conscript & g8 conscript : install & update g8 : generate files & directories from templates published in github
  • 17. 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
  • 18. Installation - Conscript curl https://raw.githubusercontent.com/n8han/conscript/master/setup.sh | sh
  • 19. Installation - g8 curl https://raw.githubusercontent.com/n8han/conscript/master/setup.sh | sh
  • 20. Command line 1. g8 fayimora/basic-scala-project 2. sbt
  • 21. Setup sbt pack packSettings packMain := Map("shorten" -> "api.hiraq. google.shortenurl.Shorten")
  • 22. 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