Practical Web Development with Haskell: Master the Essential Skills to Build Fast and Scalable Web Applications

  • 3h 31m
  • Ecky Putrady
  • Apress
  • 2018

Learn how to advance your skill level of Haskell, and use this language for practical web development. This book uses a direct, no nonsense approach, so you no longer need to spend extra time reading the documentation, blog posts, and forums to understand how to use Haskell – all that knowledge is provided in one coherent resource. You'll start by reviewing how multiple facets of web development are done in Haskell, such as routing, building HTMLs, interacting with databases, caches, and queues, etc. You'll then move on to using notable libraries, such as 'scotty' for routings, 'digestive-functor' for input validation, and 'postgresql-simple' for interacting with databases. In the later chapters, you'll learn how all of these libraries can be used together by working on a fully functioning project deployed on Heroku.

What You'll Learn

  • Set up a productive Haskell development environment
  • Review basic tasks that are encountered when building web applications.
  • Explore how to interact with external systems, such as databases, queues, and RESTful APIs.
  • Build a RESTful API, website, building views and form validation.

Who This Book Is For

Software developers familiar Haskell and would like to apply the knowledge on real world applications and software developers new to Haskell.

About the Author

Ecky Putrady is a software engineer with extensive experience in developing web applications. Specializing in the Java, Ecky discovered Haskell 4 years ago and was amazed by the potential the language could bring. Although resources were scarce, he learned the language by reading multiple blog posts and participating in active discussions in the Haskell community. That arduous process is what motivated him to write this book and hopes that new future practitioners of Haskell will become productive quickly.

In this Book

  • Getting Started
  • Practical Haskell
  • Domain Modeling
  • Logging
  • Databases
  • Queues
  • RESTful APIs
  • Web Programming
  • HTTP Client
  • Configuration
  • Testing
  • Deployment