Какой фреймворк веб-разработки лучше всего работает с Google App Engine?[закрыто]

StackOverflow https://stackoverflow.com/questions/740566

Вопрос

Теперь, когда Google разрешает Java в App Engine, мне интересно, как это влияет на выбор веб-фреймворка для App Engine.

  1. Я понимаю, что Google предоставляет webapp фреймворк, который довольно прост.
  2. И версия django .96, которая доступна для App Engine, является ограничительной.
  3. web2py сжигает ресурсы, насколько я слышал.
  4. Rails (теперь доступный) не может использовать ActiveRecord, ActiveResource, restclient, rmagick.

Есть ли что-то, чего мне не хватает - хорошо ли работают какие-либо фреймворки в App Engine?

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

Решение

Лично я нахожу Python более увлекательным.Это всего лишь я.Однако есть несколько опытных Java-разработчиков, которые по достоинству оценят поддержку Java в GAE.Кроме того, поддержка Java была хорошим выбором Google, поскольку это позволит платформе GAE потенциально использовать множество других языков.Очевидно, что немного рано ожидать, что все языки, основанные на JVM, будут работать на GAE, но будущее выглядит многообещающим.На данный момент мы можем посмотреть, что работает, а что нет, взглянув на эта Страница группы GAE Java.

Возвращаясь к Python, я думаю, что небольшие веб-приложения будут отлично работать со встроенной платформой webapp.Другие приложения получат больше пользы от Django 1.0.Взгляните на Изделия GAE в разделе "фреймворки" вы найдете несколько хороших статей по этому поводу.В любом случае, у вас, несомненно, будут ограничения в любом из ваших вариантов, поскольку большинство веб-фреймворков разрабатываются с учетом реляционных баз данных ...которым хранилище данных / bigtable не является.Кроме того, платформа GAE должна быть изолирована по соображениям безопасности, что также в некоторой степени ограничивает вас.Надеюсь, это поможет.

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

На самом деле web2py очень легкий, и начиная с ~ 1.50 на GAE, он кэширует все скомпилированные байт-кодом модели / представления / контроллеры.

Тем не менее, вы должны учитывать, что по умолчанию is имеет сеансы на основе хранилища данных, и это может добавить некоторые накладные расходы по сравнению с фреймворком, у которого нет сеансов, работающих на GAE (по крайней мере, не по умолчанию).

Сам web2py DAL не добавляет значительных накладных расходов по сравнению с наивными API хранилища данных Google.

Попробуй Весна.Он поддерживает JPA и JDO.

Есть даже Версия Python теперь уже к весне.

Я не знаю точно всего спектра вариантов, но могу рассказать вам пару вещей с места в карьер...

  • Приложения Google построены поверх / с использованием Django.
  • Django - это в значительной степени то, что поддерживают Google Apps, поэтому я ожидаю, что он будет интегрироваться с Google Apps лучше, чем другие.
  • В Google Apps встроены ограничения, которые вы не может обходить (или не следует).Эти ограничения не связаны с каким-либо конкретным фреймворком, скорее они встроены, так сказать, в структуру приложений.
  • Я бы не стал сильно беспокоиться о производительности фреймворка - попробуйте улучшить свой дизайн / структуру, это, безусловно, лучше окупится.
  • Google в конечном итоге перейдет на Django 1.0 и новее, плюс они также обновляют Google Apps.
  • Они действительно используют memcache (или эквивалент), так что примите это во внимание и используйте его.

Это действительно зависит от того, что вы хотите сделать.По моему опыту, что-то небольшое, сделанное вручную поверх Webob, действительно подходит для API.Но для полноценных сайтов, которым нужны шаблоны / сеансы / сложная маршрутизация / кэширование, django трудно превзойти.

Примите во внимание, что если у вас огромные фреймворки (например, django 1.0), первый запрос всегда занимает около 3 секунд, чтобы загрузить все в память, и сохраняет его там до 15 секунд после этого запроса.

И пока вы ходите по магазинам в поисках фреймворков, примите во внимание, что:

  • ORM не применимы к платформе, поэтому в принципе не имеют значения.
  • Быстрые шаблоны (такие как Cheetah) не будут быстрыми (или даже работать), поскольку они не могут использовать расширения c.
  • Кэширование может быть самой важной вещью, позволяющей сделать все быстро.

Если вы ищете Python, то Джанго это был бы ваш лучший выбор.

Предполагается, что Struts 2 работает на Google App Engine (по крайней мере, с точки зрения примеров приложений).Следуйте этой теме:

http://www.nabble.com/Google-App-Engine-support--td22972179.html

Похоже, что есть некоторые проблемы с Sitemesh с точки зрения шаблонов, но если вы используете JSP, у вас все должно быть в порядке.

Это хороший выбор в качестве фреймворка веб-приложения.

Я рекомендую web.py если вы используете Python.

Я использую новая структура Фреймворк GAE.Это похоже на Django, но работает на AppEngine.

С наилучшими пожеланиями!

Для использования на Python веб - приложение 2 (поставляется в комплекте с App engine)

Если вы хотите создать крупномасштабное приложение и нуждаетесь в более гибкой платформе, то вы можете взглянуть на Основа Пирамиды Питона .Ранее это называлось Пилонами.Есть много хороших компаний, использующих этот фреймворк.

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