Я собираюсь кратко обратиться к каждой области для трех популярных платформ Python. Это только основано на моем личном опыте и наблюдениях.
Для TurboGears, Опор и Django, скорость разработки примерно равна. Будучи современными платформами, легко начать на новом сайте и начать бросать вместе страницы. Python заметно быстр, чтобы разработать и отладить, и я поместил бы любую платформу Python как наличие более короткого времени разработки, чем какая-либо другая установка, я работал с (включая PHP, Perl, Встроенный Perl и C#/ASP.Net).
Если Вы знаете Python и готовы смотреть 20-минутное видео учебное руководство, можно создать довольно полный сайт типа Wiki с нуля. Или можно идти через учебное руководство по сайту социальных закладок через 30 минут (включая установку). Это примеры TurboGears, но другие две платформы имеют почти идентичные учебные руководства также.
Инфраструктуры теста/разработки, которая выходит из поля с этими платформами, обычно достаточно для завершения большинства сайтов. В любой точке можно выгрузить компоненты для соответствия требованиям продуктивной среды. Например, SQLite хорошо для установки Ваших моделей и загрузки данных тестирования, но Вы захотите установить MySQL (например), перед вводом в эксплуатацию или хранением больших объемов данных.
Во всех случаях требования являются очень низкими и продиктованы полностью Вашими требованиями масштабируемости и не любыми особенностями платформы. Если Вы будете довольны определенным шаблонным языком или ORM, то он, вероятно, включит право.
Это - обобщенная проблема через все платформы. При выборе языка Вы ограничиваете свои опции повторного использования кода. При выборе templater Вы снова привязываетесь (хотя это легче изменить, в целом, чем другие вещи). То же идет для Вашего ORM, базы данных, и так далее. Нет ничего, что эти платформы делают конкретно, который поможет или препятствует привязке.
Это - все о MVC с этими тремя платформами. Как Вы сказали, это - совсем другое обсуждение!
Ну, при написании хорошего кода сайт будет работать хорошо! Снова, это - проблема через все платформы, обращенные различными методами разработки, и является, вероятно, путем вне объема этого ответа.
Django по сравнению с Struts.
Скорость разработки и удобство.
Django - и выполнение во время, требуемое создавать модель (в Python), определите Администраторские отображения (2-3 строки кода в образцовом классе) и создайте шаблоны HTML для работы с представлениями основной детали по умолчанию.
Struts - должен определить базу данных в SQL, затем определить отображения ORM в iBatis. Затем определите, протестируйте и создайте различные компоненты приложения, с помощью классов действия и страниц шаблона JSP. О, и я должен определить EJB's для перемещения данных от приложения до JSP's. Это все получено к компиляции, и я взялся за работу через многочисленные детали только для получения чего-то, что соответствует правилам компиляции.
Барьеры для доступа - и с точки зрения обучения разработчика, и инфраструктуры необходимы
Постоянный через все платформы и языки. Это - в значительной степени не, заботятся об объекте. Никакой язык или платформу не по сути легко обучить. Все веб-платформы имеют подобные требования инфраструктуры.
Привязка - сколько кода Вы могли сохранить, если бы необходимо было переключить платформы?
Это не имеет большой смысл. Если Вы переключаетесь от Tomcat до какой-либо из производных Tomcat, можно сохранить много кода Java. Иначе Вы обычно не сохраняете много кода при переключении платформы.
Гибкость - платформа диктует Вашу архитектуру или дизайн? (Было ли это хорошей или плохой вещью, вероятно, лучше всего оставлен отдельному обсуждению.)
На самом деле это не отдельное обсуждение. В этом суть. Платформы диктуют Вашу архитектуру - и это - хорошая вещь. Действительно, платформа является кодом, который Вы не должны писать, протестировать, отладить или поддерживать. Это - хорошая вещь, что Ваше приложение заключено платформой к доказанной, осуществимой структуре.
Производительность, масштабируемость и устойчивость - очевидно, в зависимости от разработчиков!
Производительность является языком (не платформа). Это - дизайн. До некоторой степени, также конфигурация реализации.
Масштабируемость является платформой (не язык). Это - дизайн и конфигурация.
Устойчивость через плату: ОС, язык, платформа, дизайн, программирование, QA и конфигурация реализации.
Это - невероятно субъективный вопрос.. и это - тег, который необходимо добавить к вопросу. Как несколько комментариев уже предположили, Вы уже указали довольно хорошее руководство; что Вы на самом деле спрашиваете? Существует миллиард мнений об этом виде вещи и определенно никакого правильного ответа!
Лично, я начал использовать .html, перешедший на php, испытанный рубин (ненавидел его), обнаружил Python / DJango.. и были счастливы с тех пор. Это - очень уникальный путь для взятия, хотя (вероятно), таким образом, пробег может варьироваться :)