| Hey Steve, thanks for your work in this course. It's a terrific thing for you to do and it's my favorite course to recommend to beginners to webdev. That said, the webapp2 decision is by far my biggest hesitation in recommending it. Webapp2 just doesn't have the community support; whether django is too "heavy" or flask too "light", they're both popular, which means they have great support, plugins, help on SO, and a lot of developers familiar with them. Webapp2 also hasn't seen a release since 2012[0]. I write this having recently completed a small consulting project where I helped a team on GAE move from Webapp2 to django. The productivity gains just from using django plugins and builtins was insane. They had been on webapp2 because their dev learned webdev on your course, and I think he would have been much happier had the course included a more widely used framework. Lock-in on Appengine is also a major issue; the work to move off can be enormous, especially if you're using a framework designed for GAE. Again, I totally understand the decision to use webapp2 and the course is still a huge net positive. But if you ever think about revising it, I'd recommend considering another framework, and possibly even using Elastic Beanstalk. EDIT: I understand django can take a little more to get up and running, but most people learning Python are going to have to learn it very soon anyway. I learned how to program by doing the django tutorial, and didn't find it burdensome at all. [0] https://pypi.python.org/pypi/webapp2 |
I personally don't like working in frameworks of that size because I find myself fighting them to do what I want.
For the course itself, I really wanted the students to get as close to the server as possible. Then, when some of them switch to the heavier frameworks, they'll have a better idea of what the framework is doing and what is possible. The course had a time constraint on it as well.
All in all, your anecdote reenforces my feelings on the topic :)