LINUX.ORG.RU

Ряд вопросов по экосистеме Java

 ,


0

5

Всем привет, есть ряд вопросов по Java на которые хотелось бы получить ряд ответов :)

1. Какие адекватные веб фреймворки сейчас есть, что бы вы выбрали для нового проекта, когда можете свободно выбирать? (Spring какой то ублюдский, а Spark Framework смотрится например только как очень мелкий REST, может что лучше есть?)

2. JavaFX это живая технология или оракл ее дропнет? стоит в нее закладываться?

3. Использовать Play Framework как Java Framework это моветон и для извращенцев? кто-нибудь так вообще делает?

★★★★★

1. Only Spring. Это, конечно, коллекция Ad hoc костылей, но годная коллекция;

2. ИМХО это ублюдочная технология с самого начала. Нужны приличные кроссплатформенные десктопные приложения - используй C++ & Qt. Ну или Eclipse RCP (в комбинации с тем же спрингом), если C++ не вариант;

3. ХЗ что это, я руководствуюсь пунктом 1.

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

1. Какие адекватные веб фреймворки сейчас есть, что бы вы выбрали для нового проекта, когда можете свободно выбирать? (Spring какой то ублюдский, а Spark Framework смотрится например только как очень мелкий REST, может что лучше есть?)

Spring MVC.

2. JavaFX это живая технология или оракл ее дропнет? стоит в нее закладываться?

Вряд ли дропнет. Если текущих возможностей хватает, можно использовать. Рассчитывать на значительное развитие я бы не стал. Скорее всего стагнировать будет. Десктоп умирает и инвестировать туда никто не будет. На мобилках JavaFX точно никто не ждёт.

3. Использовать Play Framework как Java Framework это моветон и для извращенцев? кто-нибудь так вообще делает?

Почему моветон? Это же официально поддерживаемая конфигурация. Уверен, что многие так делают.

Legioner ★★★★★
()

1. Посмотри Tapestry 5.4 http://jumpstart.doublenegative.com.au/jumpstart7/ Лучше не найдешь для Java на текущий момент.

2. Без перспектив, ибо смотри webassembly. Вполне очевидно, что будущее за HTML+CSS для разработки кроссплатформенного софта из коробки. Осталось только дать нормальные ЯП для работы с ними. С другой стороны на ближайшие 4 года это не случится.

А в 9-ке появятся custom compact profiles, т.е. сможешь подключить только *.javafx.* пакеты, а остальное все выкинуть и тем самым получить компактный дистрибутив своего ПО для распространения среди юзеров. Без необходимости навязывать им установку JRE.

3. Я помню как-то запускал его ради интереса и тут же закрыл, когда Hello World выжрал 500 Мб оперативки.

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

Hello World выжрал 500 Мб оперативки

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

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

Груви же, так что сразу нет.

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

смотри webassembly

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

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

посмотрел, говно какое то

Тогда у тебя остается spring mvc

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

На томкате в пределах 200 мб - http://stackoverflow.com/questions/21523266/spring-too-high-memory-usage

Жрать 500мб на helloworld даже для java слишком если конечно это не javaee контейнер или какое-нибудь поделие на scala, groovy, jruby etc.

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

Да ладно, заливать, единственный оверхед у java это ресурсы под jvm, но так для этого и придумали контейнер сервлетов для размещения тучи приложений на одной jvm.

Про «раз в 50 меньше» можно будет говорить, когда увижу на go фреймворк уровня django или ror. А так и у меня com.sun.net.httpserver.HttpServer.create жрет раз в 50 меньше, чем Spring.

foror ★★★★★
()

1. Grails, vert.x, Jython+Django, nodejs в конце концов. 2. Именно в 8-ке она расцвела, имхо. 3. Play жрущий конкретно. Spring говнище то ещё. Имхо, стоит смотреть в сторону scala / groovy - scalatra/grails. И вообще, в 2015 писать код на java для web - моветон.

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

Grails

Groovy

vert.x

это для api и чатиков только

Jython

см. Groovy, только хуже

nodejs

лапша

Play жрущий конкретно

не проверял пока

Spring говнище то ещё

самый большой недостаток - 5 секунд рестарта :/

И вообще, в 2015 писать код на java для web - моветон

так не мне же писать, так что норм

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

самый большой недостаток - 5 секунд рестарта :/

Есть же всякие штуки для подмены байт-кода в рантайме, хотя со spring очень давно не работал, но как минимум есть jrebel.

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

и че, мне на каждый пук тащит проприетарщину? 365 баксов на одного разработчика че то жирно им будет

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

Есть же всякие штуки для подмены байт-кода в рантайме

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

umren ★★★★★
() автор топика

Смотри на spring boot. https://spring.io/guides/gs/spring-boot/ - вот пример. Есть поддержка кучи движков шаблонов, из коробки, декларативная работа с базами данных, интеграции с NoSQL, удобные тесты, быстрый старт без всяких левых серверов. И все это парой строчек в maven/gradle.

На счет tapestry тут говорят - так вот, мы с ним говна наелись и будем везде выпиливать в пользу ангулара.

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

Смотри на spring boot

рестарт хелло ворлда 5 секунд, боюсь представить сколько будет в реальных условиях (20, 30 секунд?)

как на этом вообще разрабатывают?

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

