Rapid Web Applications with TurboGears: Using Python to Create Ajax-Powered Sites
暫譯: 快速網頁應用程式與 TurboGears:使用 Python 創建 Ajax 驅動的網站
Mark Ramm, Kevin Dangoor, Gigi Sayfan
- 出版商: Prentice Hall
- 出版日期: 2006-11-17
- 定價: $1,575
- 售價: 6.0 折 $945
- 語言: 英文
- 頁數: 504
- 裝訂: Paperback
- ISBN: 0132433885
- ISBN-13: 9780132433884
-
相關分類:
Ajax、Python、程式語言
立即出貨(限量) (庫存=2)
買這商品的人也買了...
-
$580$458 -
$880$695 -
$780$663 -
$650$507 -
$850$723 -
$650$507 -
$1,080CMMI: Guidelines for Process Integration and Product Improvement, 2/e
-
$880$695 -
$680$537 -
$480$379 -
$720$569 -
$720$569 -
$550$429 -
$680$578 -
$1,200$948 -
$620$527 -
$1,150$1,093 -
$680$578 -
$580$493 -
$450$351 -
$1,710$1,625 -
$600$480 -
$800$760 -
$860$731 -
$450$351
商品描述
Description
“Dear PHP,
It’s over between us. You can keep the kitchen sink, but I want my MVC.
With TurboGears, I was able to shed the most heinous FileMaker Pro legacy ‘solution’ imaginable. It has relationships based on fields that change frequently, causing ‘disappearing data.’ I replaced it with an easy to maintain TurboGears application. Defunkifying and normalizing many years worth of munged data took twice as long as developing the TurboGears’s application itself. TurboGears’s excellent set of tools and best-of-breed approach makes it so easy to build applications quickly.”
—Isaac Csandl, Manager of Information Technology, Chicago Legal Search, Ltd.
“TurboGears has resulted in significant time savings for rPath. Before it was released, we expected to spend significant time building a Web framework for our rPath Appliance Agent product. TurboGears sharpens our focus on building a quality application; it allows us to provide more value to our customers, rather than reinventing the Web wheel.”
—Michael K. Johnson, rPath Founding Engineer and Coauthor of Linux Application Development, Second Edition
“I think this is the first time that a Web framework’s functionality has been so obvious.”
—Bruce Eckel, Author of Thinking in Java and Thinking in C++
“TurboGears helped me build more complex Web applications more quickly and with fewer headaches than any other framework I’ve used. Just like Python itself, it made me more productive with a minimal learning curve.”
—Quentin Hartman, System Administrator
“TurboGears has changed the way I develop Web applications, from model, to view, to controller. Thanks to the power of TurboGears, I was able to develop the first version of WhatWhat in less than a week of my spare time.”
—Jonathan LaCour, Development Team Lead, Optio
“TurboGears has provided a way for me to greatly enhance my productivity by realizing the potential of Web-based agile development with Python.”
—Brandon Goldfedder, Vice President of Engineering, Information Extraction and Transport (IET Inc.), and Author of The Joy of Patterns
“TurboGears really changed the way I schedule project releases: It allows me to deliver them faster and with better quality than when I used to use GUI toolkits.”
—Jorge Godoy, Owner of G2C Tech Consultoria in Brazil, former Lead Developer for Conectiva documentation team
“With TurboGears, I was able to transition my Python projects into Web applications as easily as possible.”
—Benjamin T. Hamilton, Software Engineer
“Norwegian-based company Scanmine AS makes extensive use of Python and Turbo-Gears in all parts of its operation. TurboGears makes it a breeze to build highly sophisticated Web 2.0 applications with out-of-the-box features for multiple languages with full Unicode, REST, AJAX, RSS/Atom, and more. This enables Scanmine to put a face on their technology development in a minimal amount of time.
“It has been said that there are as many Web frameworks as there are Python Web programmers. This apparent Web framework fragmentation has long been perceived as a weakness, until TurboGears came along and turned weakness into strength.”
—Rune Hansen, Senior Systems Designer, Scanmine AS
“TurboGears is a well thought-out framework; the design choices it has made will help you be more productive. TurboGears will give you condence with its foundation of stable best-of-breed Python components. If you are coming from other languages, consider working in TurboGears and Python to bring fun back into your Web development work.”
—Jeff Marshall, Partner with FrozenBear
“When we started developing Oprius Foundations with TurboGears, we weren’t sure if it really would help us develop quicker and higher-quality code. After two months, we had a task manager to rival Tada List. After seven months, we had an entire contact management system to compete with the big boys.”
—Jason Chu, Lead Developer, Oprius Software Inc.
“Conventional programming wisdom states that rewriting any working project from scratch is a bad idea. TurboGears was good enough to convince me to do this anyway, and I have been nothing but thrilled with the results. With TurboGears, I was able to implement an AJAX-based Web site with a nice Web API more easily than I ever thought possible. If you are trying to do either of those in Python, you owe it to yourself to look at this project. Using TurboGears was one of the few times in my programming career where a task was significantly less complicated than I thought possible.”
—Adam Jones, Lead Programmer, RecursiveThought Software
Master TurboGears: The Easy Python Framework for Rapid Web Development
TurboGears harnesses the power of Python to provide a dynamic and easy-to-use Web development framework: one that
dramatically increases developer productivity, and makes it far easier to create dynamic, user-friendly, Ajax-enabled Web applications. Now, for the first time, there’s a definitive guide to TurboGears—coauthored by its creator, Kevin Dangoor.
This book will help experienced Web developers get productive with TurboGears—fast. You’ll quickly build your first TurboGears Web application—then extend it one step at a time, mastering the underlying libraries that make these enhancements possible. Next, the authors demonstrate TurboGears at work in a real-world application, by examining the code for “WhatWhat Status,” an open source project status tracking application. Finally, you’ll gain deep insight into the model, view, and controller technologies TurboGears is built upon: knowledge that will help you build far more robust and capable Python applications.
Coverage includes
- Understanding the architecture of a TurboGears application
- Mastering SQLObject, customizing it, and using it with TurboGears models
- Utilizing TurboGears view technologies, including dynamic templates and MochiKit for Ajax
- Bringing CSS, XHTML, and JavaScript together in reusable components with TurboGears Widgets
- Using CherryPy and TurboGears controller technologies: from decorators to deployment
- Exploring the TurboGears toolbox
- Ensuring security and managing user access permissions in TurboGears applications
Table of Contents
Preface xxiii
Acknowledgments xxv
Part I: TurboGears Fundamentals
Chapter 1: Introduction to TurboGears 3
Chapter 2 Getting Started with TurboGears 13
Chapter 3: The Architecture of a TurboGears Application 25
Part II: Building a Simple TurboGears Application
Chapter 4: Creating a Simple Application 43
Chapter 5: Enhancing Our Bookmark Application 59
Part III: Exploring a Real World TurboGears Application
Chapter 6: Exploring More Complex Models in WhatWhat Status 83
Chapter 7: Controllers, Views, and JavaScript in the WhatWhat Status 97
Chapter 8: RSS, Cookies, and Dynamic Views in WhatWhat Status 115
Chapter 9: Ajax and WhatWhat Status Projects 133
Part IV: SQLObject and TurboGears Models
Chapter 10: SQLObject Basics 151
Chapter 11: Mastering SQLObject 165
Chapter 12: Customizing SQLObject Behavior 183
Part V: TurboGears View Technologies
Chapter 13: Dynamic Templates with Kid 209
Chapter 14: Creating Better JavaScript with MochiKit 225
Chapter 15: Effective Ajax with MochiKit 273
Chapter 16: TurboGears Widgets: Bringing CSS, XHTML, and JavaScript Together in Reusable Components . 309
Part VI: CherryPy and TurboGears Controller Technologies
Chapter 17: CherryPy and TurboGears Decorators 335
Chapter 18: TurboGears Deployment 355
Part VII: TurboGears Extras Chapter 19 The TurboGears Toolbox and Other Tools 371
Chapter 20: Internationalization 383
Chapter 21: Testing a TurboGears Application 397
Chapter 22: TurboGears Identity and Security 417
Part VIII: Appendix
Appendix: SQLAlchemy 431
Index 449
商品描述(中文翻譯)
**描述**
“親愛的 PHP,
我們之間的關係結束了。你可以保留水槽,但我想要我的 MVC。”
透過 TurboGears,我能夠擺脫最可怕的 FileMaker Pro 遺留「解決方案」。它的關係基於經常變動的欄位,導致「消失的數據」。我用一個易於維護的 TurboGears 應用程式取而代之。清理和正規化多年來混亂的數據花了我兩倍於開發 TurboGears 應用程式本身的時間。TurboGears 優秀的工具集和最佳實踐方法使得快速構建應用程式變得如此簡單。”
—Isaac Csandl,芝加哥法律搜尋有限公司資訊科技經理
“TurboGears 為 rPath 帶來了顯著的時間節省。在它發布之前,我們預期會花費大量時間為我們的 rPath Appliance Agent 產品構建一個 Web 框架。TurboGears 讓我們專注於構建高品質的應用程式;它使我們能夠為客戶提供更多價值,而不是重新發明 Web 的輪子。”
—Michael K. Johnson,rPath 創始工程師及《Linux 應用程式開發(第二版)》的合著者
“我認為這是第一次 Web 框架的功能如此明顯。”
—Bruce Eckel,《Thinking in Java》和《Thinking in C++》的作者
“TurboGears 幫助我更快地構建更複雜的 Web 應用程式,並且比我使用過的任何其他框架都少了許多麻煩。就像 Python 本身一樣,它讓我在最小的學習曲線下變得更具生產力。”
—Quentin Hartman,系統管理員
“TurboGears 改變了我開發 Web 應用程式的方式,從模型到視圖再到控制器。多虧了 TurboGears 的強大功能,我能夠在不到一週的空閒時間內開發出 WhatWhat 的第一個版本。”
—Jonathan LaCour,Optio 開發團隊負責人
“TurboGears 為我提供了一種大幅提升生產力的方法,實現了基於 Web 的敏捷開發潛力,並使用 Python。”
—Brandon Goldfedder,資訊提取與傳輸(IET Inc.)工程副總裁及《The Joy of Patterns》的作者
“TurboGears 真的改變了我安排專案發布的方式:它讓我能夠比我以前使用 GUI 工具包時更快且更高品質地交付。”
—Jorge Godoy,巴西 G2C Tech Consultoria 的擁有者,前 Conectiva 文檔團隊首席開發者
“透過 TurboGears,我能夠將我的 Python 專案輕鬆轉換為 Web 應用程式。”
—Benjamin T. Hamilton,軟體工程師
“挪威公司 Scanmine AS 在其所有業務中廣泛使用 Python 和 TurboGears。TurboGears 使得構建高度複雜的 Web 2.0 應用程式變得輕而易舉,具備多語言的即用功能,並完全支持 Unicode、REST、AJAX、RSS/Atom 等等。這使得 Scanmine 能夠在最短的時間內為其技術開發賦予面貌。
“據說 Web 框架的數量與 Python Web 程式設計師的數量相等。這種明顯的 Web 框架碎片化長期以來被視為一種弱點,直到 TurboGears 的出現將弱點轉化為優勢。”
—Rune Hansen,Scanmine AS 高級系統設計師
“TurboGears 是一個經過深思熟慮的框架;它所做的設計選擇將幫助你提高生產力。TurboGears 將以穩定的最佳 Python 組件為基礎,讓你充滿信心。如果你來自其他語言,考慮在 TurboGears 和 Python 中工作,讓你的 Web 開發工作重新充滿樂趣。”
—Jeff Marshall,FrozenBear 合夥人
“當我們開始使用 TurboGears 開發 Oprius Foundations 時,我們不確定它是否真的能幫助我們更快地開發出更高品質的代碼。兩個月後,我們有了一個可以與 Tada List 競爭的任務管理器。七個月後,我們擁有了一整套聯絡管理系統,可以與大公司競爭。”
—Jason Chu,Oprius Software Inc. 首席開發者
“傳統的程式設計智慧認為,從頭開始重寫任何運行中的專案都是一個壞主意。TurboGears 足夠好,讓我仍然決定這麼做,結果讓我感到非常高興。使用 TurboGears,我能夠比我想像中更輕鬆地實現一個基於 AJAX 的網站,並擁有一個良好的 Web API。如果你想在 Python 中做這些事情,你應該看看這個專案。使用 TurboGears 是我程式設計生涯中少數幾次任務顯著簡單的經歷之一。”
—Adam Jones,RecursiveThought Software 首席程式設計師
**精通 TurboGears:快速 Web 開發的簡易 Python 框架**
TurboGears 利用 Python 的力量提供一個動態且易於使用的 Web 開發框架:它顯著提高了開發者的生產力,並使創建動態、用戶友好、支持 Ajax 的 Web 應用程式變得更加容易。現在,首次有一本關於 TurboGears 的權威指南——由其創建者 Kevin Dangoor 共同撰寫。
本書將幫助經驗豐富的 Web 開發者快速掌握 TurboGears。你將迅速構建你的第一個 TurboGears Web 應用程式,然後逐步擴展,掌握使這些增強功能成為可能的底層庫。接下來,作者將通過檢查開源專案狀態追蹤應用程式「WhatWhat Status」中的代碼,展示 TurboGears 在實際應用中的運作。最後,你將深入了解 TurboGears 所基於的模型、視圖和控制器技術:這些知識將幫助你構建更強大且功能更全面的 Python 應用程式。
涵蓋內容包括:
- 理解 TurboGears 應用程式的架構
- 精通 SQLObject,自定義它,並將其與 TurboGears 模型一起使用
- 利用 TurboGears 視圖技術,包括動態模板和 MochiKit 用於 Ajax
- 將 CSS、XHTML 和 JavaScript 結合在一起,使用 TurboGears Widgets 創建可重用的組件
- 使用 CherryPy 和 TurboGears 控制器技術:從裝飾器到部署
- 探索 TurboGears 工具箱
- 確保安全性並管理 TurboGears 應用程式中的用戶訪問權限