LINUX.ORG.RU

Сравнение стеков Spring и Java EE. Современное состояние

 , ,


4

5

Лекция в офисе компании FoxmindEd прошла 25.02.2018.

Слайды: https://drive.google.com/file/d/0B38igFDHEy45Z251OGE0Zi1mblE/view

Лекция: https://www.youtube.com/watch?v=HMT6jgZ5Pls

Сергей Немчинский, имея за спиной 20 летний опыт программирования на Java, сравнивает две параллельно развивающиеся технологии.

Предлагаю обсудить мнения от лекции и свои собственные впечатления от использованных технологиях (у кого они есть).

★★★★★

Последнее исправление: iZEN (всего исправлений: 1)

Слишком много лишнего трёпа, сравнение очень поверхностное, на уровне «Вот в JEE есть JPA, а у Spring есть Spring Data. Мне нравится Spring Data. Следующий пункт.»

Обещали рассказать, где лучше использовать JEE, а где Spring, в итоге это свелось к «Если у вас здоровый монолит, который вы запускаете на кластере - выбирайте JEE, а если у вас микросервисы, то Spring».

Понятно, что за полтора часа нормально рассказать сразу про 2 больших стека - это из области фантастики, но если бы он меньше рассказывал, как он не любит IBM, а больше технических вещей, было бы лучше.

hippi90 ★★★★★
()
Ответ на: комментарий от vertexua

Видео есть?

Добавил.

iZEN ★★★★★
() автор топика
Ответ на: комментарий от hippi90

Там еще все упирается в реализации. Ведь реально до Wildfly не было не жруще-тормозных Java EE серверов, а с ним достигнут паритет со Spring и их можно сравнивать

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Ведь реально до Wildfly не было не жруще-тормозных Java EE серверов

Спорное утверждение, ну да ладно.

На самом деле основная проблема JEE до EJB3 было адовое количество xml для конфигурации всего этого добра, в EJB3 ребята взялись за ум, и не изобретая велосипед, слизали подчистую концепцию спринга, и получилось на удивление хорошо.

hippi90 ★★★★★
()
Ответ на: комментарий от hippi90

Но зачем, если сразу можно взять спринг?

anonymous
()
Ответ на: комментарий от hippi90

Можно подумать, XML это что-то плохое. Пишу на последнем Spring-е, конфигурирую всё через XML и горя не знаю, очень удобно.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Вот и к тебе заметочку я записал

Deleted
()

Видос пока не посмотрел, но Spring мне начинает казаться хипстотой. Разработчики требуют Spring без видных на то причин, слышно только «Вы не используете Spring? С вами не о чем разговаривать». То есть вот всем прям нужен Spring, а Java EE, значит, говно мамонта.

Irben ★★★
()

Жабопроблемы-жабопроблемушки.

anonymous
()
Ответ на: комментарий от Irben

Видос пока не посмотрел, но Spring мне начинает казаться хипстотой.

Spring и Java EE это вообще какие-то древние баззворды из лихих девяностых. Посиделки старых пердунов.

anonymous
()
Ответ на: комментарий от anonymous

Spring и Java EE это вообще какие-то древние баззворды из лихих девяностых. Посиделки старых пердунов.

Let the срач begin! Подскажи, анон, что должен использовать джавист в этом году?

Irben ★★★
()
Ответ на: комментарий от Irben

Подскажи, анон, что должен использовать джавист в этом году?

Эээ... ИИ блокчейн интернета вещей?

anonymous
()

А смысл их сравнивать? Появилось что-то лучше? Когда появится NewSuperPuperJavaFramework#9999 тогда и делайте ваши сравнения. Хотя, эти люди все равно не осилят нормально о чем-то рассказать. Да и никому не надо это. Надо взять, наваять чтоб работало и сидеть поддерживать. Если не получилось или слишком сложно, берется фреймворк попроще.

Deleted
()

Я около 7-8 лет сижу на EJB.

Не вижу смысла например для своих личных проектов кидаться в разные стороны и распыляться на всякое новомодное.

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

Если нужно что-то эдакое - можно наваять самому, если мозг пашет конечно.

То что говорят про тяжесть и сжирание памяти - это от не понимания как нужно настраивать.

Неповоротливость у таких проектов только при первых тыках сразу после запуска. Специальная технология как в Джаве так и в самой спецификации EJB - пока не трогали/ненужно - память не выделяется.

Serg_HIS
()

Котаны как вкатиться в жабку и что использовать для веба(знаю есть большой spring, маленький play) ?

//про жабку читал совсем чуть чуть.

ggrn ★★★★★
()
Последнее исправление: ggrn (всего исправлений: 2)
Ответ на: комментарий от ggrn

Тебе понадобятся:

Oracle Java SE 8u161/ 8u162 JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html

NetBeans IDE Java EE: http://bits.netbeans.org/download/trunk/nightly/latest/ (нужно настроить ./etc/netbeans.conf)

Макулатура: Хеффельфингер Дэвид «Java EE 7 и сервер приложений GlassFish 4».

iZEN ★★★★★
() автор топика
Ответ на: комментарий от Irben

