Лента фигни постоянно пополняется разными штуками связанными с #GAE и родственным технологиями.
На мой призыв рассказать о своем проекте откликнулись несколько человек. Один из них согласился ответить на мои вопросы.

(ссылка с картинки ведет на сайт игры)
Gum Wars — Это казуальная стратегия с возможностью играть онлайн с другими игроками. В приложении реализован comet способом polling, т.е. браузер постоянно посылает к серверу запросы на новые события. В качестве сервера используется Google App Engine.
Автор проекта Григорий Темченко, персональный блог Soid.
Какие технологии используются на серверной стороне?
Я использовал Python, и выбор обусловлен, конечно, удобством для меня. Во-первых, у меня уже был некоторый опыт работы с ним. Во-вторых, пользуясь случаем, хочу поругать Java’вские IDE. Очень уж они медленные, а это для меня достаточно важно (недаром я все еще продолжаю использовать vim как редактор кода). А без IDE Java громоздка и страшна. В остальном я использую webapp фреймворк и разные части django, вроде шаблонов, форм, сериализации.
Какие сервисы предоставляемые Google задействованы?
Для отрисовки игры на клиенте я использовал Google Maps API 2-ой версии. Из App Engine сервисов используется memcache, datastore, queues, cron. Кажется, все.
Что можно кратко рассказать о технической реализации?
Профили пользователей и подобные постоянные записи хранятся в Datastore. Самое интересное - это обработка polling, организация потока сообщений в условиях, когда каждый пользователь присылает запрос раз в секунду. Для этого частично использован memcache, частично Datastore (для важных данных). Есть в планах кешировать в памяти App Cache, но от memcache это пока не избавит.
Сколько времени заняла реализация проекта?
В течение трех месяцев я старался выкрадывать время на выходных, праздниках и иногда по вечерам, чтобы довести проект до приемлемого состояния. Хотя основная часть была сделана в Великие русские новогодние праздники, в остальное время оказалось довольно проблематично заставить себя заняться делом, работая в режиме 5/2 и тратя 2 часа в день по дороге на работу.
Были ли какие-то сложности специфические для GAE?
Конечно, любая новая технология вызывает определенные сложности. То, к чему привыкли разработчики на SQL, оказывается неправильным в идеологии GAE, во многих привычных вещах приходиться до смешного бороться за производительность. С одной стороны это сложности, но кому-то это может оказаться “по кайфу”.
Если вы ходите задать мне или автору вопросы, то оставляйте их в комментариях к заметке.
Еще раз ссылка на сайт http://www.gumwars.com
Если у вас есть интересный проект работающий на Google App Engine, то я бы с удовольствием рассказал о нем в своем блоге
# Коментарии 2010/4/23 @ 1:10 pm