Имеет ли смысл использовать фреймворк для простого веб-приложения на Java? - PullRequest
9 голосов
/ 31 декабря 2008

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

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

Итак, мой вопрос - имеет ли смысл использовать фреймворк для простого Java-веб-приложения?

Обратите внимание, что я не спрашиваю, какой фреймворк использовать (если действительно фреймворк рекомендуется), поскольку он уже был задан здесь .

Ответы [ 14 ]

8 голосов
/ 01 января 2009

Если вы не используете веб-фреймворк, вы, как правило, в итоге пишете его - плохо.

7 голосов
/ 31 декабря 2008

Это имеет большой смысл. Моя команда провела большую часть пяти лет с нашим стеком с открытым исходным кодом, и у нас есть «начальный» проект (работает как appfuse), который мы используем для создания всех новых веб-приложений. Даже простые два пейджера от первого лица поддержки приложения, похоже, что все остальные приложения, только меньше.

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

7 голосов
/ 31 декабря 2008

Да, я бы использовал веб-фреймворк по следующим причинам:

  1. Расширенные возможности навигации и управления. Даже если они вам могут и не понадобиться, они доступны вам, если они вам понадобятся в любое время
  2. Как уже отмечали другие, приложения со временем растут, и вы почувствуете потребность в фреймворке в какой-то момент времени в будущем. Когда вам нужно добавить дополнительные страницы и навигации
  3. Функции, которые позволяют подключаться к другим средам, таким как системы безопасности и базы данных. Весна - яркий пример в мире Java. Вам никогда не придется использовать Spring, но он так хорошо подключается к Struts, Spring MVC, Hibernate, Acegi и т. Д. Это в конечном итоге избавляет вас от необходимости выполнять все работы по сантехнике самостоятельно.
  4. Поддержка !!! У хороших структур почти всегда есть живое сообщество, которое поддерживает их, задает и отвечает на вопросы.

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

3 голосов
/ 31 декабря 2008

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

2 голосов
/ 21 ноября 2010

Нет, только если:

  1. у вас нет опыта Java в твоей команде
  2. вы делаете только прототип, который должен быть готов в часах
  3. вы не доверяете своим разработчикам достаточно, чтобы позволить им написать свой применение
  4. ты не собираешься разработчики учатся и совершенствуются

Опасность при использовании каркасов включает, но не ограничивается:

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

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

2 голосов
/ 01 января 2009

Существует два вида приложений:

1) тот тип, который вы выбрасываете и больше никогда не используете, и поэтому не должны беспокоиться о модульности, удобстве обслуживания и ясности.

2) настоящий вид.

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

Каркасы, в частности такие вещи, как Struts для MVC в Java, Spring для MVC и Dependency Injection, Hibernate для объектно-реляционного моделирования, - все это чрезвычайно ценные инструменты, которые обеспечивают модульность, удобство обслуживания и ясность в вашем коде. Итак, чтобы ответить на ваш оригинальный вопрос .... Да, решительно.

2 голосов
/ 01 января 2009

Какая альтернатива? Катаешься сам? Встраиваете всю навигацию и логику в JSP?

Я согласен с теми, кто говорит, что веб-фреймворк того стоит. Сейчас их буквально сотни (например, Struts, JSF, Spring, Wicket и т. Д.). Выберите тот, который подходит вам.

2 голосов
/ 31 декабря 2008

Да, это имеет смысл. Однако в вашем вопросе подразумевается, что неправильная (для вас) структура может быть более болезненной, чем она стоит, - и это правда. Существует большая разница между тяжелым J2EE-фреймворком и чем-то легким и веселым, как grails.

2 голосов
/ 31 декабря 2008

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

Например, на моем рабочем месте у нас есть простое приложение jsp / servlet. Это должно быть переписано только из-за того, что я объяснил выше. Если бы кто-то потратил время, чтобы просто настроить фреймворк, мы были бы в лучшей форме сегодня.

1 голос
/ 30 апреля 2011

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

Кроме того, если бы я мог голосовать за пост SamBeran, я бы так и сделал. Начало работы с фреймворком будет включать в себя несколько моментов «о, здорово! Мне не нужно снова писать весь этот шаблонный образец!».

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