Discover unique features and powerful capabilities of Scala Programming as you build projects in a wide range of domains
Key Features
- Develop a range of Scala projects from web applications to big data analysis
- Leverage full power of modern web programming using Play Framework
- Build real-time data pipelines in Scala with a Bitcoin transaction analysis app
Book Description
Scala is a type-safe JVM language that incorporates object-oriented and functional programming (OOP and FP) aspects. This book gets you started with essentials of software development by guiding you through various aspects of Scala programming, helping you bridge the gap between learning and implementing. You will learn about the unique features of Scala through diverse applications and experience simple yet powerful approaches for software development.
Scala Programming Projects will help you build a number of applications, beginning with simple projects, such as a financial independence calculator, and advancing to other projects, such as a shopping application and a Bitcoin transaction analyzer. You will be able to use various Scala features, such as its OOP and FP capabilities, and learn how to write concise, reactive, and concurrent applications in a type-safe manner. You will also learn how to use top-notch libraries such as Akka and Play and integrate Scala apps with Kafka, Spark, and Zeppelin, along with deploying applications on a cloud platform.
By the end of the book, you will not only know the ins and outs of Scala, but you will also be able to apply it to solve a variety of real-world problems
What you will learn
- Build, test, and package code using 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 the 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 for
If you are an amateur programmer who wishes to learn how to use Scala, this book is for you. Knowledge of Java will be beneficial, but not necessary, to understand the concepts covered in this book.
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
Mikhail Selivanov is a Software engineer with twelve years of experience in backend development on JVM stack. He got interested in Scala in 2008 due to its functional programming capabilities. Since then, he has used Scala and frameworks built on top of it for different purposes: from writing simple CRUD UI apps to building distributed systems based on microservice architecture. He has been responsible for every part of the development process, including the implementation of business logic, performance tuning, writing deployment scripts, and more.
Currently he is a lead backend developer at &Frankly. Prior to this, he has worked with RiskMatch LLC. and True Software Scandinavia AB, where he implemented numerous improvements to user profile storage and profile indexing pipeline, backed by JVM-based technologies including Scala, Akka, and Play. While working with Agency of Komi Republic, he has created several GUI tools with data sheets, reports, an embedded database, and a web application for manipulating user network profiles using Scala.
You can know more about him by visiting his LinkedIn profile.