Seven Web Frameworks in Seven Weeks: Adventures in Better Web Apps


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.

The rapid evolution of web ...

See more details below
$27.80 price
(Save 26%)$38.00 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (8) from $21.14   
  • New (7) from $21.14   
  • Used (1) from $27.35   
Sending request ...


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.

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.

Read More Show Less

Editorial Reviews

From the Publisher
Q & A with author Jack Moffitt and Frederic Daoud

Why did you decide to write this book?

Jack: There are countless ways to solve problems, and programmers everywhere are discovering new techniques and building new languages in an effort to find better solutions. There are so many diverse ideas in all areas of programming, and having stumbled upon a few really eye opening ones over the years, I've wanted to share them with others.

There's no one way to build a web app, and no two projects of mine have ever been built the same way. Web programming is unique in having hundreds of available frameworks and libraries; traditional GUI programming tends to have very few choices. With so many possibilities—none of them perfect—I wanted to expose the most interesting ideas and techniques I've found to a wider audience.

Fred: Programming in general and web development in particular evolves at a fantastic pace. I felt that this book was an excellent opportunity to break out of the mainstream and explore new ideas and discover different approaches to web development.

The goal with these frameworks is not to compare them which each other and pick which one to use for your next project. Rather, this book serves as a neatly organized exploration of frameworks that offer unique solutions to web development.

Why did you pick these seven frameworks?

Jack: Our goal was to pick frameworks that had unique and powerful ideas rather than just ones that were enjoying their moment in the spotlight. We explore minimalism, composition, static typing, state machines, declarative syntax, and more in the book.

In some cases, the frameworks we chose originated the ideas we wanted to explore, and in others, the framework is just the clearest example. We also tried to pick a set of frameworks that didn't overlap much to make sure we covered as many ideas as possible.

Fred: After suffering through bloated and overly complex so-called "enterprise" frameworks, it felt refreshing to explore frameworks that let you get started with very little code and just "use what you need."

We also wanted to include client-side frameworks, because JavaScript on the client is no longer a hodgepodge of code snippets. These frameworks really give us an opportunity to write modular and cleanly-organized code.

What other frameworks did you wish you could have included?

Jack: I think the Play framework would have made a very nice contrast to Yesod, as it also leverages static typing with Scala and has a lot of features. I also wanted to sneak an Elixir-based framework in, but none were quite ready enough at the time since Elixir itself is still changing.

In another universe, we might have done the whole book on front-end frameworks, which are bringing a large number of interesting ideas of their own. There are some excellent and unique ClojureScript frameworks popping up, such as Webfui and Om, and on the other end of the spectrum, Meteor and Derby are doing interesting things for real-time and collaborative apps.

Fred: Node.js would have been an interesting server-side framework to include, but we really wanted to include some client-side frameworks. Certainly, we could have written the book using only JavaScript frameworks, but that was not our goal.

Have any interesting new frameworks appeared since you started writing the book?

Jack: My feed reader is full of saved articles about new frameworks, and more keep appearing every day. A few that I'm planning on exploring soon are Revel, which is written in Go, and Om, which is a ClojureScript framework built on top of core.async. Even though Elixir is a young language, web frameworks are pouring out, like Sugar and Dynamo, and I'll be giving those a spin as well.

Fred: New frameworks keep appearing and it is hard to keep up! Two frameworks I would have liked to explore are total.js, and Pedestal, since Clojure is one of my favorite programming languages.

Read More Show Less

Product Details

  • ISBN-13: 9781937785635
  • Publisher: Pragmatic Programmers, LLC, The
  • Publication date: 1/7/2014
  • Edition number: 1
  • Pages: 302
  • Sales rank: 1,375,101
  • Product dimensions: 10.10 (w) x 8.20 (h) x 0.70 (d)

Meet 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 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.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)