Слишком много фреймворков для Java-сети.Испуганный и растерянный :( - PullRequest
3 голосов
/ 05 июля 2010

Я опытный Java-разработчик, который в настоящее время пытается освоить веб-разработку на Java.У меня также был опыт веб-разработки с ASP.NET (c #) и PHP.Я знаю, какие базовые концепции (JSP, Servlet, Bean) и ищу фреймворк для работы.

Мой вопрос не в том, «Что такое лучший фреймворк для Java» или что-то подобное

После прочтения множества тем здесь и поиска в Google в течение многих часов я чувствую себя напуганным и сбитым с толку.Есть так много рамок и бесконечных комбинаций.Я собираюсь передумать сделать это в .net или даже в PHP.

  1. Действительно ли Java подходит для очень маленьких команд (1 или 2 участника) для разработки веб-приложений?
  2. Действительно ли Java подходит для разработки приложений для web 2.0?
  3. Разве .NET и PHP не так уж и запутаны в этом контексте.
  4. Если выбрать среду и через 6 месяцев я решуиспользовать другой, можно ли легко мигрировать?
  5. Просто кажется неправильным тратить те же усилия, которые я потратил на изучение Java, на среду, которая в любое время может быть изменена или станет бесполезной.Я ошибся?

Ответы [ 7 ]

5 голосов
/ 05 июля 2010

Действительно ли Java подходит для очень небольших команд (1 или 2 участника) для разработки веб-приложений?

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

Действительно ли Java подходит для разработки приложений web 2.0?

Вы спрашиваете?подходит ли JavaFX или технология Web 2.0 UI может быть Flex или что-то еще?Я сам не использовал JavaFX, но думаю, что бэкэнды Java могут очень хорошо сосуществовать с веб-интерфейсами 2.0.Сервисы - это сервисы.

Разве .NET и PHP не так уж запутаны в этом контексте?

Ваша формулировка требует некоторой работы.Там я исправил это.Зависит от того, насколько хорошо вы знаете .NET или PHP.PHP, возможно, «менее сложный» и более простой, но каждое веб-приложение не является веб-приложением CRUD..NET может быть спроектирован так же, как и Java, но обладает преимуществом использования функций, которые являются частью инфраструктуры.По крайней мере, все от Microsoft.Может быть, вы запутались, потому что у вас больше выбора с Java.

Если вы выберете фреймворк и через 6 месяцев я решу использовать другой, можно ли легко выполнить миграцию?

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

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

Все может измениться и стать бесполезным.Microsoft может решить переписать их Enterprise Framework 4.0 таким образом, чтобы она не была обратно совместимой.Я не верю, что это недостаток языка - Java не единственная жертва этого сценария.

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

Моя рекомендация?Выберите весну и спите ночью.Это потрясающая основа, которая висела там в течение восьми лет и продолжает расти.Он имеет отличный веб-фреймворк MVC и многое другое.Поддерживаемые ими идиомы сделают ваши Java-приложения лучше: более многослойными, более простыми в обслуживании, могут прекрасно работать с другими средами, минимизируя ваши риски.Сейчас они принадлежат VMWare, поэтому они никуда не денутся.

4 голосов
/ 05 июля 2010

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

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

  2. Весь Web 2.0 на самом деле не совсемзациклены на конкретной серверной технологии.Широкие концепции Web 2.0 (хотя это и просто магический термин) - это создание многофункциональных интерактивных приложений.У вас может быть бэкэнд Java, бэкэнд .NET и бэкэнд PHP, бэкэнд Python, на самом деле выбор за вами.Могут ли они предоставлять такие же услуги звонящим клиентам?Я думаю, что они могут.

  3. PHP и .NET получают выгоду от огромных сообществ разработчиков (не говоря о том, что Java этого не делает), и существует целый ряд проектов, реализуемых на этих платформах.Взяв в качестве примера .NET, вы можете расширить его, вы можете построить на нем, черт возьми, вы можете даже вытянуть биты и заменить его на свой.Я бы не сказал, что вы не можете сделать это в Java, просто мне кажется, что с .NET это будет проще.

  4. Миграция - сложная задача,Вы должны помнить, как вы используете технологию, и если вы делаете что-то особенно особенное, насколько хорошо это будет переводиться с использованием другой технологии.Если вы придерживаетесь знакомой философии проектирования (например, MVC), вам будет проще, чем, скажем, перейти с JSP прямо на ASP.NET MVC и т. Д.

  5. Перемещение компьютерных программв удивительном темпе, и мы все должны идти в ногу или остаться позади.Вы должны спросить себя, принимаете ли вы эту платформу по личным или деловым причинам?Если это по личным причинам, чувствуете ли вы, что вам, вероятно, понравится развивать это в будущем, это для личного роста и развития?Где ты видишь, как ты это делаешь?Если это для бизнеса, можете ли вы увидеть, какие инвестиции вы делаете в эту технологию?Могут ли быть какие-то ветры перемен, которые заставят вас усомниться в своем выборе на этом этапе?

Извините, если это все загадочно, надеюсь, это поможет.

1 голос
/ 05 июля 2010

«НЕ ПАНИКА» - Руководство автостопом по галактике

У меня значительный опыт создания веб-приложений на Java, .NET и Rails.PHP, не так много.Итак, вот мое очень самоуверенное мнение:

Фреймворки для веб-разработки на Java (есть куча, но посмотрите на Spring) зрелые и легкие для изучения.Поэтому, если вы хотите работать с Java, вы определенно не делаете ничего глупого, независимо от размера вашей команды или "веб 2.0" вашего проекта.Это все хорошо.

Тем не менее, вот некоторые вещи, о которых стоит подумать, если вы все равно захотите изучить другие варианты:

  1. C # - намного лучший язык программирования, чем Java, и яРаньше был фанатом Java.Они очень похожи во многих отношениях, и переход прост, но C # просто устраняет многие болевые точки в Java и просто лучше удерживает их вместе.Я знаю, что вы не спрашиваете о языках, но если вы рассматриваете различные платформы, это определенно фактор.
  2. До недавнего времени веб-разработка была настоящей болью в .NET, потому что ASP.NET с веб-формамибыло довольно ужасно для нетривиальных проектов.Существует относительно новая платформа MVC, выпущенная Microsoft.С ним приятно работать, и его сообщество постоянно растет.С другой стороны, это практически единственный вариант .NET (за исключением Monorail, в котором есть сокращающееся сообщество и множество ошибок).
  3. .NET не строго привязан к Windows благодаря Mono, но естьопределенно Windows склоняется к сообществу и библиотекам, а проект Mono всегда немного отстает.Вам придется решить, имеет ли это отношение к вам.
  4. Rails - это взрыв.Многие вещи, которые являются сложными в других средах, тривиальны в Rails.Это, конечно, не без проблем, но для запуска надежно спроектированного продукта за очень короткое время его трудно победить.
1 голос
/ 05 июля 2010

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

Мое мнение:

ответы 1: да
2: что на самом деле является приложением web 2.0? (Да)
3: без понятия
4: ранит вас несколько дней, но, безусловно, будет возможно.
5: зависит, какие рамки вы решите использовать. (да)

1 голос
/ 05 июля 2010

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

Но это только мое мнение.

0 голосов
/ 05 июля 2010

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

Если вы хотите сделать шаг, попробуйте python, ruby ​​или CGI. Все они являются приличными бэкэндами, которые работают так же хорошо в большинстве областей, в которых работает PHP.

Главное здесь - идти с тем, что ты знаешь. Если это не Java.

0 голосов
/ 05 июля 2010

Очень немногие все еще используют Java для веб-разработки. В этом смысле PHP является победителем благодаря сообществу и огромному выбору полнофункциональных приложений, доступных бесплатно. Приложения уровня предприятия легче реализовать с помощью .NET благодаря новым функциям в C # и существованию SharePoint. Python также используется многими, в том числе Google и YouTube. У Ruby есть поклонники благодаря платформе Ruby on Rails и языковой элегантности.

У меня много знакомых, работающих исключительно на Java, и мне очень хорошо платят, но они практически не затрагивают веб-часть.

Мое мнение очень субъективно.

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