I just finished reading Python 3 Web Development - Beginners Guide by Michel Anders and here is my book review.
Chapter 1 explained the authors reasons for choosing the tools that he did, and boy were there a lot of choices to be made. Here were the choices:
- Web framework: CherryPy
- Language: Python 3
- Database: SQLLite
- ORM: None. He's rolling his own
- Revision Control: svn
There are a lot of high level talk about the rationale of each choice and why he made them. It was a bit strange that he put the choice of using Python after the choice of using CherryPy. The first chapter is quite intimidating for beginners - there is really lots to consider when building a web app. He admits it too, but he puts in a lot of encouraging words to encourage the reader to stay focused.
Chapter 2 went through the exercise of building a web-based spreadsheet application, a la Google Docs. The goal is ambitious, especially for a "hello world" program. I wondered how he was going to pull it off.
The Rest of the Chapters
- Writing an authentication handler, and then later authorization within CherryPy
- Using the file system as storage
- Using SQLite to replace the file system as as storage
- Using SQL directly to manipulate and query the database
- Ajax and lots more of jQuery and jQuery UI
- Unit testing in Python
- Building a hand-rolled ORM, and then improving it using meta-classes, where the phrase "make your head explode" was used
- Adding a CRUD interface to the system for his CRM, and then refining the CRM.