Платформы Python: Сайт / CMS против приложения? - PullRequest
1 голос
/ 30 марта 2012

Я немного запутался в том, что подразумевается под "веб-приложением". То есть Django позиционирует себя как «веб-фреймворк» для разработки «веб-приложений», очень похожий на описание Pyramid. То, что я ищу, - это фреймворк для приложения, которое имеет интерфейс браузера, но основано на базе данных Вкратце: это система, которая должна обрабатывать транзакции и подписки. Эти транзакции регистрируются через веб-интерфейс. Бэкэнд состоит из каналов XML / JSON этих подписок / транзакций и административного интерфейса для генерации статистики и отчетов. Совсем похоже на билетную кассу. Теперь: действительно ли это хорошее решение начать с чего-то вроде Django / Pyramid, даже если они кажутся более сфокусированными на создании «веб-сайтов», а не (масштабируемых) «приложений» ввода / вывода. Есть ли какая-нибудь среда разработки Python, которую я лучше использую, или они идеально подходят для программного обеспечения, которое я описываю? Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

3 голосов
/ 30 марта 2012

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

Django подходит как для веб-сайтов, так и для веб-приложений: вы можете создать информативный веб-сайт для своей локальной библиотеки, а также встроенное веб-приложение с множеством интерактивных функций.Django просто облегчает создание серверной части веб-системы.И веб-сайты, и веб-приложения используют базы данных, имеют кеширование и могут иметь интерактивные части с формами.

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

С технической точки зрения, нет четкой вещи, которая отделяет мир веб-сайтов от веб-приложений, это просто вопрос того, что вы создаете с помощью веб-фреймворка.

Чтобы ответить на ваш вопрос, Django вполне подходит для создания веб-приложения на основе базы данных, поскольку оно поддерживает несколько баз данных, кэширование, автоматическое создание и обработку форм и т. Д. Я могу представить, что пирамида также подходит, но яне могу ответить на это.Это хорошо, чтобы изучить ваши варианты.

1 голос
/ 30 марта 2012

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

  1. Одноуровневый - просто простое веб-приложение, использующее простое хранилище файлов или объектов
  2. Двухуровневое - Webapp + реляционная база данных.Веб-приложение содержит логику представления + бизнес-логику с использованием принципов MVC
  3. Трехуровневая - Веб-приложение + Средний уровень + База данных отношений.В этом параметре средний уровень будет в основном содержать всю логику бизнеса и обработки.Веб-приложение - это просто уровень представления

После того, как вы определитесь с архитектурой, вы можете начать думать о том, какую инфраструктуру использовать для каждого компонента архитектуры.

Я полагаю, что продвижение по этому пути будет менее запутанным и даст ясность мысли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...