Тебе не нужен рестарт. Легко нагуглишь, как сделать hot redeploy и оно не будет требовать рестарта.

И да, 5 секунд это очень быстро =).

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

Нет, просто указываю на фатальный недостаток.

без JRebel я так понял разрабатывать на Java невозможно?

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

Ага, за весь день видимо один разработчик пишет и тестирует ровно 1 метод для класса.

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

У нас production приложение на play живёт с лимитом в 256. Причём там куча связей с другому сервисами по http, ещё sql и elasticsearch.

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

го компиляция происходит мгновенно, никаких тебе перезагрузок

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

Причем тут компиляция? У меня в Eclipse, во время разработки, компиляция вообще мгновенная, я даже об этом не задумываюсь.

Так вот, в той же tapestry5 подмена байт-кода идет из коробки, внес изменения в страницу, сервис, шаблон и у тебя моментально все это подхватывается, в браузере нажимаешь ctr-f5 и всё работает. Поэтому мне нравится работать с этим фреймворком.

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

у джавы все на костылях держиться

Подмена/генерация байт-кода на лету, это не костыли, а фича.

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

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

изкаропки ниче там нет, и это лидирующий фреймворк в джаве мире который рестартует 5 секунд на хелло ворлде, джава это позор какой то

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

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

так старт в го вообще 0 секунд то, но что ты стартануть надо еще за 50мс собрать новое приложение например

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

т.е. это супер медленно

Ахаха, тебя бы в Ъ-ынтырпрайз, тогда 5 сек. показались бы просто молниеносными, еще помню как перезагружал JBoss после изменения кода, как минимум 30 сек если повезет )

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

Не кормите голанго-тролля. Он сюда не за аргументами пришёл. На всё, что вы ему скажете, он так и будет талдычить про «а в голанге компиляция 0 секунд, вот позорище эта ваша Джава».

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

джава это позор какой то

Причем тут Java? Ну просто здесь вот особое сосредоточение индусов и ынтырпрайза, поэтому и веб-фреймворки такие ущербные. Сама Java+JVM очень интересное решение и не скриптота, и в тоже время не статический монолит, и на этой особенности можно строить классные веб-фреймворки.

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

строить классные веб-фреймворки.

то то их и построили, один хуже другого

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

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

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

На счет tapestry тут говорят - так вот, мы с ним говна наелись и будем везде выпиливать в пользу ангулара.

А зачем было юзать tapestry, когда нужно куча javascript на клиенте? Какой-то нелогичный выбор, я бы еще понял, замену GWT на Ангулар.

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

Не, куча JS не нужна. Нужны нормальные компоненты. А их нет нихрена. Попробуй дерево найди. Нормальное. То которое есть у него - забаговано и приходится разными хаками его сопрягать с моделью. Да еще и стремится каждый раз его целиком перезагружать.

В общем очень мало компонентов. Очень мало тюториалов, коммьюнити какое-то не живое. Если хочется desktop-like разработки, лучше обратить взор в сторону JSF.Теже яйца, только в профиль + куча библиотек компонентов.

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

В общем очень мало компонентов

Ну это да, но с другой стороны, я не пользуюсь шаблонными решениями в веб-дизайне. Поэтому особо с этим проблем не испытывал.

взор в сторону JSF

Нее, JSF это то еще поделие, по сравнению с tapestry5 тихий ужас для разработчика сайта. Хотя может щас и получше, я лет 5 не смотрел как щас этот javaee развивается. Так, из раговоров только слышал, что стал проще как spring или это spring стал сложнее и вышел на уровень javaee )

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

Ну если «разработчик сайта», то, имхо, нужно вообще смотреть в сторону spring boot и их нового движка шаблонов, он выглядит весьма многообещающе и у них есть еще что-то для ангулара.

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

Ну если «разработчик сайта», то, имхо, нужно вообще смотреть в сторону spring boot

Не спасибо, я накопил достаточный опыт, чтобы понять как должен выглядеть современный веб-фреймворк для разработчика сайта, которому нужно быстрое прототипирование и прозрачная работа с javascript на сервер-сайде. Поэтому делаю собственный фреймворк на связке Java+Nashorn+ES6.

у них есть еще что-то для ангулара.

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

в сторону spring boot и их нового движка шаблонов

Все это костыли, награмождение абстрацкий на абстракции, короче жирнота и так на жирной JVM.

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

Все это костыли, награмождение абстрацкий на абстракции, короче жирнота и так на жирной JVM.

Ты сейчас довольно доступно описал всю экосистему вокруг JVM которую я наблюдаю.

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

То-то на одеске в каждом втором проекте мы используем Angular. И деньги нам платят не хипстеры, а вполне нормальные жители Америки.

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

Зато в Java нормальное ооп, а не как в Go попытка решить все проблемы через структуры и делегирования им методов -> monkey patching

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

Зато в Java нормальное ооп

Это не утешение. Разработка долгая (хелло ворлд - 5(!) секунд Карл), нормальных инструментов нет.

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

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

Java - это стандарт в разработке. Самая распространенная платформа. Одна из быстрейших VM. Хорошие либы, в которых грамотный код, наличие либ от гугл, оракла, амазона и т.п. Язык простой, всё удобно. Ну да, жрёт, но большинству похер, ибо сидят на десктопных corei7.

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