Есть вэб приложение в котором используется SpringMVC и JSP. На данной стадии в проекте бардак - немного смешались презентация с логикой, и одновременно настал переломный момент и возможность выбрать технологию для разработки клиента с нулья.
Личный опыт таков: до недавнего времени писал серверные приложения (Java SE) с использованием Spring-а. Обширных познаний в области вэб приложений пока не имеется. В JSP вроде разобрался. Можно почистить Авгиевы Конюшни и жить спокойно, но смушает наличие разнообразных фреймворков для вэб разработки с которыми я пока не знаком. Теперь собственно вопрос: как дальше жить?
- Навести порядок в JSP и не дёргаться.
- Перейти на фреймворк и написать клиент заново, следуя всем правилам MVC.
- Начать с '1' для наиболее быстрого приведения приложения в товарный вид и в последствии перейти на фреймворк, и пользоваться приимуществами высокоуровнего интерфейса.
* если '2', то на какой фреймворк стоит обратить внимание? (Из личного опыта)
* если '3', то на сколько процесс перехода на фреймворк безболезненный? не подразумевает ли он написаное с нуля?
2010-12-22 10:41 am (UTC)
2010-12-22 12:46 pm (UTC)
2010-12-22 12:52 pm (UTC)
ну и стоить заметить что
"Groovy compiles straight to Java bytecode so you can use it anywhere you can use Java"
Источник: http://groovy.codehaus.org/
2010-12-22 12:59 pm (UTC)
2010-12-22 01:00 pm (UTC)
2010-12-22 01:54 pm (UTC)
IMHO, но восторгаться грэйлсом могут только люди, не работавшие до этого с чистыми рельсами.
Уж лучше то нибудь поближе к джаве.
2010-12-22 02:02 pm (UTC)
Пока вы больше похоже на "Трололо", чем на человека, который разбирается в вопросе. Может подробнее поясните откуда такая неприязнь?
2010-12-22 02:07 pm (UTC)
И это при том, что такого облегчения работы, как чистые рельсы, он не даёт. По сравнению с ними там много ограничений и неудобств.
Вот и выходит - уже не рыба но и ещё не мясо.
И если цель не поучиться, а привести дела в порядок, то оно нужно?
2010-12-22 02:20 pm (UTC)
Может облегчения и не даёт, но мне, как человеку, который умеет писать на Java, изучать рельсы для своего маленького проекта ой как неохото. Мне бы что-то поближе и знакомое. Лучше Grails в этом плане нет ничего (пока). Посмотрим что из него вырастет. Может и рельсы переплюнет. Кто знает :)
Есил цель - привести дела в порядок, то для этого необязательно вообще спрыгивать с JSP и уж тем более на рельсы. Лучше привести порядок в том, что есть. А если хочется сделать по-другому, попробовать себя, то хоть на хаскеле - главное чтоб задача была решена.
P.S. Я не против рельсов. Я только за. Но порог вхождения в Grails у Java-программиста "с наскоку" будет гораздо выше, чем в рельсах.
2010-12-22 02:51 pm (UTC)
Вот в том и проблема, что грейлс манит джаверов простотой вхождения, но не даёт возможности ощутить лёгкость рельсов в полной мере - всё так же много джавовских заклинаний, притоптываний, похлопываний и пританцовывания с бубном. По крайней мере не меньше, чем в чистой джаве.
А уж когда есть лапша легаси кода - секс обеспечен.
А рельс и руби - да требует, но то что они дают взамен это окупает.
2010-12-22 02:56 pm (UTC)
Я достаточно легко и быстро на Grails с нуля написал небольшой проект. Единственное что смущало, что приходилось каждый раз лазить по докам и смотреть, какие Closures существуют для данного объекта. Отвык я от скриптовых языков :)
Про спагетти согласен - тут надо жестко следить. Кривые руки + груви = долгие бессонные ночи.
А в остальном всё родное и знакомое :)
Про рельсы не могу сказать, так как проектов не делал. Только щупал. Думаю что оставим на откуп автору. Пускай сам выбирает что ему по душе )
2010-12-22 02:28 pm (UTC)
Если говорить про скорость, то я для себя выберу второе.
2010-12-22 02:10 pm (UTC)
Дома для души активно юзаю рельсы. Кроме рельсов могу на сисайде со смолтолком.
Когда после всего этого решил попробовать грэйлс по принципу "как в рельсах, но поближе к родному J2EE" - откровенно проблевался и расстроился. Это далеко не рельсы.
2010-12-22 02:13 pm (UTC)
Буду ОЧЕНЬ признателен.
2010-12-22 02:24 pm (UTC)
2010-12-22 02:47 pm (UTC)
2010-12-22 02:23 pm (UTC)
2010-12-22 02:46 pm (UTC)
Да и грэйлс я особо глубоко не смотрел. Как напоролся на неприятные отличия от рельсов, поковырял и отложил.
Я не имею ничего против груви, как и против любых скриптовых дополнения джавы. Но сами рельсы портированы - увы.. Понятно почему, джава это не руби. Но от этого не легче.
Апач.. хм.. Так вообще для нагруженых проектов ставить edge сервак - это хороший тон. Не?
В блокноте писать ненужно, я у тех же джетбрейнов не поленился купить за свои кровные RubyMine 3.0 - пока доволен.
До этого вполне довольствовался NetBeans.
Я не говорю, Grails что это "однозначно говно" я говорю о том, что это совсем неудачный выбор для заявленых автором условий. И вообще неудачный (сугубо IMHO) компромис.
В такой ситуации есть гораздо более интересный выбор чистых джава инструментов. А если уж дёргаться в сторону рельсов - тогда уж по полной, на нормальные.
2010-12-22 02:48 pm (UTC)
Edge сервак это что такое?
2010-12-22 02:56 pm (UTC)
2010-12-22 02:56 pm (UTC)
2010-12-22 03:09 pm (UTC)
Немотря на то, что pure-рельсисты считают моветоном применение скаффолдов, они серьёзно этономят время для быстрого прототайпинга.
Но засада в том, что в нормальных рельсах они генерятся таким образом, что их потом легко и быстро можно довести то нужного состояния, когда придёт время..
А вот в грэйлсе это прям какое-то убожество - они решили поступить "по-умному" и не генерить вьюшки скаффолдов, а ссылаться на предопределённые "жутко универсальные". Их вроде как даже можно (дополнительным усилием, раскурив мануал, не сразу) даже впердолить в проект в виде явных сорцов, но они всё равно сделаны с претензией на понты универсальности "во всех случаях" и IMHO мало-пригодны к томы, чтобы их так же быстро и легко привести к собственному виду. Тоесть - совсем не так как в рельсах.
Возможно я просто неглубоко копал и там всё ничуть не хуже, но одно то, что они сделали это не подумав о скорости и лёгкости разработки (более тяжеловесно, в духе Pure Enterprize Java :) ) - это вывело из себя. Типа "мы за вас подумали и вам оно ненадо".
Плюнул, назвал дерьмом и отложил в сторону. Возможно был неправ, но осадок остался.
2010-12-22 11:04 am (UTC)
2010-12-22 01:58 pm (UTC)
2010-12-22 11:18 am (UTC)
2010-12-22 11:30 am (UTC)
2010-12-22 12:06 pm (UTC)
2010-12-22 12:42 pm (UTC)
2010-12-22 01:32 pm (UTC)
Красивая архитектура, легкий и элегантный, stateless (vs wicket), чистые url, отличная документация и живые примеры, теплое комьюнити.
Рациональный подход к AJAX (всё что лучше делать на JS предлагаю делать на JS с jQuery и проч)
Отлично интегрируется со Spring.
2010-12-22 02:15 pm (UTC)
2010-12-22 11:45 am (UTC)
В первом случае выбирай любой, который понравится. Все равно насобираешь граблей целый сарай.
Во втором - рефактори JSP.
2010-12-22 12:03 pm (UTC)
2010-12-22 12:12 pm (UTC)
2010-12-22 12:19 pm (UTC)
Нужды проекта это ajax, js, bookmarks и back button на клиенте. Ну и "покрасивее и побыстрее" и "а подвиньте это сюда, а вот это, не квадратное а круглое, и вон туда".
2010-12-22 12:29 pm (UTC)
2010-12-22 12:31 pm (UTC)
2010-12-22 01:04 pm (UTC)
2010-12-22 02:04 pm (UTC)
2010-12-24 08:20 am (UTC)
Господа! По многим из Ваших высказываний Вам может понравиться HybridJava. Док - страниц 15 (всё на сайте в т.ч. по-русски). Остальное требуемое знание - толко Java и HTML. JSP, request, response и session - побоку. Ну и несмотря на краткость помощнее будет всего того кошмара через который мы все прошли. Кризис подарил автору почти два года оплачиваемого отпуска по безработице в США так что как раз нашлось время сравнить, как я надеюсь, практически со всем. Не только с Java технологиями, но и с четырьмя С#, PHP и пр. (Оно всё равно требовалось для многочисленных интервью).
Особенно в части MVC компонентной модели HaybridJava просто побила всех. А также по НЕ-использованию всякого сомнительной нужности хлама, чему специально посвящён один из разделов документации.
Заметьте что HybridJava это рафинированный Java Web presentation Layer, так что ещё одного своего ORM там нет.