Различия между webapp и web.py

Webpy.org - Кто использует web.py?

"[web.py вдохновил] веб-структуру мы используем в FriendFeed [и] webapp рамки, поставляемые с приложением Двигатель..."
    - Бретт Тейлор, соучредитель FriendFeed и оригинал Tech в Google App Engine

Начало работы с Google App Engine для Python

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

Вопросы:
Каковы различия между webapp и webpy?
Стоит ли связывать Webpy, когда Appengine уже предлагает webapp?

Что я знаю:
1. Web.py имеет язык шаблонов (он выглядит проще, чем Django)
2. В настоящее время единственная причина, по которой я думаю об использовании web.py, - это избегать использования (и обучения) Django для шаблонов в appengine.
3. Котировки во главе этого вопроса
4. У меня через questions и через документацию webapp в Google.
5. Я заметил, что stackprinter использует web.py и размещается на appengine.

Ответ 1

опыт работы с web.py:
Я начал использовать web.py три года назад, когда я решил изучить Веб-фреймворки Python.
Первое, что мне понравилось в web.py, было его простота; Я искал необходимый микрофрейм без всех батарей, которые вы можете найти в других крупных проектах, таких как Django или Web2py, например.

Итак, я разработал несколько проектов (развернутых с fastcgi) и узнал все web.py функции библиотеки, Templetor.

Затем я обнаружил Google App Engine и начал использовать Webapp; это был скучный процесс, потому что вместо использования python (например, Templetor или Mako) он заставляет вас изучить новый синтаксис шаблонов, который по умолчанию является очень строгим.
При разработке StackPrinter я обнаружил, что Google App Engine поддерживается в Интернете. py, поэтому я удалил Sqlite, сделал некоторые небольшие изменения и начал использовать хранилище данных GAE.

Web.py была моей первой любовью с точки зрения веб-фреймворков Python, и справедливо сказать, что я немного склонен говорить об этом.
Я придерживаюсь web.py для моего любимого проекта на GAE, потому что я свободно говорю об этом, а храмовый объект молниеносно. Мне нравится, что я могу использовать Python для шаблонов и простой способ совместного использования некоторых данных или функций по глобальным представлениям, мне также нравится богатый набор инструментов утилиты для кодирования, уценки и т.д.

Webapp vs web.py:
Я считаю несправедливым сравнивать их, потому что Webapp - простая структура, которая просто предоставляет минимальные простые инструменты для начала работы; многие функции отсутствуют, как I18n, валидация, processors или даже основная обработка файлов cookie.
Проверьте Webapp-improved для чего-то лучшего.

Моя рекомендация:
Если вы уделяете основное внимание разработке Google App Engine, я бы порекомендовал вам перейти с некоторой картой, созданной специально для GAE, например Tipfy. < ш > Если вы ищете pythonic web framework для работы с вашими побочными проектами, web.py - хороший проект study и следовать.

Ответ 2

Различия между webapp и web.py

Основные отличия (IMHO) заключаются в следующем:

  • Структура webapp была разработана специально для Google App Engine (GAE). Структура web.py не была специально разработана для GAE.
    • "Webapp Framework - это набор инструментов по умолчанию для создания веб-приложений [в Google App Engine], но не единственный." (Источник: Разработка с помощью Google App Engine от Eugene Ciurana)
  • Они используют разные языки шаблонов .web.py использует свой собственный, тогда как язык шаблонов webapp основан на Django.

Другие рамки Python для GAE

Другие рамки Python для GAE, ни один из которых не использует язык шаблонов Django, включают:

  • Flask - "Микрофрейм для Python на основе Werkzeug, Jinja 2 и добрые намерения".
  • tipfy - небольшая, но мощная инфраструктура, созданная специально для Google App Engine. Она очень похожа на webapp, но предлагает множество функций и лакомств, которые пропускает Webapp: i18n, сеансы, собственная аутентификация, флэш-сообщения и т.д. Все в модульном, легком способе, настроенном на App Engine. "

Стоит ли связывать Webpy, когда Appengine уже предлагает webapp?

Лично я считаю, что стоит использовать что-то помимо webapp. Однако я бы наклонился к Flask или tipfy.

Алекс Мартелли одобряет tipfy в своем ответе на вопрос SO Google App Engine - Безопасные файлы cookie. Основной вывод для меня из ответа Алекс заключается в том, что tipfy:

  • Предназначен для работы с GAE
  • Легкий вес
  • Содержит встроенные функции, которые вы часто хотите

Ответ 3

Они очень похожи, просто случается, что webapp больше подходит для GAE, чем web.py. webapp очень мал и определенно оптимизирован для написания для App Engine, поэтому, если ваша чашка чая, вы должны использовать его. Вы сказали, что не хотите использовать систему шаблонов Django (я не знаю, почему, это довольно легко), к чему по умолчанию работает webapp. Система шаблонов может быть изменена, но я рекомендую вам попробовать попробовать двигатель Django.

Тем не менее, если вам это не нравится, сложно создать новую структуру (в основном, что-то, что должен выполнять WSGI-совместимый). Если вы хотите использовать web.py, обязательно настройте его, но вам, возможно, придется немного поработать над настройкой и настроить все, чтобы работать.