
Scala Programming Projects
Build real-world projects using popular Scala frameworks such as Play, Akka, and Spark
Packt Publishing
Published on 29. September 2018
Book
Paperback/Softback
398 pages
978-1-78839-764-3 (ISBN)
Description
Discover the unique features and powerful capabilities of Scala Programming as you build projects in a wide range of domains
Key Features
Develop Scala projects on topics ranging from web applications to big data analysis
Unleash the full power of modern web programming using Play Framework
Build real-time data pipelines in Scala with a Bitcoin transaction analysis app
Book DescriptionScala Programming Projects is a comprehensive project-based introduction for those who are new to Scala. Complete with step-by-step instructions and easy-to-follow tutorials that demonstrate best practices when building applications, this Scala book will have you building real-world projects in no time.
Starting with the fundamentals of software development, you'll begin with simple projects, such as developing a financial independence calculator, and then advance to more complex projects, such as a building a shopping application and a Bitcoin transaction analyzer. You'll explore a variety of Scala features, including its OOP and FP capabilities, and learn how to write concise, reactive, and concurrent applications in a type-safe manner. You'll also understand how to use libraries such as Akka and Play. Furthermore, you'll be able to integrate your Scala apps with Kafka, Spark, and Zeppelin, along with deploying applications on a cloud platform.
By the end of the book, you'll have a firm foundation in Java programming that'll enable you to solve a variety of real-world problems, and you'll have built impressive projects to add to your professional portfolio.What you will learn
Build, test, and package code using sbt (Scala Build Tool)
Decompose code into functions, classes, and packages for maintainability
Implement the functional programming capabilities of Scala
Develop a simple CRUD REST API using Play Framework
Access a relational database using Slick
Develop a dynamic web UI using Scala.js
Source streaming data using Spark Streaming and write a Kafka producer
Use Spark and Zeppelin to analyze data
Who this book is forIf you're new to programming and want to learn how to use Scala, this book is for you. Though not necessary, some knowledge of Java will help you understand the concepts covered in this book.
Key Features
Develop Scala projects on topics ranging from web applications to big data analysis
Unleash the full power of modern web programming using Play Framework
Build real-time data pipelines in Scala with a Bitcoin transaction analysis app
Book DescriptionScala Programming Projects is a comprehensive project-based introduction for those who are new to Scala. Complete with step-by-step instructions and easy-to-follow tutorials that demonstrate best practices when building applications, this Scala book will have you building real-world projects in no time.
Starting with the fundamentals of software development, you'll begin with simple projects, such as developing a financial independence calculator, and then advance to more complex projects, such as a building a shopping application and a Bitcoin transaction analyzer. You'll explore a variety of Scala features, including its OOP and FP capabilities, and learn how to write concise, reactive, and concurrent applications in a type-safe manner. You'll also understand how to use libraries such as Akka and Play. Furthermore, you'll be able to integrate your Scala apps with Kafka, Spark, and Zeppelin, along with deploying applications on a cloud platform.
By the end of the book, you'll have a firm foundation in Java programming that'll enable you to solve a variety of real-world problems, and you'll have built impressive projects to add to your professional portfolio.What you will learn
Build, test, and package code using sbt (Scala Build Tool)
Decompose code into functions, classes, and packages for maintainability
Implement the functional programming capabilities of Scala
Develop a simple CRUD REST API using Play Framework
Access a relational database using Slick
Develop a dynamic web UI using Scala.js
Source streaming data using Spark Streaming and write a Kafka producer
Use Spark and Zeppelin to analyze data
Who this book is forIf you're new to programming and want to learn how to use Scala, this book is for you. Though not necessary, some knowledge of Java will help you understand the concepts covered in this book.
More details
Language
English
Place of publication
Birmingham
United Kingdom
Target group
College/higher education
Dimensions
Height: 235 mm
Width: 191 mm
Thickness: 21 mm
Weight
741 gr
ISBN-13
978-1-78839-764-3 (9781788397643)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Additional editions

Mikael Valot | Nicolas Jorand
Scala Programming Projects
Build real-world projects using popular Scala frameworks such as Play, Akka, and Spark
E-Book
09/2024
1st Edition
Packt Publishing Limited
€45.49
Available for download
Persons
Mikael Valot is Principal Software Engineer at IHS Markit in London, UK. He is the lead developer of a strategic market risk solution for banking regulation.
He has over 15 years of experience in the financial industry of the UK, Switzerland, and France. He has a Diplome d'Ingenieur in Computing (equivalent to an M.Sc.) from Telecom Nancy, France.
After years of working with Java, he started developing professionally with Scala in 2010, and never looked back. He was a speaker at Scala Exchange 2015.
When he is not coding in Scala, Mikael likes to dabble with Haskell, the Robotic Operating System, and deep learning.
He strongly believes that functional programming with strong typing is the best way to write safe and scalable programs. Nicolas Jorand is a senior developer. He worked for the finance industry for about 15 years before switching to the energy industry. He is a freelancer enjoying a partial time at Romande Energy, a Swiss utility company providing exclusively green electricity. Nicolas is a full-stack developer, playing with microcontrollers, developing standard web user and 3D interfaces on Unity, developing software to animate a humanoid robot (Nao) and finally, working with Scala on integration and backend software. All these projects are done with the same leitmotif; "In the dev process, get the issues as early as possible."
He has over 15 years of experience in the financial industry of the UK, Switzerland, and France. He has a Diplome d'Ingenieur in Computing (equivalent to an M.Sc.) from Telecom Nancy, France.
After years of working with Java, he started developing professionally with Scala in 2010, and never looked back. He was a speaker at Scala Exchange 2015.
When he is not coding in Scala, Mikael likes to dabble with Haskell, the Robotic Operating System, and deep learning.
He strongly believes that functional programming with strong typing is the best way to write safe and scalable programs. Nicolas Jorand is a senior developer. He worked for the finance industry for about 15 years before switching to the energy industry. He is a freelancer enjoying a partial time at Romande Energy, a Swiss utility company providing exclusively green electricity. Nicolas is a full-stack developer, playing with microcontrollers, developing standard web user and 3D interfaces on Unity, developing software to animate a humanoid robot (Nao) and finally, working with Scala on integration and backend software. All these projects are done with the same leitmotif; "In the dev process, get the issues as early as possible."
Content
Table of Contents
Writing your first program
Developing a Retirement Calculator
Handling errors
Advanced features
Type Classes
Online Shopping - Persistence
Online Shopping - REST API
Online Shopping - User Interface
Interactive browser
Fetching and persisting Bitcoin market data
Batch and Streaming analytics
Writing your first program
Developing a Retirement Calculator
Handling errors
Advanced features
Type Classes
Online Shopping - Persistence
Online Shopping - REST API
Online Shopping - User Interface
Interactive browser
Fetching and persisting Bitcoin market data
Batch and Streaming analytics