Вопрос

Хочу сделать очень маленький, быстрый и грязный побочный проект.Мне нравится тот факт, что Google App Engine работает на Python со встроенным Django — это дает мне повод попробовать эту платформу...но мой вопрос заключается в следующем:

Кто-нибудь использовал движок приложения для чего-то другого, кроме игрушечных задач?Я вижу несколько хороших примеров приложений, поэтому я предполагаю, что это достаточно хорошо для реальной сделки, но хотел бы получить некоторые отзывы.

Любые другие заметки об успехах/неудачах были бы хороши.

Это было полезно?

Решение

Я попробовал движок приложения для своего небольшого приложения Quake Watch.http://quakewatch.appspot.com/

Моей целью было увидеть возможности движка приложения, поэтому вот основные моменты:

  1. Он не поставляется по умолчанию с Django, у него есть своя собственная веб -структура, которая, как у Pythonic, есть диспетчер URL, такой как Django, и использует шаблоны Django, поэтому, если у вас есть Django Exp.вы обнаружите, что им легко пользоваться
  2. Вы не можете выполнить какой -либо длительный процесс на сервере, то, что вы делаете, это отвечать на запрос, и что должно быть быстро на собственном сервере
  3. Мое приложение QuakeWatch имеет функцию подписки, это означает, что мне пришлось отправлять по электронной почте последние Quakes по мере их воспитания, но я не могу запустить фоновый процесс в App Engine для мониторинга новых Quakes Solution здесь - это использовать услуги третьей детали, такую ​​как pingablity.com, который может Подключитесь к одной из вашей страницы и которая выполняет подписку по электронной почте, но здесь также вам придется позаботиться о том, чтобы вы не проводили здесь много времени или разбивайте задачу на несколько частей
  4. Он предоставляет возможности моделирования, аналогичные Django, но серверная часть совершенно другая, но для нового проекта это не имеет значения.

Но в целом я считаю, что он отлично подходит для создания приложений, не требующих большой фоновой обработки.

Редактировать:Сейчас очереди задач может использоваться для запуска пакетной обработки или запланированных задач

Редактировать:после года работы/создания реального приложения на GAE, теперь я считаю, что, если вы не создаете приложение, которое необходимо масштабировать до миллионов и миллионов пользователей, не используйте GAE.Поддержание и выполнение тривиальных задач в GAE является головной болью из-за распределенного характера: чтобы избежать ошибок превышения срока, подсчета сущностей или выполнения сложных запросов, требуется сложный код, поэтому небольшие сложные приложения должны использовать LAMP.

Редактировать:Модели должны быть специально разработаны с учетом всех транзакций, которые вы хотите проводить в будущем, поскольку в транзакции могут использоваться только сущности из одной и той же группы сущностей, и это превращает процесс обновления двух разных групп в кошмар, например.перевод денег от пользователя 1 к пользователю 2 в транзакции невозможен, если они не находятся в одной группе сущностей, но создание одной группы сущностей может быть не лучшим решением для целей частого обновления....прочитай это http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine

Другие советы

Я использую GAE для размещения нескольких приложений с высоким трафиком.Примерно порядка 50-100 запросов/сек.Это здорово, я не могу не порекомендовать его.

Мой предыдущий опыт веб-разработки был связан с Ruby (Rails/Merb).Изучать Python было легко.Я не возился с Django, Pylons или какой-либо другой платформой, просто начал с примеров GAE и построил то, что мне нужно, из имеющихся базовых библиотек веб-приложений.

Если вы привыкли к гибкости SQL, к хранилищу данных придется привыкнуть.Ничего травматичного!Самая большая корректировка — это отказ от JOIN.Вы должны отказаться от идеи, что нормализация имеет решающее значение.

Бен

Одной из веских причин использования Google App Engine, с которой я столкнулся, является его интеграция со Службами Google для вашего домена.По сути, он позволяет вам создавать собственные управляемые веб-приложения, которые ограничены (контролируемыми) входами в систему вашего домена.

Большая часть моего опыта работы с этим кодом заключалась в создании простого приложения для отслеживания времени и задач.Механизм шаблонов был простым, но в то же время делал многостраничное приложение очень доступным.API входа в систему/пользователя также полезен.Мне удалось без особых проблем создать парадигму общедоступной/частной страницы.(пользователь войдет в систему, чтобы увидеть частные страницы.Анонимному пользователю была показана только общедоступная страница.)

