Хотите сделать очень маленький, быстрый и грязный побочный проект. Мне нравится тот факт, что Google App Engine работает на Python со встроенным Django - это дает мне повод попробовать эту платформу ... но мой вопрос таков:
Кто-нибудь использовал движок приложения для чего-нибудь, кроме игрушечной? Я вижу там несколько хороших примеров приложений, поэтому я предполагаю, что этого достаточно для реальной сделки, но хотел получить некоторые отзывы.
Любые другие заметки об успехе / неудаче были бы замечательными.






Взгляните на sql игра, он очень стабилен и фактически увеличил ограничения трафика в какой-то момент, так что он был ограничен Google. Я не видел ничего, кроме хороших новостей о App Engine, кроме размещения вашего приложения на серверах, полностью контролируемых кем-то другим.
sql игра переехала с Google App Engine на частный сервер.
Идея «App Engine, работающего с Django» немного вводит в заблуждение. App Engine заменяет весь уровень модели Django, поэтому будьте готовы потратить некоторое время на освоение хранилища данных App Engine, которое требует другого способа моделирования и осмысления данных.
Хороший момент - кажется, что он по умолчанию берет на себя создание шаблонов Django, но не обязательно все остальное.
Я пробовал движок приложения для моего небольшого приложения для наблюдения за землетрясениями http://quakewatch.appspot.com/
Моей целью было увидеть возможности движка приложения, поэтому вот основные моменты:
Но в целом я считаю, что он отлично подходит для создания приложений, которые не нуждаются в большой фоновой обработке.
Редактировать: Теперь очереди задач можно использовать для выполнения пакетной обработки или запланированных задач.
Редактировать: после работы / создания реального приложения на GAE в течение года, теперь я считаю, что, если вы не создаете приложение, которое нужно масштабировать до миллиона и миллионов пользователей, не используйте GAE. Поддержание и выполнение тривиальных задач в GAE является головной болью из-за распределенного характера, чтобы избежать ошибок превышения крайнего срока, подсчета объектов или выполнения сложных запросов требуется сложный код, поэтому небольшое сложное приложение должно придерживаться LAMP.
Редактировать: Модели должны быть специально разработаны с учетом всех транзакций, которые вы хотите проводить в будущем, потому что в транзакции могут использоваться сущности только из одной и той же группы сущностей, и это делает процесс обновления двух разных групп кошмаром, например. перевод денег от пользователя user1 к пользователю2 в транзакции невозможен, если они не находятся в одной группе объектов, но создание их одной группы объектов может быть не лучшим вариантом для целей частого обновления .... прочтите это http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine
Теперь пакетный процесс можно запустить в GAE.
Ознакомьтесь с новым API очереди задач Python также в документации App-Engine.
Большая часть этой информации устарела - Django 0.96 теперь встроен в GAE с 17 июля 2009 года.
Django 1.0.x теперь также включен в GAE. Вы можете выбрать нужную версию Django.
Еще одно обновление, Django 1.1 теперь доступно с GAE, а также с предыдущими версиями.
Еще одно обновление: вам больше не нужно вводить классы Django в GAE с помощью помощника или патча. джанго-нерел исправляет Django для работы поверх любого нереляционного хранилища, включая GAE. Это означает, что вы можете запускать приложение Django непосредственно поверх GAE без каких-либо изменений модели.
Задачи и задания cron теперь выполняются до 10 минут.
Еще одно обновление: вы можете использовать функции Django 1.2.6 с GAE (февраль 2011 г.) в соответствии с goo.gl/QbIL2, однако в самом App Engine доступны только версии 0.96 и 1.2.6. вам необходимо связать, если вы используете другие версии.
Если вы хотите использовать SSL в пользовательских доменах, забудьте об этом!
SDK поставляется с 3 версиями django.
Одна из веских причин, по которой я использовал Google App Engine, - это его интеграция с Google Apps для вашего домена. По сути, он позволяет вам создавать настраиваемые управляемые веб-приложения, которые ограничены (контролируемыми) входами в ваш домен.
По большей части мой опыт работы с этим кодом связан с созданием простого приложения для отслеживания времени / задач. Механизм шаблонов был прост, но при этом делал многостраничное приложение очень доступным. Api входа в систему / осведомленности пользователя также полезен. Я смог создать парадигму публичной / частной страницы без особых проблем. (пользователь должен войти в систему, чтобы увидеть частные страницы. Анонимному пользователю была показана только общедоступная страница.)
Я как раз входил в часть проекта, посвященную хранилищу данных, когда меня отстранили для «настоящей работы».
Мне удалось добиться многого (это еще не сделано) за очень небольшой промежуток времени. Поскольку я никогда раньше не использовал Python, это было особенно приятно (как потому, что это был новый для меня язык, так и потому, что разработка шла быстро, несмотря на новый язык). Я столкнулся с очень немногим, что заставило меня поверить в то, что я не смогу выполнить свою задачу. Вместо этого у меня довольно положительное впечатление о функциональности и возможностях.
Таков мой опыт с этим. Возможно, это не более чем незавершенный игрушечный проект, но он представляет собой осознанное испытание платформы, и я надеюсь, что это поможет.
Практически идентично моей ситуации - не считая "настоящей работы", но все же кое-что, что мне нужно сделать и в конце концов иметь функциональные возможности.
То же самое. Кроме того, большим плюсом является то, что установка среды разработки выполняется совсем несложно (вы пишете код в течение минуты). То же самое и для развертываний.
Я использовал GAE для сборки http://www.muspy.com
Это немного больше, чем игрушечный проект, но и не слишком сложный. Я по-прежнему полагаюсь на то, что Google решит несколько вопросов, но в целом разработка веб-сайта была приятным занятием.
Если вы не хотите заниматься проблемами хостинга, администрирования серверов и т. д., Я определенно могу порекомендовать это. Особенно, если вы уже знаете Python и Django.
Я думаю, что App Engine на данный момент довольно хорош для небольших проектов. Есть много чего сказать, чтобы никогда не беспокоиться о хостинге. API также подталкивает вас к созданию масштабируемых приложений, что является хорошей практикой.
с февраля 2009 г. многие из вышеперечисленных ограничений были сняты.
Если кто-то может отредактировать этот ответ, было бы неплохо отразить, что Java действительно является следующим доступным языком.
@jhs Ваш комментарий прекрасно это делает!
И язык Go теперь тоже поддерживается!
Я использую GAE для размещения нескольких приложений с высоким трафиком. Вроде порядка 50-100 запросов / сек. Это здорово, я не могу этого рекомендовать.
Мой предыдущий опыт веб-разработки был с Ruby (Rails / Merb). Изучить Python было легко. Я не возился с Django, Pylons или любым другим фреймворком, просто начал с примеров GAE и построил то, что мне нужно, из базовых библиотек веб-приложений, которые предоставляются.
Если вы привыкли к гибкости SQL, к хранилищу данных может потребоваться некоторое время. Ничего особенного! Самая большая корректировка - отход от JOIN. Вы должны отказаться от идеи, что нормализация имеет решающее значение.
Бен
Я использовал GAE и Django для создания приложения Facebook. Я использовал http://code.google.com/p/app-engine-patch в качестве отправной точки, поскольку он поддерживает Django 1.1. Я не пробовал использовать какие-либо команды manage.py, потому что предполагал, что они не будут работать, но я даже не изучал их. В приложении было три модели, а также использовался pyfacebook, но это была степень сложности. Я нахожусь в процессе создания гораздо более сложного приложения, о котором я начинаю писать в блоге на http://brianyamabe.com.
Я начал использовать manage.py для запуска сервера, а также для запуска некоторых модульных тестов. Запуск сервера работает нормально, но поскольку мое приложение работает как приложение Facebook, это не так уж и полезно (мне нужен размещенный сервер, на который ссылается Facebook). Модульное тестирование тоже работало, и оно работало даже с приборами. Однако мне не удалось заставить работать приборы, ссылающиеся на другие модели. Я до сих пор не понял, проблема ли это в моем приспособлении или проблема с патчем app-engine.
Я использовал GAE для создания простого приложения, которое принимает некоторые параметры, форматы и отправляет электронную почту. Это было очень просто и быстро. Я также сделал несколько тестов производительности хранилища данных GAE и служб memcache (http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html). Это не так быстро. Я считаю, что GAE - это серьезная платформа, которая применяет определенную методологию. Я думаю, что она превратится в действительно масштабируемую платформу, где плохие методы просто недопустимы.
Я использовал GAE для своего сайта с флеш-играми, Бородатые Игры. GAE - отличная платформа. Я использовал шаблоны Django, которые намного проще, чем старые времена PHP. Он поставляется с отличной админ-панелью и дает вам действительно хорошие журналы. Хранилище данных отличается от базы данных, такой как MySQL, но с ним намного проще работать. Создание сайта было простым и понятным, и у них есть много полезных советов по сайту.
На этот вопрос дан полный ответ. И это хорошо. Но, пожалуй, стоит упомянуть одну вещь. В движке приложений Google есть плагин для eclipse ide, с которым приятно работать.
Если вы уже занимаетесь разработкой с помощью eclipse, вы будете очень этому рады.
Для развертывания на веб-сайте движка приложений Google все, что мне нужно сделать, это нажать одну маленькую кнопку - с логотипом самолета - супер.
должно быть вики сообщества