Веб: Когда мне следует подумать об использовании Java, а не PHP, Python / Django, Ruby / Rails и т. Д.? - PullRequest
4 голосов
/ 09 июня 2009

Если собирать требования для веб-проекта среднего и большого размера, в какой момент следует рассмотреть вопрос об использовании серверной части на основе Java, JSP и т. Д. В сценариях, таких как PHP, Python или Ruby?

Слыша «используй правильный инструмент ...», когда Java - подходящий инструмент для веб-проектов?

Ответы [ 8 ]

5 голосов
/ 09 июня 2009

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

А) Какие языки вам и вашей команде удобны?

B) Существует ли существующее приложение / система для расширения или интеграции? Если да, то какие языки наиболее эффективны для такой интеграции

C) Существуют ли встроенные или постоянно доступные библиотеки, компоненты и т. Д., Которые позволят вам более эффективно выводить результаты на одном языке над другим

Мои решения почти всегда сводятся к тому, на каком языке / платформе моя команда будет наиболее эффективной как при разработке, так и при поддержке.

3 голосов
/ 09 июня 2009

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

Принимая такое решение, люди часто используют необоснованные относительные веса для различных критериев оценки. Например, одним из критериев может быть «работает на iPhone». Но если вы на самом деле не разрабатываете на iPhone, вам действительно все равно.

«Производительность» - это еще один критерий, который может привести к необоснованному взвешиванию. Большинство современных серверов на базе процессоров Intel, стоимость которых составляет, скажем, 2000 долларов без хранилища, достаточно быстры, чтобы поддерживать довольно объемный веб-сайт независимо от того, какой язык вы выбрали. Если ваша нагрузка превышает нагрузку, которая может быть запущена на одном сервере (не предполагайте!), Или если вам нужно разделить сервер между различными рабочими нагрузками, тогда perf может стать более важным. Но, как правило, загрузка вашего приложения помещается в коробку с 1 сервером.

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

Еще один аспект, который вы, возможно, пожелаете рассмотреть, это «тянуть» язык, который будет иметь сам разработчик для вашей команды. В первые дни Java вы могли привлечь разработчиков, просто сказав: «Мы делаем это на Java». Теперь, это явление в значительной степени исчезло для Java, но в карманах это все еще может быть верно для других языков и платформ. Этот фактор может или не может быть важным для вас.

1 голос
/ 09 июня 2009

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

1 голос
/ 09 июня 2009

Выберите язык / платформу, которая наиболее удобна для вашей команды, та, которая соответствует вашей цели развертывания и в которой вы в основном владеете.

0 голосов
/ 09 июня 2009

Почти всегда: -)

Я имею в виду, что вы можете сделать любой веб-проект с добавлением Java / JSP более или менее в смесь (Spring, iBatis и т. Д.)

Но, как уже указывалось, бывают случаи, когда вы решаете использовать что-то еще, потому что, например, ваша команда имеет большой опыт работы с younameit и не имеет опыта работы с Java или подобными вещами.

0 голосов
/ 09 июня 2009

Rails прост в освоении, хорошо организован и хорошо документирован. Это также Agile и RAD (быстрая разработка приложений). Это не идеально, но вы можете попробовать. Это еще один взгляд на веб-разработку. Веб-фреймворк Java не так прост для понимания, и начать не так просто, ИМХО.

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

http://guides.rubyonrails.org

0 голосов
/ 09 июня 2009

У кого есть нужные вам библиотеки: Если вы хотите настроить что-то заранее, используйте PHP. Обычно это корзины для покупок, форумы и CMS

В Java будет больше библиотек для случайных вещей (например, для получения RSS-каналов)

Не знаю насчет Python / Ruby on Rails;

0 голосов
/ 09 июня 2009

Я планирую использовать Java для проекта, обслуживаемого с помощью Google App Engine (конечно, поддержка Java). Это не Ответ [тм], а только мои 2 цента: -)

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