Я как раз приступил к части проекта, связанной с хранилищем данных, когда меня отстранили от «настоящей работы».

Я смог сделать очень многое (это еще не сделано) за очень небольшой промежуток времени.Поскольку я никогда раньше не использовал Python, это было особенно приятно (и потому, что это был новый для меня язык, и потому, что разработка, несмотря на новый язык, все еще шла быстро).Я столкнулся с очень малым количеством вещей, которые заставили меня поверить, что я не смогу выполнить свою задачу.Вместо этого у меня сложилось довольно положительное впечатление о функциональности и возможностях.

Это мой опыт работы с этим.Возможно, это не что иное, как незавершенный игрушечный проект, но это действительно информированное испытание платформы, и я надеюсь, что это поможет.

Идея «App Engine под управлением Django» немного вводит в заблуждение.App Engine заменяет весь уровень модели Django, поэтому будьте готовы потратить некоторое время на привыкание к хранилищу данных App Engine, которое требует другого способа моделирования и мышления о данных.

Я использовал GAE для сборки http://www.muspy.com

Это немного больше, чем игрушечный проект, но и не слишком сложный.Я все еще рассчитываю на решение некоторых вопросов со стороны Google, но в целом разработка веб-сайта доставила мне массу удовольствия.

Если вы не хотите заниматься вопросами хостинга, администрирования серверов и т. д., однозначно могу порекомендовать.Особенно, если вы уже знаете Python и Django.

Я думаю, что App Engine на данный момент очень хорош для небольших проектов.Можно многое сказать о том, что вам никогда не придется беспокоиться о хостинге.API также подталкивает вас к созданию масштабируемых приложений, что является хорошей практикой.

  • app-engine-patch является хорошим промежуточным звеном между Django и App Engine, позволяющим использовать приложение для аутентификации и многое другое.
  • Google пообещал разработать соглашение об уровне обслуживания и модель ценообразования к концу 2008 года.
  • Запросы должны выполняться в течение 10 секунд, подзапросы к веб-сервисам — в течение 5 секунд.Это заставляет вас разрабатывать быстрое и легкое приложение, перекладывая серьезную обработку на другие платформы (например,размещенная служба или экземпляр EC2).
  • Скоро появятся новые языки!Хотя Google не говорит, что именно :-).Дальше мои деньги на Java.

На этот вопрос был дан полный ответ.И это хорошо.Но, пожалуй, стоит упомянуть одну вещь.В движке приложений Google есть плагин для eclipse ide, работать с которым одно удовольствие.

Если вы уже занимаетесь разработкой с помощью eclipse, вы будете этому очень рады.

Для развертывания на веб-сайте движка приложений Google все, что мне нужно сделать, это нажать одну маленькую кнопку — с логотипом самолета — супер.

Взгляните на SQL-игра, он очень стабилен и в какой-то момент даже увеличил ограничения на трафик, так что Google его задушил.Я не видел ничего, кроме хороших новостей о App Engine, кроме размещения вашего приложения на серверах, которые полностью контролирует кто-то другой.

Я использовал GAE для создания простого приложения, которое принимает некоторые параметры, форматы и отправляет электронную почту.Это было чрезвычайно просто и быстро.Я также провел несколько тестов производительности хранилища данных GAE и служб кэша памяти (http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ).Это не так быстро.Я считаю, что GAE — это серьезная платформа, которая применяет определенную методологию.Я думаю, что она превратится в по-настоящему масштабируемую платформу, где плохие практики просто не допускаются.

Я использовал GAE для своего сайта с флэш-играми. Бородатые игры.GAE — отличная платформа.Я использовал шаблоны Django, которые намного проще, чем старые времена PHP.Он поставляется с отличной административной панелью и дает действительно хорошие журналы.Хранилище данных отличается от базы данных, такой как MySQL, но с ним гораздо проще работать.Создать сайт было легко и просто, и на сайте есть много полезных советов.

Я использовал GAE и Django для создания приложения Facebook.я использовал http://code.google.com/p/app-engine-patch в качестве отправной точки, поскольку он поддерживает Django 1.1.Я не пытался использовать какие-либо команды Manage.py, поскольку предполагал, что они не сработают, но я даже не вникал в это.Приложение имело три модели, а также использовало pyfacebook, но на этом вся сложность была.Я работаю над гораздо более сложным приложением, о котором начинаю писать в блоге. http://brianyamabe.com.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top