Nano Hash - криптовалюты, майнинг, программирование

Фреймворки Python: веб-сайт/CMS или приложение?

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


Ответы:


1

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

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

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

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

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

30.03.2012
  • Pyramid гораздо более низкоуровневый и без излишеств, чем Django — можно было бы портировать Django для работы поверх Pyramid. Разница между ними в том, что один дает гораздо больше контроля, а другой дает гораздо больше удобства. 15.02.2013

  • 2

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

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

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

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

    30.03.2012
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..