Search code examples
pythondjangogoogle-app-enginewebapp2

Google App Engine - Choosing the right direction


I started web development 2 weeks ago using GAE,WebApp2,Jinja2 and WTForms.

I read though several articles , discussions , watched lessons about web development with gae (udacity) and started a small project.

Now I am very inexperienced in web-development and I don't know which path i should choose.

.

.

The last few days I poked around with GAE and webapp2. It was very easy to use. But I have to say that i only used webapp2 has a request handler. (post / get)

For templates I took Jinja2 which was self explanatory too.

.

.

Now Steve from Reddit said that it's always better to use a lightweight framework instead of a very big framework because you have more control and you can scale a lot easier.

But I still want to investigate Django-nonrel. I know that Django is limited in GAE.

But to be honest I don't even know what Django does for me, (compared to WebApp2 with Jinja2)

Now to my questions:

Would you recommend a beginner to have a look into Django ? And if I am more experienced => replace some Django code.

Stick to WebApp2 + "some template engine" ?

.

.

PS: I don't ask which framework is the best, I just want some points for consideration.


Solution

  • I'll address your second question/part, about whether or not to use webapp2 or other template framework. I'm in a similar position, learning Python and GAE while coding a personal project and looking for a code base that makes it easy to learn, extrapolate, and be highly efficient in terms of using the GAE environment. I've not tried webapp2 but found another framework that might be worth a look. Your mileage will vary, of course.

    Specifically, I found Flask-Engine on GitHub as the framework and PyCharm as my editor. Flask-Engine can be found here:

    https://github.com/zachwill/flask-engine

    PyCharm can be found here:

    http://www.jetbrains.com/pycharm/

    Flask-Engine includes Flask, HTML5Boilerplate, and a number of other useful tools all integrated. As well as a simple To Do app and email page. It's fairly easy to go into the code to understand where to add your code. It also includes all GAE configuration files to make Flask and other tools work. I found it turnkey: I uploaded the files to an empty folder, added a project in PyCharm, and called up a web browser.

    The only inscrutable issue I found with Flask-Engine is that, on a Mac OSX (Lion) at least, the setup code wasn't precisely accurate: you download the template code to an empty project folder. The setup code says you download the files to a project; that approach didn't work for me until I added the empty project folder path to the command line. Then you add a project in PyCharm (and GAE App Launcher) that points to your now filled project folder.

    For Python, PyCharm turns out to be highly useful in that it provides tools for GAE projects as well as with Django as well as a full suite of debugging tools. I found the $99 personal license to be okay. There's a 15 or 30 day free trial. I tried Eclipse but found it too complicated. Certainly there are other great IDEs around.