|
|
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Коллеги, а как разрабатывать на Java под WEB - БЫСТРО, Хочу этакий Дельфи. Шутка. Лучше среды для быстрой разработки под веб чем Ruby - нет, верно? А в случае java - как быть? Можно использовать аналоги - jruby, grails, groovy. Можно смотреть в сторону roo. А можно - спросить уважаемое сообщество. Как быстро писать под веб используя либо Java (используя мошные фреймворки) либо даже без джавы, но под JVM? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 09:49:39 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Vodopad, тут рядом, советуют начать с notepad-блокнота http://www.sql.ru/forum/actualthread.aspx?tid=918063 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 10:21:31 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Petro123, Это ценный совет. но мне бы хотелось делать _средние_ системы малым количеством разработчиков. Я подчеркиваю: средние. Большие системы - лучше сразу садиться на Spring и делать свой бизнес-ориентированный "движок". Для средних систем (12-36 человекомесяцев) так нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 10:50:39 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
VodopadКоллеги, а как разрабатывать на Java под WEB - БЫСТРО, Хочу этакий Дельфи. Шутка. Лучше среды для быстрой разработки под веб чем Ruby - нет, верно? А в случае java - как быть? Можно использовать аналоги - jruby, grails, groovy. Можно смотреть в сторону roo. А можно - спросить уважаемое сообщество. Как быстро писать под веб используя либо Java (используя мошные фреймворки) либо даже без джавы, но под JVM? Если RoR лучшее, что вы можете придумать для web - возьмите JRuby. В целом, выбор фреймворка осуществляется под задачу/команду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 10:52:12 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
VodopadPetro123, Это ценный совет. но мне бы хотелось делать _средние_ системы малым количеством разработчиков. Я подчеркиваю: средние. Большие системы - лучше сразу садиться на Spring и делать свой бизнес-ориентированный "движок". Для средних систем (12-36 человекомесяцев) так нельзя.Хрена себе средняя система! Да у вас на изучения Спринга уйдет максимум неделя, за то потом он у вам радикально ускорит разработку и тестирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 10:55:58 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Vodopad, Выбирайте: Spring Roo, Spring MVC, GWT, Vaadin, Wicket. Всё очень быстро и довольно шустро. Есть ешё Seam Framework + Richfaces там поначалу всё медленно, а потом тоже быстро ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 10:59:09 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Vodopad, тема ваша? Программирование шустрых и красивых Desktop приложений (1,2,3,4,5,все) Перейти на первое сообщение - какой вывод вы сделали из треда выше? Или у вас так, поболтать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:07:37 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
12-36 человекомесяцев вдохновляет! Если не хотите с нуля изучать яву и всё, что связано с вэбом, то Вам прямая дорога в аспнет. Там очень низкий порог вхождения. Любой делфист, практически с нуля может начать чего-то делать (если знает яву или сишарп). Но, не рекомендую. Сделать - сделаете, проблемы начнутся потом... . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:07:49 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
GregTkVodopad, Выбирайте: Spring Roo, Spring MVC, GWT, Vaadin, Wicket. Всё очень быстро и довольно шустро. Есть ешё Seam Framework + Richfaces там поначалу всё медленно, а потом тоже быстро ))) Я бы совета хотел :0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:13:14 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Petro123Vodopad, тема ваша? Программирование шустрых и красивых Desktop приложений (1,2,3,4,5,все) Перейти на первое сообщение - какой вывод вы сделали из треда выше? Или у вас так, поболтать? вывод сделан: Desktop на джаве писать не следует. Примеры - не вдохновили: все тормозное. Но заказов таких нет, потребностей нет, так что пофиг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:14:59 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
ShSerge12-36 человекомесяцев вдохновляет! Если не хотите с нуля изучать яву и всё, что связано с вэбом, то Вам прямая дорога в аспнет. Там очень низкий порог вхождения. Любой делфист, практически с нуля может начать чего-то делать (если знает яву или сишарп). Но, не рекомендую. Сделать - сделаете, проблемы начнутся потом... . АСП.нет - я знаю уже 10 лет, и я с него спрыгиваю. Мало платят за .NET - значит это не мое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:16:05 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Vodopad, Вы посмотрите описание каждого фреймворка и определите какой лучше подходит. Просто зависит от того какое вы хотите приложение написать. Если интерфейс аля desktop то я беру Vaadin, если нужно контролиовать генерацию каждой страницы и подключать js свой то Spring MVC. Но возможно вам ближе парадигмы Wicket или JSF. Всё индивидуально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:17:36 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
VodopadShSerge12-36 человекомесяцев вдохновляет! Если не хотите с нуля изучать яву и всё, что связано с вэбом, то Вам прямая дорога в аспнет. Там очень низкий порог вхождения. Любой делфист, практически с нуля может начать чего-то делать (если знает яву или сишарп). Но, не рекомендую. Сделать - сделаете, проблемы начнутся потом... . АСП.нет - я знаю уже 10 лет, и я с него спрыгиваю. Мало платят за .NET - значит это не мое.Все верно, это прямое следствие вот этого: ShSergeТам очень низкий порог вхождения."Специалистов" как грязи уже развелось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:18:34 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Вы хотели "контролы размещай - код не писай"? Их есть у нас. http://www.sdn.sap.com/irj/sdn/nw-wdjava?rid=/webcontent/uuid/00b64d9f-fea2-2910-c988-ee2544047f8c По вышеперечисленному, spring roo - либо после понимания большей части spring +aspectj , либо для понимания;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:23:02 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
ОзверинВы хотели "контролы размещай - код не писай"? Их есть у нас. http://www.sdn.sap.com/irj/sdn/nw-wdjava?rid=/webcontent/uuid/00b64d9f-fea2-2910-c988-ee2544047f8c По вышеперечисленному, spring roo - либо после понимания большей части spring +aspectj , либо для понимания;) Хочу уточнить: речь не о быстром вхождении. Пусть надо что-то изучать, и много. Но потом хочу делать приложения на раз-два-три. современная java - это для интерпрайз мира ассемблер :0) создавать бизнес-приложения - надо быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:27:36 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
GregTkVodopad, Вы посмотрите описание каждого фреймворка и определите какой лучше подходит. Просто зависит от того какое вы хотите приложение написать. Если интерфейс аля desktop то я беру Vaadin, если нужно контролиовать генерацию каждой страницы и подключать js свой то Spring MVC. Но возможно вам ближе парадигмы Wicket или JSF. Всё индивидуально. +1 аффтар! SmartGWT \ Vaadin и приходи через месяц. (Поиск) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:27:45 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
[quot Petro123 SmartGWT \ Vaadin и приходи через месяц. (Поиск)[/quot] понял, пошел смотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:28:59 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
VodopadАСП.нет - я знаю уже 10 лет, и я с него спрыгиваю. Мало платят за .NET - значит это не мое. И шо? За 10 лет ничему не научились? ПС. Что-то Вы, однако, неправду насчёт 10 лет говорите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:29:34 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
ShSergeVodopadАСП.нет - я знаю уже 10 лет, и я с него спрыгиваю. Мало платят за .NET - значит это не мое. И шо? За 10 лет ничему не научились? ПС. Что-то Вы, однако, неправду насчёт 10 лет говорите. Чему я должен был научиться, если у меня 10 лет .net-а и прочего майкрософта? Джаве? наверное, я вас обманываю, хехе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:38:22 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Vodopad, А что 10 лет назад кто-то уже в полный рост на дотнете писал? Я вот наоборот с явы на дотнет спрыгивал. :) ПС. Для вэб-приложений и то и другое плохо подходит. Аспнет только то извиняет, что порог вхождения с десктопных приложений - практически нулевой (вэбформс имею ввиду). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:51:18 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
ShSergeА что 10 лет назад кто-то уже в полный рост на дотнете писал? Здрасте! Я писал, на бете еще. за сумасшедшие деньги, кстати :0) Не то, что сейчас. ShSergeДля вэб-приложений и то и другое плохо подходит. есть что-то лучше? поделитесь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 11:56:06 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
VodopadОзверинВы хотели "контролы размещай - код не писай"? Их есть у нас. http://www.sdn.sap.com/irj/sdn/nw-wdjava?rid=/webcontent/uuid/00b64d9f-fea2-2910-c988-ee2544047f8c По вышеперечисленному, spring roo - либо после понимания большей части spring +aspectj , либо для понимания;) Хочу уточнить: речь не о быстром вхождении. Пусть надо что-то изучать, и много. Но потом хочу делать приложения на раз-два-три. современная java - это для интерпрайз мира ассемблер :0) создавать бизнес-приложения - надо быстро. да, только java - это не ассемблер для web интерфейсов. Я вам гарантирую с любым из выше(и даже НЕ) перечисленных web фреймоврков приличное кол-во костылей , если интерфейс будет чуть сложнее, чем "hello-world". В очередь посоветую wicket - для среднего уровня сложности интерфейсов zkoss - для сложного (видимо GWT на том же уровне, не пробовал) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 12:52:41 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Vodopad...есть что-то лучше? поделитесь! HTML, ЦСС, яваскрипт+ДОМ. Это то, что на клиенте в браузере, а для серверной части необходимо знать протокол HTTP и, если нужно работать с БД, знать SQL(что лучше) или nosql (что хуже по разным причинам). Как Вы понимаете, ни ява, ни сишарп, ни пхп и т.п. здесь точно ни при чём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 13:02:00 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
ShSergeVodopad...есть что-то лучше? поделитесь! HTML, ЦСС, яваскрипт+ДОМ. Это то, что на клиенте в браузере, а для серверной части необходимо знать протокол HTTP и, если нужно работать с БД, знать SQL(что лучше) или nosql (что хуже по разным причинам). Как Вы понимаете, ни ява, ни сишарп, ни пхп и т.п. здесь точно ни при чём. да, вот несколько странная ситуация сложилась. Java рекомендуют изучать с окна DOC и блокнота. А вот вещи типа выше - изучать не надо. Т.е. это вроде технологии гадкого утёнка Парадоксссс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 13:09:17 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Petro123, Чего изучать не надо? Не понял. А с блокнота - таки да. Кстати, я довольно долго писал на делфях, но из-под блокнота не смогу точно ничего написать, скомпилировать и запустить. А на яве - без проблем, обычно так и делаю, если ещё не очень много г-кода набралось. Правда, я никогда на яве не писал (и не буду) вэб-приложения (и бизнес-логику туда же). Только клиентсякая часть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 13:34:41 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Да уж, в качестве RAD разработки советуют обратиться к чистому HTML и ноутпеду. Очень здравая позиция (ирония) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 13:44:15 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
ShSerge , ну дак это и есть твой пример, что всё объять невозможно. Если начать с низов... (каких? DOM\JS\StdOut\БД\..) ... то можно там и остаться... Но это так, мысли вслух. IMHO сто раз обсуждалось - можно перескочить экстерном, а потом вернуться. Если чел хочет RAD, то насиловать его бесполезно. Надо дать ему RAD :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 14:23:38 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Vodopad, год назад мы ощутили, что инфраструктура JavaEE реально 'over-abstracted', для малых и средних проектов, в итоге это вылилось в создание двух фреймворков, одного для UI, другого для persistance. Оба фреймворка основаны на идеях Ruby on Rails и уже обкатаны на довольно крупном проекте, со средней сложностью бизнес логики. Скорость обучения - день, два для базового понимания, ну и недельку чтобы основательно врубится, скорость разработки - очень высокая. Итак фреймворк для UI - ActiveWeb( http://code.google.com/p/activeweb/) - по аналогии с Ruby On rails - основан на 'convention over configuration' и паттерне MVC. Центром всего является контроллер, к примеру BookController, который мапится на URL context/book, если вам нужно вызвать определеный метод, просто пишете a href="context/book/method" при этом будет вызван метод method у BookController, внутри метода можно удобно получить входные параметры, положить в контекст какие то выходные данные view("book", new Book()), после выполнение метода автоматически отрендерится темплейт /views/book/method.ftl. Для рендеринга мы приспособили FreeMarker, страницы это по сути html - с вкраплениями if(${book}) ... else ... итерацией коллекций и т.п.. то есть по сути ваша страница - это обычный html с вкраплениями данных, которые вы положили во view во время выполнения контроллера. Фреймворк полностью поддерживает REST, также очень хорошо поддается тестированию при помощи специального фреймворка, также реализовано Dependency Injection при помощи легковесного фреймворка Google Guice. Несмотря на то что все основано на соглашениях, существует множество аннотаций, чтобы переписать дефолтное поведение для нестандартных случаев. Если использовать в качестве persistance ActiveJDBC, то кода приходится писать на порядок меньше, чем в случае Spring/Hibernate Итак, пару слов о ActiveJDBC( http://code.google.com/p/activejdbc/) - это персистенс фреймворк, также основанный на соглашениях, и который имплементирует паттерн ActiveRecord, по сути все entities - это подклассы activejdbc.Model, бизнес-логика содержится либо в статических методах Book.findById("name = ?", bookName), причем findBy.. наследуются от Model, как и многие другие методы, вроде save, update ...или с помощью методов эземпляра. По умолчанию entity Book мапится на таблицу books, все поля хранятся в мапе и имена полей совпадают с именами колонок в таблице, по сути код вроде Book extends Model - часто довольно полная имплементация вашей сущности :) Фреймворк поддерживает Lazy-loading, caching, все виды ассоциаций(one-to-many etc..), батч-операции, транзакции, локинг, валидацию, каскадность, возможность легко писать тесты, листенеры на onSave onDelete... и т.д. Наследование реализуется через полиморфные ассоциации, немного неудобно но это недостаток самого ActiveRecord. Есть встроенная поддержка миграций(просто кулл). В общем много всего вкусного. Конечно есть недостатки - время от времени фиксим баги, а также для того чтобы Model работала, приходится инструментировать код, но это разумный компромисс, есть подробные инструкции на сайте, что со всем этим делать. По итогу, на нашем проекте, когда мы сами контролируем базу, и логика не то чтобы очень сложная - скорость разработки просто феноменальная, плюс в отличие от Ruby - фреймворки соответствуют стандартам JavaEE, и естественно могут быть синтегрированы с любым java -кодом. Есть еще альтернативы, вроде Play фреймворк и Grails, тоже советую посмотреть, но в каждом мы нашли небольшие недостатки, но я думаю вам будет из чего выбрать:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 14:26:47 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
забыл ник, У RAD для ГУИ ещё нужны компоненты-контролы типа Грид\Дата\Плеер\График ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 14:40:38 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
забыл ник, безумно отличается от SpringMVC+чтоугодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 15:07:16 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
забыл ник , Мде, попахивает конкретным велосипедированием. По вебу - все это уже давно есть в Spring MVC. ActiveJDBC - не видно какиз-либо преимуществ над Hibernate/iBatis. Короче говоря - зачем это все? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 15:18:14 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Petro123 ShSerge , ну дак это и есть твой пример, что всё объять невозможно. Если начать с низов... (каких? DOM\JS\StdOut\БД\..) ... то можно там и остаться... Но это так, мысли вслух. IMHO сто раз обсуждалось - можно перескочить экстерном, а потом вернуться. Если чел хочет RAD, то насиловать его бесполезно. Надо дать ему RAD :) Петя, ты - неправ. По моему скромному имху, начинать таки надо с блокнота. Это, что касается явы (то же самое с яваскриптом). Эти штуки писались, в отличие от делфей, для обычного текстового редактора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 15:41:53 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
ShSergePetro123 ShSerge , ну дак это и есть твой пример, что всё объять невозможно. Если начать с низов... (каких? DOM\JS\StdOut\БД\..) ... то можно там и остаться... Но это так, мысли вслух. IMHO сто раз обсуждалось - можно перескочить экстерном, а потом вернуться. Если чел хочет RAD, то насиловать его бесполезно. Надо дать ему RAD :) Петя, ты - неправ. По моему скромному имху, начинать таки надо с блокнота. Это, что касается явы (то же самое с яваскриптом). Эти штуки писались, в отличие от делфей, для обычного текстового редактора. если это абстракция, то еще ладно ;) но если вы серьезно, то ведь и огонь можно добывать с помощью прута и камня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 15:44:30 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Озверин, Не знаю. Моё имхо, что начинать надо с азов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 15:46:50 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
А то потом и получаются вопросы, типа: "Спасите-помогите! У меня программа под нетбинсом работает, а под эклипсом - никак". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 15:49:38 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
ShSergeОзверин, Не знаю. Моё имхо, что начинать надо с азов. Безусловно ;) Но постижение азов и мазохизм - ведь не тождественные понятия?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 15:51:14 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
ОзверинShSergeОзверин, Не знаю. Моё имхо, что начинать надо с азов. Безусловно ;) Но постижение азов и мазохизм - ведь не тождественные понятия?:) +1 Что придумывать подходы? Есть RUP для ShSerge . Есть "водопад" для меня Есть Экстремальное для Васи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 16:02:46 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
Petro123Есть "водопад" для меня Нашел чем гордится. И RUP вполне может включать элементы экстремального программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 16:16:01 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
LeonidvPetro123Есть "водопад" для меня Нашел чем гордится. И RUP вполне может включать элементы экстремального программирования. ты в своём стиле :) Где тут гордость \ солёное \ сладкое \ ...? Других тем нету? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 16:24:57 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
авторзабыл ник, У RAD для ГУИ ещё нужны компоненты-контролы типа Грид\Дата\Плеер\График Да, согласен. Но большинство фреймворков для rich UI - это крест на хорошем дизайне, или большой геморрой с оным. Сейчас в обилии javascript виджетов, которые элементарно встраиваются в приложение, как-то так. авторзабыл ник, безумно отличается от SpringMVC+чтоугодно. авторМде, попахивает конкретным велосипедированием. По вебу - все это уже давно есть в Spring MVC. ActiveJDBC - не видно какиз-либо преимуществ над Hibernate/iBatis. Короче говоря - зачем это все? Да, в ваших словах есть зерно истины, и довольно весомое. Насчет Activeweb - он основан на идеях как раз-таки Spring MVC(правда второй версии) и ROR. Да, в Spring MVC 3, как раз большинство наших идей и было реализовано, и сейчас не настолько актуально. Могу только добавить, что тестировать ActiveWeb проще, и практически не надо никакого конфигурирования, все работает по convention, что заметно ускоряет разработку. Ну и если в качестве персистенс выступает AJ - то AW идеально с ним интегрирован. Теперь про ActiveJDBC - какие у него преимущества? Да те же самые что у паттерна ActiveRecord перед Unit of Work. Естественно это не панацея, но иногда Хибернейт - это из пушки по воробьям. Разберу на примере, что вы делаете когда пишете код по работе с сущностью Book, 1)Настраиваем единоразово логику получения коннекшенов, транзакции и т.д( ну там persistence.xml и прочая шляпа) 2)Создаем класс Book, мапим его на базу, по сути 100-200 строк dumb кода из аннотаций и геттеров. 3)Создаем DAO, опять же 100 строк примитивного кода, хотя опять же есть тенденции к уходу к GenericDAO, но не суть, факт в том, что еще один класс. 4) В каждом контроллере инжектим PersistenceContext, в методах вызываем em.persist(book) и т.д. - опять лишние строки Что происходит в AJ - 1) В DBConfig указываем jndi датасорса, потом при каждом реквесте вызывается фильтр который берет коннекшен из пула и ложит его в ThreadLocal, в конце реквеста - возвращает в пул. 2) Просто пишем Book extends Model 3) В контроллере вызываем b = Book.find("author=?", author): b.set("date", new Date()); b.save(); Итого - в хибере, 300 строк в общем то однообразного размазанного кода + конфигурация, в AJ - ну строк 15, учитывая что такие фичи как ассоциации, лейзи лоадинг, интерсепторы и т.д остаются досупны. Да, я никого не уговариваю всем срочно бежать переходить на AJ, но раз топик стартер хочет RAD и любит ROR, то наше решение вполне должно его устроить. Хотя надо прекрасно понимать недостатки Active Record и границы его применения. На мой взгляд, для среднего проекта, и когда доменная модель хорошо ложится на базу - очень достойный вариант. Чем лучше iBatisа? - тем что ActiveRecord - это разновидность Rich Domain Model, сущности с поведением, в отличие от простых холдеров колонок из определенной таблицы, + практически нет никакой конфигурации. Не знаю как вы, но лично я устал от излишней сложности java, там где без нее можно обойтись. В общем, как-то так. Мой вывод таков, что данная связка подходит далеко не ко всем проектам, но если вписывается в концепцию - то очень сильно уменьшает время девелопмента, чего и хотел ТС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 16:46:08 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
забыл ник, ну. если без ГУИ, то это конечно RAD/2. Хотя у нас их и так небогато :) - Rich Domain Model полностью с БЛ в одном слое-классе? А как\что на клиента отправляете. Т.е. сериализация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 16:54:13 |
|
||
|
RAD development for Java WEB
|
|||
|---|---|---|---|
|
#18+
авторзабыл ник, ну. если без ГУИ, то это конечно RAD/2. Ну на самом деле FreeMarker теги пишутся элементарно, аналог кастомных тегов jsp, в рендерер запихиваешь value, он тебе итерирует таблицу и отрисовывает все что хочешь. У нас в проекте реализованы datePicker autocomplete и еще пару виджетов. В стандартный бандл не включены, ибо не так сложно самому написать, плюс на примере richfaces стало ясно - когда пытаешься учесть все - то получается что не уголишь в итоге никому. Есть идея на странице проекта выкладывать рецепты кастомных тегов. автор- Rich Domain Model полностью с БЛ в одном слое-классе? А как\что на клиента отправляете. Т.е. сериализация? Именно, на клиента отлается html, xml, json и т.п, у Model есть методы toJson, toXML и тп. в контролере можно сделать обратное преобразование - Book b = Book.fromParams() Book.fromXml(). По сути поддерживаются только тонкие клиенты, ибо как говорилось уже коннекшн лежит в ThreadLocal ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2012, 17:05:41 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2132561]: |
0ms |
get settings: |
11ms |
get forum list: |
24ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
68ms |
get topic data: |
20ms |
get forum data: |
5ms |
get page messages: |
105ms |
get tp. blocked users: |
2ms |
| others: | 401ms |
| total: | 650ms |

| 0 / 0 |
