I am starting to enjoy working with Web2py. I was recently provided with a review copy of a recent Web2Py book, and I have started reading through it. I will have a full review of this book in the next couple weeks. When I first went on to learn Web2Py, I used the free online book, and that for the most part didn't change me over. The free online, like Django's online book, is just that. A free online book, and didn't provide me with enough knowledge and confidence to develop using the framework. I got into Django using it's very extensive documentation website.
The book I am reviewing has many examples which can easily be applied to real-world web applications, which I praise. As I have been reading through the book, I have also been playing around and exploring Web2Py in general. It has some very interesting design choices and features. It is definitely good for someone who can never remember what to import, as there is rarely any need to import anything in web2py, besides when you need to import a 3rd party Python module. At first, this design choice caught me off guard, as in Python, I am used to explicitly importing my modules for use. Web2Py includes it's technical reference with the application itself, in the form of Epydoc. I am not terribly fond of this documentation format, but it is how I learned Pyjamas, as it uses the same documentation system.
Web2Py has some interesting magic, which frankly does make web development a breeze. Generating forms and cruds is literally a one-liner, further customization can be made by using more lines of code. Web2Py also comes with a nice default template, and the application wizard, has many additional templates for use as well. This feature is definitely well welcomed in my book. Sure, it implies that tons of websites made with Web2Py will have the same look and feel, but is that such a bad thing? It just means that visitors will know where most resources can be found, and how to use the included form widgets. Think of Wordpress, most Wordpress sites I visit keep the included wordpress theme. Blogspot is another example of a set of websites which share a common theme. The included themes allow one to get to developing the website as quickly as possible without having to worry about how it will look and feel, but rather focus on the functionality. I am more of a functionality person, not a look-and-feel type of person.
All in all, I am very excited to be trying out Web2Py for a second time, and do hope that when I complete this book, I can both provide a review of the book itself, as well as the framework in general. Neither of these reviews will be compared to anything, and be strictly of the book and framework itself. I am thinking of making a future website using Web2Py to see where it goes. I will most likely keep my blog running on Django, as I have used many Django-specific features which would be otherwise troublesome to migrate over. These articles contain Django template code, for example.