| Who's Online | There are currently, 158 guest(s) and 0 member(s) that are online.
You are an Anonymous user. You can register for free by clicking here | |
 | |
Rapid Web Applications with TurboGears: Using Python to Create Ajax-Powered Sites
Authors: Mark Ramm, Kevin Dangoor, Gigi Sayfan
Format: Paperback: 504 pages
Publisher: Prentice Hall PTR; 1st edition (November 7, 2006)
ISBN: 0132433885
James Pyles
November 15, 2006
One of the reviews in the front of this book states in part: 'Dear PHP, It's over between us. You can keep the kitchen sink, but I want my MVC...' It's sad to see a relationship break up but apparently something better came along. While I've already been sold on Python, I wanted to know how TurboGears stacked up as a Python framework and how well the Ramm/Dangoor/Sayfan
book presents it. Since Kevin Dangoor created TurboGears, I imagined that 'Rapid Web Applications with TurboGears' wouldn't lack for technical accuracy (of course, you never know) but would it really help me to '...get productive with TurboGears - fast'? Let's find out.
A little info first. According to The Official TurboGears Site, TurboGears can '...
Create a database-driven, ready-to-extend application in minutes. All with designer friendly templates, easy AJAX on the browser side and on the server side, not a single SQL query in sight with code that is as natural as writing a function'. Everyone wants high level functionality that's easy and quick to create. Keep in mind though, that the book is targeted for 'experienced web developers' so if you've just been dabbling with HTML, CSS, and JavaScript, you might want to skip this book for now (The book 'assumes' the reader is experienced with XHTML, CSS, JavaScript, Python and has at least a passing knowledge of Relational Databases).
Rapid Web Applications with TurboGears is divided into eight parts including the appendix:
- TurboGears Fundamentals
- Building a Simple TurboGears Application
- Exploring a Real World TurboGears Application
- SQLObject and TurboGears Models
- TurboGears View Technologies
- CherryPy and TurboGears Decorators
- TurboGears Extras
- Appendix: SQLAlchemy
That being said, the book's organization also has a broader structure containing just two parts...the fundamental principles and practices of building TurboGears apps and all of the details that go
with TurboGears such as CherryPy, MochiKit, and SQLObject.
TurboGears is like a container holding all of the tools you need to create web applications. These tools include how to access a database, how to manage web requests, and how to produce final web pages. Traditionally, these tools don't always work well together. It's a bit like mixing apples, ice cream, and beef stew, coming up with a dinner that fits perfectly on one plate and tastes wonderful. That's what TurboGears is designed to do.
As a document, Rapid Web Applications with TurboGears is designed to do the same thing;
be a perfect (well...nothing's "perfect" but it can be very, very good) container for presenting, teaching the basics, and helping the reader become an advanced user of TurboGears. As an added plus, the authors maintain
their own website http://www.turbogearsbook.com/ which
contains lots of TurboGears code, tutorials, links to package and Python resources and more. It's apparent that the authors are more than serious about giving the reader every chance to learn TurboGears.
Despite the level of depth the book promises, it starts out in an easy-to-understand, introductory (and occasionally humorous) manner. Asychronous JavaScript, XML (Ajax), HTML and MVC are all presented in an amiable and disarming way as though the book was written for friends rather than a gaggle of software gurus and guru
wannabes. Most of all, from the very start of the book, the reader sees that TurboGears functionality is expanding and expanding rapidly. The second edition may be needed fairly soon.
The action really begins when you hit Chapter 2 and find out how to install TurboGears on either Linux, Windows, or Mac OS X. Being an open-source project, TurboGears leans towards a Linux platform but can be used just as well on the other operating systems. CLI knowledge on your OS of choice is assumed. Frankly, more Linux users seem comfortable using the shell than Windows or Mac users so I suppose that gives them (us) a little advantage.
No sooner is TurboGears (and SQLite3 and pysqlite) installed then you are building your first 'Hello World!' TG app (Ok, it's programmer's kindergarten, but you have to paint a few still lifes before you tackle 'Starry Night'). The MVC (model-viewer-controller) paradigm comes next (less experienced web developers might have to slow down at this point). In practically the same breath, SQLObject, CherryPy handles and Kid templates come along. Blink once more and the chapter is over.
I appreciated the 'bite-sized' (or is that 'byte-sized'...yeah...terrible pun) chapters. A lot of books present new concepts and activities in 40, 50, and 60 page chapters, bringing the reader to his or her knees long before they have any hope of finishing.
Like climbing a ladder, Part II builds on Part I (literally as well as figuratively) by taking the reader through building some simple apps such as a bookmark collection site and then testing the apps. Don't throw out the bookmark app when the chapter is over; you'll need it to enhance your new skill sets.
Now that the reader is feeling more comfortable, more complex models are presented relative to "WhatWhat Status" WhatWhat Status is a project management app that's more of a 'communication tool' keeping group code owners on track and providing a vision of how a larger TurboGears app can be constructed. It's relevant to managing
Controllers, Views, JavaScript, RSS, and more.
As the reader progresses through the pages, SQLObject Basics come up including ORM (object relational mapper) and simple database queries. Moving quickly, the reader graduates to using their skills for Mastering SQLObject. Gracefully leaving SQLObject behind, you move into View
Technologies such as Kid templates and using MochiKit to write better JavaScript and Ajax. Hang on a little longer and you'll revisit CSS, XHTML, and JavaScript in the context of TurboGears widgets.
The CherryPy (developers come up with the 'cuteist' names....:rolleyes:) URL parsing is next up a bat and you learn how it handles HTTP requests and responses from and to the user. Finally, you get to the process of deploying TurboGears in a production environment and how to run it on different OS platforms.
The last section (not counting the appendix), covers all (or most) of the extras such as TurboGears tools, internationalization, testing, identity, and security. Sit back and take a deep breath. You're practically finished. Now that you have so much information about SQLObject running around in your brain, the appendix introduces SQLAlchemy which can be used instead of SQLObject. Alchemy is like Object's, younger, better-looking, stronger cousin. It doesn't have as many tools inside of TurboGears, and hasn't been around as long, but it definitely 'the future'.
Summary
TurboGears is a Python-based framework for building database-driven, quickly extendable web applications using templates. It acts as a common
'interface' to make XHTML, CSS, JavaScript, Ajax, and relational databases all work and play together
politely and even makes them take a nice nap followed by milk and cookies.
Conclusion
Rapid Web Applications with TurboGears: Using Python to Create Ajax-Powered Sites works as well
as the application it presents, providing an 'interface' to introduce the reader in the use of TurboGears; from
building a simple application to expanding the limits of web app creation. If you are already familiar with the individual technologies involved, you're ready for TurboGears and this book is ready for you.
Title: Rapid Web Applications with TurboGears: Using Python to Create Ajax-Powered Sites
Category: Open Source
Sub-Category: Open Source Books
Author: James Pyles
Related Link: Find the book here
Added: November 15th 2006
Viewed: 4961 Times
Score: Options:

[ Back to Reviews Index | Back to Open Source Index | Post Comment ]
|
|
| |
| Login | | Don't have an account yet? You can create one. As a registered user you have some advantages like theme manager, comments configuration and post comments with your name. | |
|
Help us cut cost by not downloading the whole site!
Use of automated download sofware ("harvesters") such as wget, httrack, etc. causes the site to quickly exceed its bandwidth limitation and therefore is expressedly prohibited.
For more details on this, take a look
here | |
| Tell a Friend About Us |
| |
|