Джанго против Струца.
Скорость разработки и удобство.
Django - запускается и запускается за время, необходимое для построения модели (в Python), определяет отображения администратора (2-3 строки кода на класс модели) и создает шаблоны HTML для работы со стандартными представлениями master-detail.
Struts - необходимо определить базу данных в SQL, а затем определить отображения ORM в iBatis. Затем определите, протестируйте и создайте различные компоненты приложения, используя классы действий и страницы шаблонов JSP. О, и мне нужно определить EJB для перемещения данных из приложения в JSP. Все это нужно для компиляции, и мне нужно проработать множество деталей, чтобы получить что-то, что соответствует правилам компиляции.
Препятствия для поступления - как с точки зрения обучения разработчиков, так и необходимой инфраструктуры
Постоянный во всех рамках и языках. Это в значительной степени безразличный предмет. Ни один язык или структура не являются легкими для обучения. Все веб-платформы имеют одинаковые требования к инфраструктуре.
Блокировка - сколько кода вы могли бы сохранить, если бы вам пришлось переключать фреймворки?
Это не имеет большого смысла. Если вы переключитесь с Tomcat на любое из производных Tomcat, вы сможете сохранить много кода Java. В противном случае вы обычно не сохраняете много кода при переключении фреймворка.
Гибкость - платформа определяет вашу архитектуру или дизайн? (Будет ли это хорошо или плохо, вероятно, лучше оставить для отдельного обсуждения.)
На самом деле, это не отдельная дискуссия. В этом-то и дело. Рамки определяют вашу архитектуру - и это хорошо. Действительно, фреймворк - это код, который вам не нужно писать, тестировать, отлаживать или поддерживать. Хорошо, что ваше приложение ограничено платформой проверенной, работоспособной структурой.
Производительность, масштабируемость и стабильность - очевидно, в зависимости от разработчиков!
Производительность - это язык (не рамки). Это дизайн. В некоторой степени, это также реализация конфигурации.
Масштабируемость - это основа (не язык). Это дизайн и конфигурация.
Стабильность повсеместно: ОС, язык, структура, дизайн, программирование, контроль качества и конфигурация реализации.