Django and Google App engine
Update: prove.com.au layout has been fixed!
So Mark finally got bothered to whip up a wordpress blog for us. Nice one....
As he seems to have a list with things he'll never get around to doing, I might as well get one up as well.
- Fix layout on prove.com.au
I never said it had to be a long list...
So I started playing with Django and Google's App Engine. I'll try and explain my first thoughts individually and then a little about what i think of them combined.
Django
I genuinely like Django. If I had to describe it in a single word it would be 'concise'. They really do take the DRY (don't repeat yourself) principle seriously. It's auto admin system is incredibly powerful and can be setup with very little effort. The Model Template View architecture is clear and well implemented. The model stack is exceptionally powerful and is able to sync the database automatically making migrations a piece of cake. The template language is very simple and can be picked up in minutes (given you are already familiar with HTML). Lastly, its routing and URL handling is incredibly advanced, and has a very cool generic view system which allows you to setup simple view actions automatically.
My only concern is that it's current popularity is overshadowed by some other frameworks such as its red cousin ruby on rails. This may not sound like a valid argument to some, but it does make a massive difference when considering active discussion and plugins. Hopefully this should rapidly change over the next few years.
Google App Engine
First the good. I think app engine is revolutionary. Instead of having to worry about a distributed system with load balancing, I can now consider my hardware stack a giant auto-elastic server with virtually unlimited resources. Google is also very genrous with the free quota, for any normal app, you will not go anywhere near the limits set per day.
However with the good must alas come the bad and there are too many to list here. To keep it in one sentence, Google App Engine is good for one app, Google search. You must use either Python or Java, you must know Datastore/GQL, no GQL results beyond 1000 rows (sound familiar?). App engine currently have some limits that seriously scare me. I hope they will lift this over time.
With your powers combined, I am....
Not quite captain planet. The problem comes down to the model stack. Django uses SQL, App Engine uses Datastore/GQL which to me is a huge issue. By putting your app on App Engine, you instantly lose your django admin system, sessions and will likely have to refactor your entire model layer to accommodate. Given Django's DRY principle (Fat models, skinny views), this would probably mean ~50% of your codebase.
In conclusion, I think I'm going to keep playing with Django, but give app engine a rest.... for now.
New Look for Higher Logic
Welcome to the new look of Higher Logic!! Its been 3 years and I finally got off my ass and put up wordpress =). Keep an eye out on this space for info on our latest projects and inane ramblings from Tony and myself …
In the next month we are looking to wrap up our courses.com.au project (Yahoooooooo!!!) and our first iPhone app. Couple of things on my plate right now:
- Wrap up courses.com.au
- Clean up and release our first iPhone app
- Slaying the Atlassian dragon, I got in on the $10 deal went a little overboard and bought everything atassian had on offer Here Be Dragons
- Clean up the dev server … its quite yukky
- Hookup my shiny new mac mini with shiny yet to arrive Elgato Eyetv 250 as my new media setup
- Watch some good old anime!!!