ebook img

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

382 Pages·2014·2.06 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

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

Seven Web Frameworks in Seven Weeks Adventures in Better Web Apps by Jack Moffitt, Fred Daoud Version: P1.0 (January 2014) Copyright © 2014 The Pragmatic Programmers, LLC. This book is licensed to the individual who purchased it. We don't copy-protect it because that would limit your ability to use it for your own purposes. Please don't break this trust— you can use this across all of your devices but please do not share this copy with other members of your team, with friends, or via file sharing services. Thanks. —Dave & Andy. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC. Every precaution was taken in the preparation of this book. However, the publisher assumes no responsibility for errors or omissions, or for damages that may result from the use of information (including program listings) contained herein. Our Pragmatic courses, workshops, and other products can help you and your team create better software and have more fun. For more information, as well as the latest Pragmatic titles, please visit us at http://pragprog.com. The team that produced this book includes: Bruce A. Tate (series editor) Jacquelyn Carter (editor) Potomac Indexing, LLC (indexer) Molly McBeath (copyeditor) David J Kelly (typesetter) Janet Furlow (producer) Juliet Benda (rights) Ellie Callahan (support) A Note on Formatting We strongly recommend that you read this book with the “publisher defaults” setting enabled for your reading device or application. Certain formats and characters may not display correctly without this setting. Please refer to the instructions for your reader on how to enable the publisher defaults setting. Table of Contents Foreword Acknowledgments Preface Why Seven Web Frameworks? About This Book What This Book Is Not Code Examples and Conventions Online Resources 1.Sinatra A Simple Domain-Specific Language Day 1: Building a Bookmarking Application Day 2: Creating Views Day 3: Adding Features Wrapping Up 2.CanJS What Makes CanJS Unique? Day 1: Building Objects and Synchronizing Changes Day 2: Creating Controllers Day 3: Working with Models Wrapping Up 3.AngularJS The Big Picture Day 1: Using Dependency Injection Day 2: Creating Controllers and Views Day 3: Building Filters and Routes Wrapping Up 4.Ring Introducing Ring Day 1: Basic Towers Day 2: Patterns of Bricks Day 3: Other Ways to Build Wrapping Up 5.Webmachine Introducing Webmachine Day 1: HTTP Request as State Machine Day 2: Building Apps Day 3: Illuminating HTTP’s Dark Corners Wrapping Up 6.Yesod Introducing Yesod Day 1: Data You Can’t Get Wrong Day 2: Views, Forms, and Auth Day 3: Rumbling Along Wrapping Up 7.Immutant Introducing Immutant Day 1: Beyond the Web Basics Day 2: Building Data Pipelines Day 3: Polyglot Apps Wrapping Up 8.Wrap-Up Key Ideas Happy Exploring A1.Bibliography Copyright © 2014, The Pragmatic Bookshelf. Early Praise for Seven Web Frameworks in Seven Weeks 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 Foreword In 2003, I took my family to Durango, Colorado, where we rode on the Durango & Silverton train. The narrow gauges of the railroad once served well against the narrow red sandstone cliffs, where every inch of space was at a premium. These days, the train is a relic of the past, rendered obsolete by cars and planes that are safer and more efficient. Time marches on. Today, too, we witness revolution. Single-core computers are dead or dying. True, their multicore descendants are technical marvels. They also represent a tremendous technical challenge. The languages we used to depend on do not work as well as they once did. As a result, we are seeing a new generation of languages emerge. So far, no one has been kind enough to declare a winner. Against this backdrop in 2010, I wrote Seven Languages in Seven Weeks. In truth, I didn’t expect it to sell many copies. After all, it was a book about languages in a Java world; a book about programming paradigms in a time where everything was object oriented. Still, programmers sensed the danger of our stagnating skills and embraced the concept that learning programming languages for the sake of learning them can make you smarter and better able to cope with change. The book was a resounding success. Three years later, there’s still no clear leader, though functional programming is starting to gain traction. We’re finding that the multicore wafer tossed into our virtual pond years ago has created waves that are increasing in size and velocity. We need more than inheritance to organize our code. We need robust frameworks on the client to handle the robust development that is happening there. And we need true concurrent frameworks to take full advantage of their concurrent languages. It’s just not enough to lay wider tracks over the narrow tracks we used last year. In this book, Fred and Jack will show you the leading edge of people who are reinventing the way web development should be done. You’ll see a traditional object-oriented framework called Sinatra. You’ll move on to the client side, where exciting things are happening with JavaScript. You’ll take a tour of CanJS and AngularJS to see how to do full, rich client-side development. Next, you’ll swing back to the server side to see what’s happening in functional languages. You’ll encounter two Clojure frameworks in the minimalist Ring and the robust Immutant. You’ll see a state machine--based design in Erlang called WebMachine. If those aren’t enough to blow your mind, you’ll find the incredibly powerful Haskell framework called Yesod. The “Seven in Seven” books are designed to expand your mind. I am extremely proud to bring you this next installment, Seven Web Frameworks in Seven Weeks. It’s my sincerest hope that this book will take you beyond whatever tracks are holding you back. Best regards, Bruce Tate CTO, icanmakeitbetter.com Copyright © 2014, The Pragmatic Bookshelf.

Description:
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 i
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.