Ищете небольшой, быстрый "грязный" проект. Мне нравится, что Google App Engine работает на Python с встроенным Django - дает мне повод попробовать эту платформу... но мой вопрос таков:
Кто-нибудь использовал движок приложения для чего-либо, кроме проблемы с игрушкой? Я вижу неплохие примеры приложений там, поэтому я бы предположил, что это достаточно хорошо для реальной сделки, но хотел получить обратную связь.
Любые другие примечания об успехах/сбоях будут отличными.
Я попробовал движок приложения для моего небольшого приложения для наблюдения за землетрясением http://quakewatch.appspot.com/
Моя цель состояла в том, чтобы увидеть возможности движка приложения, поэтому вот основные моменты:
Но в целом я считаю, что он отлично подходит для создания приложений, для которых не требуется много фоновой обработки.
Изменить: Теперь очереди задач могут использоваться для запуска пакетной обработки или запланированных задач
Изменить: после работы/создания реального приложения на GAE в течение года, теперь мой взгляд заключается в том, что, если вы не делаете приложение, которое должно масштабироваться до миллионов и миллионов пользователей, не используйте GAE. Поддержание и выполнение тривиальных задач в GAE является головной болью из-за распределенной природы, чтобы избежать крайнего срока превышения ошибок, подсчета сущностей или выполнения сложных запросов требует сложного кода, поэтому небольшое сложное приложение должно придерживаться LAMP.
Изменить: Модели должны быть специально разработаны с учетом всех транзакций, которые вы хотите иметь в будущем, поскольку сущности только в одной группе лиц могут использоваться в транзакции, и это делает процесс обновления двух разных групп кошмаром, например. перевести деньги с user1 на user2 в транзакцию невозможно, если они не находятся в одной группе лиц, но создание их одной и той же группы лиц может быть не лучшим для частых целей обновления.... прочитайте это http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine
Я использую GAE для размещения нескольких приложений с высоким трафиком. Как по порядку 50-100 req/sec. Это здорово, я не могу рекомендовать его достаточно.
Мой предыдущий опыт работы с веб-разработкой был с Ruby (Rails/Merb). Обучение Python было легко. Я не связывался с Django или Pylons или какой-либо другой инфраструктурой, просто начал с примеров GAE и создал то, что мне нужно, из базовых библиотек webapp, которые предоставляются.
Если вы привыкли к гибкости SQL, то хранилище данных может привыкнуть. Ничего страшного! Самая большая корректировка отходит от JOIN. Вы должны отказаться от идеи, что нормализация имеет решающее значение.
Бен
Одной из веских причин, по которым я столкнулся с использованием Google App Engine, является его интеграция с Google Apps для вашего домена. По сути, это позволяет создавать пользовательские управляемые веб-приложения, которые ограничены (контролируемыми) входами вашего домена.
Большая часть моего опыта работы с этим кодом заключалась в создании простого приложения отслеживания времени/задач. Механизм шаблонов был прост и все же сделал многостраничное приложение очень доступным. Подобным же образом полезная информация о пользователе/пользователе api. Я смог сделать парадигму открытой страницы/частной страницы без лишних проблем. (пользователь должен войти в систему, чтобы просмотреть личные страницы. Анонимному пользователю была показана только открытая страница.)
Я просто попадал в часть хранилища данных, когда меня оттащили за "настоящую работу".
Мне удалось выполнить многое (это еще не сделано) за очень короткое время. Поскольку я никогда раньше не использовал Python, это было особенно приятно (и потому, что это был новый язык для меня, а также потому, что разработка была еще быстрой, несмотря на новый язык). Я столкнулся с очень маленьким, что заставило меня поверить, что я не смогу выполнить свою задачу. Вместо этого у меня есть довольно положительное впечатление о функциональности и возможностях.
Это мой опыт. Возможно, это не больше, чем незавершенный игрушечный проект, но он представляет собой обоснованное испытание платформы, и я надеюсь, что это поможет.
Идея "App Engine running Django" немного вводит в заблуждение. App Engine заменяет весь слой модели Django, поэтому будьте готовы потратить некоторое время на акклиматизацию с помощью хранилища данных App Engine, который требует другого способа моделирования и анализа данных.
Я думаю, что App Engine довольно круто для небольших проектов на данный момент. Там много можно сказать, чтобы не беспокоиться о хостинге. API также подталкивает вас к созданию масштабируемых приложений, что является хорошей практикой.
Я использовал GAE для сборки http://www.muspy.com
Это немного больше, чем игрушечный проект, но не слишком сложный. Я по-прежнему полагаюсь на несколько вопросов, которые должны быть рассмотрены Google, но общее развитие веб-сайта было приятным.
Если вы не хотите заниматься вопросами хостинга, администрированием сервера и т.д., я могу определенно рекомендовать его. Особенно, если вы уже знаете Python и Django.
На этот вопрос был дан полный ответ. И это хорошо. Но, наверное, стоит упомянуть одно. У движка google есть плагин для идеала eclipse, с которым приятно работать.
Если вы уже делаете свое развитие с помощью eclipse, вы будете так счастливы в этом.
Чтобы развернуть на веб-сайте движка Google все, что мне нужно сделать, это нажать одну маленькую кнопку - с логотипом самолета - супер.
Я использовал GAE для своего сайта для флеш-игр, Бородатые игры. GAE - отличная платформа. Я использовал шаблоны Django, которые намного проще, чем старые времена PHP. Он поставляется с большой панелью администратора и дает вам действительно хорошие журналы. Хранилище данных отличается от базы данных, например MySQL, но с ней гораздо проще работать. Создание сайта было простым и понятным, и у них есть много полезных советов на сайте.
Я использовал GAE для создания простого приложения, которое принимает некоторые параметры, форматирует и отправляет электронную почту. Это было очень просто и быстро. Я также сделал некоторые тесты производительности в службах хранилища данных и службы memcache (http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html). Это не так быстро. Мое мнение таково, что GAE - серьезная платформа, обеспечивающая определенную методологию. Я думаю, что он будет развиваться до действительно масштабируемой платформы, где плохие практики просто не разрешены.
Посмотрите SQL-игра, она очень стабильна и фактически толкает ограничения трафика в один момент, так что она Google. Я не видел ничего, кроме хороших новостей об App Engine, кроме размещения вашего приложения на серверах, которые кто-то еще контролирует полностью.
Я использовал GAE и Django для создания приложения Facebook. Я использовал http://code.google.com/p/app-engine-patch в качестве отправной точки, так как он поддерживает Django 1.1. Я не пытался использовать какие-либо команды manage.py, потому что предположил, что они не сработают, но я даже не заглянул в него. Приложение имело три модели, а также использовало pyfacebook, но это была сложность. Я занимаюсь созданием гораздо более сложного приложения, о котором я начинаю писать в блоге http://brianyamabe.com.