Write modern, scalable, and reactive applications with the power of Scala About This Book - Delves into the intricacies of functional reactive programming with Scala - Explores frameworks like Akka, Play and Slick used to develop efficient applications - A step by step guide with plenty of examples showing practical implementation of essential concepts Who This Book Is For If you are a Java or JVM developer who wants to use Scala to build reactive functional applications for the JVM platform, then this book is for you. Prior knowledge of Java or functional programing would help. No Scala knowledge is required. What You Will Learn - Use Akka to create a chat service for your app - Equip yourself with the techniques and tools to build reports and build database persistence with Scala and Slick - Develop a customer-facing Rest API that makes use of Scala and Spray - Make use of the Scala web development principles and scale up the architecture of your application - Get familiar with the core principles and concepts of Functional Programming - Use the Play framework to create models, controllers, and views - Develop reactive backing frameworks by writing code with RxScala - Discover what proper testing entails with Scala using behavior-driven development In Detail Scala is known for incorporating both object-oriented and functional programming into a concise and extremely powerful package. However, creating an app in Scala can get a little tricky because of the complexity the language has. This book will help you dive straight into app development by creating a real, reactive, and functional application. We will provide you with practical examples and instructions using a hands-on approach that will give you a firm grounding in reactive functional principles. The book will take you through all the fundamentals of app development within Scala as you build an application piece by piece. We've made sure to incorporate everything you need from setting up to building reports and scaling architecture. This book also covers the most useful tools available in the Scala ecosystem, such as Slick, Play, and Akka, and a whole lot more. It will help you unlock the secrets of building your own up-to-date Scala application while maximizing performance and scalability. Style and approach This book takes a step-by-step approach to app development with Scala. It will place special emphasis on functional language. It will teach you the core benefits of Scala and the fundamentals of functional programming by developing a robust application.
Like a dog's dinner, the book fails to do justice to any of the discussed topics.
I brought this book to serve as a quick introduction to application development with Scala and it was a huge disappointment. The book provides an overview of Scala language along with Play, RxScala, and Akka frameworks by developing web apps. This approach was a nightmare (I believe it will be so even for readers who are familiar with web apps) for the following reasons: 1) only a *glimpse* of rich language/frameworks are provided while letting the reader to figure out the details and nuances : how is this better than digging thru the web documentation? 2) since most app/web frameworks are as complex as new languages as they have their own DSL and conventions, it seems like learning three involved languages/framework from one book. 3) code is not well explained. For example, "->" is used to define maps. However, the same "operator" is used in other contexts without any explanation. Should the reader the enclosing context is some kind of map? If so, how is different from maps? 4) code is probably buggy. For example, the code snippet on page 177 used the identifier "db" that isn't defined in the snippet and described in the text. Where is it defined? What is assigned to it? Is it defined by Play framework? If so, provide details.
The preface of the book states "You will learn how to bootstrap a Scala application with SBT and Activator, how to build a Play and Akka application step by step, and we cover the theory of how to scale massive Scala applications with cloud and the NetflixOSS stack. This book will help you to go from the basic subjects to the most advanced ones in order to make you a Scala expert." And, I seriously doubt if it does any of this.
This book might help folks who know Play/RxScala/Akka and want to explore Play/RxScala/Akka with Scala. Even then, I doubt its efficacy.
If a book is titled to focus on "building applications", then the book should focus on 1) how common application building principles are supported in the language/framework and 2) how new features of the language/framework challenge and improve upon the status quo of existing application building principles.
Like a dog's dinner, the book fails to do justice to any of the discussed topics.
I brought this book to serve as a quick introduction to application development with Scala and it was a huge disappointment. The book provides an overview of Scala language along with Play, RxScala, and Akka frameworks by developing web apps. This approach was a nightmare (I believe it will be so even for readers who are familiar with web apps) for the following reasons: 1) only a *glimpse* of rich language/frameworks are provided while letting the reader to figure out the details and nuances : how is this better than digging thru the web documentation? 2) since most app/web frameworks are as complex as new languages as they have their own DSL and conventions, it seems like learning three involved languages/framework from one book. 3) code is not well explained. For example, "->" is used to define maps. However, the same "operator" is used in other contexts without any explanation. Should the reader the enclosing context is some kind of map? If so, how is different from maps? 4) code is probably buggy. For example, the code snippet on page 177 used the identifier "db" that isn't defined in the snippet and described in the text. Where is it defined? What is assigned to it? Is it defined by Play framework? If so, provide details.
The preface of the book states "You will learn how to bootstrap a Scala application with SBT and Activator, how to build a Play and Akka application step by step, and we cover the theory of how to scale massive Scala applications with cloud and the NetflixOSS stack. This book will help you to go from the basic subjects to the most advanced ones in order to make you a Scala expert." And, I seriously doubt if it does any of this.
This book might help folks who know Play/RxScala/Akka and want to explore Play/RxScala/Akka with Scala. Even then, I doubt its efficacy.
If a book is titled to focus on "building applications", then the book should focus on 1) how common application building principles are supported in the language/framework and 2) how new features of the language/framework challenge and improve upon the status quo of existing application building principles.