Developing Web Applications with Haskell and Yesod
This fast-moving guide introduces web application development with Haskell and Yesod, a potent language/framework combination that supports high-performing applications that are modular, type-safe, and concise. You’ll work with several samples to explore the way Yesod handles widgets, forms, persistence, and RESTful content. You also get an introduction to various Haskell tools to supplement your basic knowledge of the language.
By the time you finish this book, you’ll create a production-quality web application with Yesod’s ready-to-use scaffolding. You’ll also examine several real-world examples, including a blog, a wiki, a JSON web service, and a Sphinx search server.
Build a simple application to learn Yesod’s foundation datatype and Web Application Interface (WAI)
Use Shakespearean template languages for HTML, CSS, and Javascript output
Produce cleaner, more modular code by learning how Yesod monads interact
Implement the yesod-form declarative API to build forms on top of widgets
Learn how Yesod and Haskell store session data and handle persistence
Use techniques to serve an HTML page and a machine-friendly JSON page from the same URL
Create reusable components for several applications with Yesod subsites
Table of Contents
Part I: Basics
Chapter 1. Introduction
Chapter 2. Haskell
Chapter 3. Basics
Chapter 4. Shakespearean Templates
Chapter 5. Widgets
Chapter 6. Yesod Typeclass
Chapter 7. Routing and Handlers
Chapter 8. Forms
Chapter 9. Sessions
Chapter 10. Persistent
Chapter 11. Deploying Your Webapp
Part II: Advanced
Chapter 12. RESTful Content
Chapter 13. Yesod’s Monads
Chapter 14. Authentication and Authorization
Chapter 15. Scaffolding and the Site Template
Chapter 16. Internationalization
Chapter 17. Creating a Subsite
Part III: Examples
Chapter 18. Blog: i18n, Authentication, Authorization, and Database
Chapter 19. Wiki: Markdown, Chat Subsite, Event Source
Chapter 20. JSON Web Service
Chapter 21. Case Study: Sphinx-Based Search
Book Details
Paperback: 298 pages
Publisher: O’Reilly Media (April 2012)
Language: English
ISBN-10: 1449316972
ISBN-13: 978-1449316976