Whether you need a new tool or just inspiration, Seven Web Frameworks in Seven Weeks explores modern options, giving you a taste of each with ideas that will help you create better apps. You’ll see frameworks that leverage modern programming languages, employ unique architectures, live client-side instead of server-side, or embrace type systems. You’ll see everything from familiar Ruby and JavaScript to the more exotic Erlang, Haskell, and Clojure.

Buy Now

Select a DRM-free Format:

In Stock
In Stock
In Stock
Buy the eBook and get these DRM-free formats delivered immediately:
  • epub (for iPhone/iPad, Android, eReaders)
  • mobi (for Kindle)
  • PDF
We can automatically send them to your Kindle or Dropbox, and for a social reading experience we can link the book to your Readmill account. (You'll need to log in to enable these options.)

About this Book

  • 302 pages
  • Published:
  • Release: P1.0 (2014-01-14)
  • ISBN: 978-1-93778-563-5

The rapid evolution of web apps demands innovative solutions: this survey of frameworks and their unique perspectives will inspire you and get you thinking in new ways to meet the challenges you face daily.

This book covers seven web frameworks that are influencing modern web applications and changing web development: Sinatra, CanJS, AngularJS, Ring, Webmachine, Yesod, Immutant. Each of these web frameworks brings unique and powerful ideas to bear on building apps.

Embrace the simplicity of Sinatra, which sheds the trappings of large frameworks and gets back to basics with Ruby. Live in the client with CanJS, and create apps with JavaScript in the browser. Be declarative with AngularJS; say what you want, not how to do it, with a mixture of declarative HTML and JavaScript. Turn the web into data with Ring, and use Clojure to make data your puppet. Become a master of advanced HTTP with Webmachine, and focus the power of Erlang. Prove web theorems with Yesod; see how Haskell’s advanced type system isn’t just for academics. Develop in luxury with Immutant, an enlightened take on the enterprise framework.

Seven Web Frameworks will influence your work, no matter which framework you currently use.

Welcome to a wider web.

What You Need

You’ll need Windows, MacOS X or Linux, along with your favorite web browser. Each chapter will cover what you need to download and which language versions are required.

Contents and Extracts

  • Preface
  • Sinatra
    • A Simple Domain-Specific Language
    • Day 1: Building a Bookmarking Application
    • Day 2: Creating Views
    • Day 3: Adding Features
    • Wrapping Up
  • CanJS
    • What Makes CanJS Unique?
    • Day 1: Building Objects and Synchronizing Changes excerpt
    • Day 2: Creating Controllers
    • Day 3: Working with Models
    • Wrapping Up
  • AngularJS
    • The Big Picture
    • Day 1: Using Dependency Injection
    • Day 2: Creating Controllers and Views
    • Day 3: Building Filters and Routes
    • Wrapping Up
  • Ring
    • Introducing Ring
    • Day 1: Basic Towers
    • Day 2: Patterns of Bricks
    • Day 3: Other Ways to Build excerpt
    • Wrapping Up
  • Webmachine
    • Introducing Webmachine
    • Day 1: HTTP Request as State Machine
    • Day 2: Building Apps excerpt
    • Day 3: Illuminating HTTP’s Dark Corners
    • Wrapping Up
  • Yesod
  • Immutant
  • Wrap-Up

About the Author

Jack Moffitt has spent a decade building things for the Web in a variety of languages and frameworks. He is a senior research engineer at Mozilla Research and works on the Servo project building an experimental new browser engine. He also helped create Ogg Vorbis and founded the Xiph.org Foundation, a non-profit which works on open, royalty free multimedia codecs.

Fred Daoud is a truly passionate web developer who loves trying out new frameworks. He is the author of two other web framework books: Stripes …and Java Web Development Is Fun Again and Getting Started With Apache Click. As a software engineer for Modernizing Medicine, he develops with Stripes, jQuery, YUI, and CanJS.

Upcoming Author Events

  • 2012-12-05: Bruce Tate
    Mary Poppins Meets the Matrix. A look at the languages in Seven Languages in Seven Weeks. What was going on when these languages were written, and what are the design principles that distinguish each one? Fans use discount code tate250. (London)
  • 2013-09-18: Jack Moffitt
    Servo: Designing an Implementing a Parallel Browser (Strange Loop, St. Louis, MO)

Comments and Reviews

  • The title implies a breadth-first analysis of some fairly disparate technologies, but there is a surprising amount of depth here, more than enough to emphasize the essential qualities of each one. If you’re a polyglot, or aspire to be, this book is a very large ball of awesome.

    —Jim Crossley Immutant core team member; principal software engineer Red Hat
  • Objective and clear. More than an introduction, it’s a head start! Just as wide and as deep as any modern developer would like. I definitely recommend it.

    —Pablo Aguiar Software engineering consultant
  • This book is great fun. The authors guide you quickly through each framework, in each case giving you a fast but clear, coherent, and surprisingly detailed taste that includes major features, design philosophy, implementation, and testing, plus hints for further investigation. Two JavaScript frameworks, one Ruby, one Haskell, two Clojure, and one Erlang. If you like web programming, you’re going to enjoy this book.

    —Giles Bowkett Experienced developer and well-known blogger
  • I thoroughly enjoyed reading the book. In fact, the Yesod chapter even gave me fresh ideas on how to expose non-Haskellers to the strengths of a strong type system.

    —Michael Snoyman Creator of Yesod; lead software engineer FP Complete