Google App Engine to świetne narzędzie do tworzenie dynamicznych stron oraz aplikacji webowych.
Ale to nie wszystko, bo to również darmowy hosting tych aplikacji + baza danych i wiele innych pożytecznych funkcji włącznie z panelem administracyjnym.
Co o bazie danych i języku Gql?
Niby obiektowe, ale z możliwością zadawania zapytań w języku gql - googlowa wersja sql'a :)
Co więcej zapytanie do bazy zwraca kolekcję obiektów.
Wpis w bazie jest obiektem stworzonej przez nas klasy, po kontakcie z ZODB czy Gadfly nie powinno to już nikogo dziwić.
Prosty przykład:
class BazaObiektow(db.Model):
author = db.UserProperty()
title = db.StringProperty()
body = db.TextProperty()
obiekty = db.GqlQuery("SELECT * FROM BazaObiektow")
# oczywiście można dodać jeszcze WHERE :)
# GqlQuery Class
for obiekt in obiekty:
#iterujemy po obiektach
self.response.out.write(str(obiekt.author) + '...wypisujemy co chcemy')
A jak się pisze kontroler i widok:
też fajnie, jest nawet system template'ów, co do google.appengine.api i cgi jest, jak narazie, troche słabo udokumentowane - trzeba się dużo naszukać, żeby znaleść informacje jak na przykład zapisać ciastka. Chociaż można się tego domyśleć :)
Dla zabawy napisałem prostą aplikacyjke do operacji na obrazach: zmiana wielkości( resize), obracanie o kąt( wielokrotność 90 stopni), odbicie symetryczne i poprawa kontrastu - a wszystko w oparciu o google.appengine.api - klasa images.
Można testować tutaj:
My Imagesaha, aplikacja jest po angielsku, ale łatwo się pokumać jakie funkcje do czego służą.
No i to by było na tyle...
Podsumowując - google app engine wywiera pozytywne wrażenia :)