Я подписан, но из-за здешней политики модерирования не вижу больше причин писать. Если администрация решила убить ЛОР, ничего тут не попишешь. Например, в воскресенье будет большая джава-конференция в Сибири - я не делал её регулярного анонса. Вся активность по джава-просвещению [переносится на Хабр](https://habrahabr.ru/users/olegchir/).

stevejobs ★★★★☆
()

Что касается Java EE, то её больше не существует. Теперь это Jakarta EE, чем собственно, всё сказано.

В OpenJDK есть специальный джеп и набор тикетов по выбрасыванию наследия JavaEE из OpenJDK.

Про это писал и Рейнхольд.

Рекомендую переходить на Spring :-)

И обязательно обновляться до самой-самой свежей его версии, чтобы нормально заработало на Десятке.

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 3)
Ответ на: комментарий от iZEN

Oracle Java SE 8u161/ 8u162 JDK

Если проект свежий, то зачем брать старьё? Java 9 - вот правильный выбор.

NetBeans IDE

Сейчас бы NetBeans использовать в 2018-ом.

А вообще интересно, что ggrn подразумевает под web. Надеюсь не сайты для обычных людей, тут я бы джаву не советовал.

Irben ★★★
()
Ответ на: комментарий от stevejobs

Что касается Java EE, то её больше не существует. Теперь это Jakarta EE, чем собственно, всё сказано.

Дык, наоборот, проект сможет развиваться с новой скоростью.

Не вижу смысла переходить на Spring с ЕЕ, если всё устраивает. Application server'а уже не такие громоздкие, есть microprofile для тех, кому нужны микросервисы.

Irben ★★★
()
Ответ на: комментарий от Irben

Сейчас бы NetBeans использовать в 2018-ом.

А что не так? В этой IDE всё просто и наглядно, а главное не надо долго и мучительно возиться с настройкой самой IDE.

iZEN ★★★★★
() автор топика
Ответ на: комментарий от Irben

Java 9 - вот правильный выбор.

Нет гарантий, что заведётся JavaEE-сервер на основе OSGi-движка.

iZEN ★★★★★
() автор топика
Ответ на: комментарий от Irben

Не простые сайтики(для этого же есть php/python), приложения(работа с апи разных сервисов).

ggrn ★★★★★
()

почему меня не скастовало по тегам?

bvn13 ★★★★★
()
Ответ на: комментарий от bvn13

ggrn, bvn13, iZEN, Irben, Serg_HIS, subwoofer, Legioner, vertexua, hippi90, foror

Чтобы не спамить сюда своими постами, выделил их в отдельный канал: https://t.me/javawatch
И чатик к нему https://t.me/javawatch_chat
Можно присоединяться по желанию :)

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

не-не, телега и лонгриды это что-то новое. у тебя ЖЖ есть, вотщето

Deleted
()
Ответ на: комментарий от hippi90

Не, я телеграм не юзаю, я тебя лучше на хабре почитаю.

Сопротивление бесполезно, рано или поздно телега победит и тебя.

Irben ★★★
()
Ответ на: комментарий от stevejobs

У меня вот недавно возник вопрос.

Как у Java нынче с возможностью параллелить циклы из коробки?

C++ например вроде как обладает «магией» в стиле parallel_for

Serg_HIS
()
Ответ на: комментарий от iZEN

Tapestry где-то ещё используется? Для чего?

Я уже не использую. Но так, а какой еще есть фреймворк для веб-разработки на джаве? Spring, что ли? Он монстроознее и по удобству MVC части хуже Tapestry. Или веб-разработка на джаве это теперь REST API?

Ну не знаю, еще франкенштейны на GWT, но это веб-приложения, а не веб-сайты.

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

foror ★★★★★
()
Ответ на: комментарий от Irben

Сопротивление бесполезно, рано или поздно телега победит и тебя.

Поставил - бесполезная трата времени, только отвлекает от работы. RSS лента лучше.

foror ★★★★★
()
Ответ на: комментарий от Serg_HIS

Как у Java нынче с возможностью параллелить циклы из коробки?

В 8-ке появились стримы для коллекций, можно взять параллельный стрим и делать хоть forEach, хоть map-reduce.

foror ★★★★★
()
Ответ на: комментарий от foror

В 8-ке появились стримы для коллекций

Я это читал.

Но как бэ оно не очень прозрачно и гибко как например тот же

parallel_for

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

Serg_HIS
()
Ответ на: комментарий от foror

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

Serg_HIS
()
Ответ на: комментарий от foror

Но так, а какой еще есть фреймворк для веб-разработки на джаве? Spring, что ли?

Ты путаешь понятия.

Spring/EJB - это спецификации.

Грубо говоря это просто стандарты.

А вот уже Фреймворки - это поделки сделанные под эти стандарты/спецификации.

Serg_HIS
()
Ответ на: комментарий от Serg_HIS

Я не знаю как щас, но когда я последний раз смотрел Spring он еще не стал драконом. Когда же спецификации подгоняли под hibernate и spring, я активно пилил проетик на Tapestry 4 с HiveMind. Так что не нужно меня учить про «Фреймворки - это поделки сделанные под эти стандарты/спецификации.», на самом деле всё было наоборот.

foror ★★★★★
()
Ответ на: комментарий от foror

на самом деле всё было наоборот.

Может ты и прав.

Например тот же JPA в EJB - на самом деле надстройка над Hibernate.

Serg_HIS
()
Ответ на: комментарий от Serg_HIS

Интересно, а кто какой сервер приложений юзает?

Я использую Wildfly. Всмысле не только я, но и мой отдел на работе. Правда другая команда рпзработчиков на Tomcat заливает артифакты.

Irben ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.