Веб-платформы Java

Visual Studio 2005/2008 плакаты привязки клавиш:

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

кроме того, макрос, который выводит всю текущую привязку к файлу HTML:

http://www.codinghorror.com/blog/archives/000315.html

17
задан Peter Hilton 27 August 2010 в 14:12
поделиться

16 ответов

Я открыл для себя Grails около года назад и не оглядывался назад. Он заимствует множество идей из Ruby on Rails (первоначально он назывался Groovy on Rails) и имеет богатую экосистему плагинов / расширений. Grails и базовый язык Grails (надмножество Java) делают программирование приятным - вы действительно можете сосредоточиться на самом главном. Его функциональность GORM (слой поверх спящего режима) также очень мощная и, помимо системы плагинов, является одной из двух огромных причин проверить ее (вы также можете использовать ее в своих java-приложениях).

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

Что касается производительности, то она определенно меньше, чем у чистой Java, но у вас есть все, от spring / hibernate / J2EE, для оптимизации, и вы всегда можете перейти на чистую java для некоторых важных фрагментов кода. Недавно было проведено несколько экспериментов, позволяющих запускать часть кода Groovy с использованием разрешения статических методов, что в сочетании с поддержкой invokedynamic должно обеспечить значительное повышение производительности.

Также на Java стоит попробовать Spring Roo и AribaWeb.

Обновление на основе дополнительных квалификаций

Масштабируемость, производительность, Документация и достойные ресурсы потребление

  • Масштабируемость - вы получаете проверенный стек Java / Spring / Hibernate, хотя я не могу сказать, что Grails предоставляет многое сам.
  • Производительность - это основная причина использования Grails. У вас есть накладные расходы на производительность, но Grails - это то, что вы используете, когда время разработки / продуктивность более важны.
  • Документация - документы grails великолепны, и только по Grails написано как минимум три хорошие книги. Сообщество процветает и очень полезно.
  • Потребление ресурсов - вот единственный компромисс. Grails (частично из-за лежащего в основе стека java) требует больших ресурсов. Если бы я создавал что-то вроде Google, Grails не подходил бы. Однако в любом веб-приложении любой сложности вам подойдет решение для кеширования, и здесь применимо то же самое.
17
ответ дан 30 November 2019 в 12:27
поделиться

Другой вариант - RIFE , который пытается иметь минимальную конфигурацию RoR, оставаясь при этом на Java. В вашем списке только Play Framework имеет эту функцию, остальные находятся на JVM, но не на Java (если это вообще важно для вас).

0
ответ дан 30 November 2019 в 12:27
поделиться

А как насчет VRaptor ? - он использует Spring как контейнер DI и движок контроллера / представления, аналогичный Rails Action-Pack.

0
ответ дан 30 November 2019 в 12:27
поделиться

если grails - это вариант (который на самом деле не java, а groovy framework), то также можно использовать фреймворк на основе Scala Lift .

0
ответ дан 30 November 2019 в 12:27
поделиться

Я не уверен, обеспечивают ли Spring MVC и Hibernate такую ​​же простоту использования, что и Ruby on Rails (на самом деле, я уверен, что это намного сложнее ...). Я думаю, Play Framework больше похож на Ruby on Rails, однако я сам не использовал его, а только посмотрел скринкаст и прочитал некоторую документацию по нему, поэтому, если вы хотите получить аналогичный опыт разработки с использованием RoR, я думаю, вы можете лучше попробовать что-то вроде Play вместо Spring MVC с Hibernate. Преимущество последнего в том, что он очень мощный и может адаптироваться, например, к существующей модели данных (из того, что я знаю по RoR, это не очень тривиально в RoR). Другой фреймворк, который вы могли бы рассмотреть, - это Groovy on Grails. Хотя он не использует Java (он использует Groovy), он очень похож на RoR. Он использует Spring и Hibernate под капотом (если я прав), а преимущество Groovy в том, что у вас нет строгой статической типизации Java. Ruby on Rails и Django сильно выигрывают от динамической природы языка, на котором он реализован, функции, которую Java упускает из-за статической типизации.

Edit: ах, вы уже упомянули Grails в своем вопросе ...

0
ответ дан 30 November 2019 в 12:27
поделиться

Я не знаю о Play Framework, но Spring MVC или Struts вместе Hibernate будут предлагать аналогичные функции.

Есть много других вариантов. В основном вам нужна среда MVC (Spring MVC, Struts, Wicket) и инструмент ORM (Hibernate, iBatis). Конечно, вам придется интегрировать необходимые компоненты самостоятельно, но это уже делалось много раз, и вы сможете найти много информации.

0
ответ дан 30 November 2019 в 12:27
поделиться

Сам не пробовал, но мои коллеги любят использовать полосы

Есть книга и все такое.

1
ответ дан 30 November 2019 в 12:27
поделиться

Как насчет JRoR

1
ответ дан 30 November 2019 в 12:27
поделиться

Я не знаю о Play Framework, но чтобы ответить на второй вопрос, мы делаем некоторые проекты с помощью Google's Webtoolkit . Стоит проверить.
Удачи!

1
ответ дан 30 November 2019 в 12:27
поделиться

Попробуйте Lift Framework . Это действительно здорово.

2
ответ дан 30 November 2019 в 12:27
поделиться

Используя распорки, калитку, перила и гобелен, я рекомендую вам изучить Гобелен 5 .

Он поддерживает

  • при перезагрузке класса контейнера (так что вы не вам придется перезапускать ваше веб-приложение каждый раз, когда вы вносите изменения)
  • быстрое время разработки и повышенная производительность - он использует модель на основе компонентов, с декларативной связью
  • минимальная конфигурация, которая в любом случае в основном в коде, соглашение по конфигурации и т. д. ..
  • Нет базовых классов для расширения
  • Язык выражений для использования в файлах шаблонов
  • Хорошая поддержка ajax
  • Отличная поддержка отладки, как на стороне клиента, так и на стороне сервера
  • Хорошая интеграция доступа к данным
  • и активное сообщество
  • , написанное с нуля с учетом производительности . например, объединение страниц (для минимизации использования ресурсов), сжатие страниц, устранение пробелов, весь динамический код скомпилирован в родной.
  • хороший компонент и поддержка форм, упрощающие общие задачи. Сортировочная база данных, поддерживаемая дридом, может быть закодирована с помощью всего одной строки кода шаблона и минимальной базовой серверной части.

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

(Кроме того, обязательно смотрите только на T5, а не на T4,3,2,1 ....., так как они сильно отличаются от текущей версии)

Подробнее о том, почему здесь .

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

(Кроме того, обязательно смотрите только на T5, а не на T4,3,2,1 ....., поскольку они сильно отличаются от текущей версии)

Подробнее о том, почему здесь .

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

(Кроме того, обязательно смотрите только на T5, а не на T4,3,2,1 ....., так как они сильно отличаются от текущей версии)

Подробнее о том, почему здесь .

2
ответ дан 30 November 2019 в 12:27
поделиться

Stripes кажется довольно легким и охватывает Соглашение выше Конфигурации.

3
ответ дан 30 November 2019 в 12:27
поделиться
​​

Spring Roo утверждает, что это решение.

1
ответ дан 30 November 2019 в 12:27
поделиться

AribaWeb также поддерживает Groovy. Ознакомьтесь с другими нашими функциями на http://aribaweb.org/ и узнайте, как мы делаем веб-разработку продуктивной.

0
ответ дан 30 November 2019 в 12:27
поделиться

Каждый раз, когда вы рассматриваете стек приложения (язык, фреймворк и т. Д.) ) вам также необходимо подумать о том, что вы пытаетесь решить, и какие навыки программирования у вас есть. Я обнаружил, что более опытные программисты на Java были очень продуктивны со стеком Groovy и Grails по сравнению с более молодыми программистами.

Вы упоминаете следующие области, вызывающие беспокойство:

  • Масштабируемость: с точки зрения чего именно? (просмотров страниц в секунду, # транзакций в секунду и т. д.) В общем, Groovy и Grails будут масштабироваться, когда дело доходит до рендеринга страниц, однако, как и любой стек приложений, использующий ORM (в случае Grails у вас есть GORM) это некоторые накладные расходы, которые следует учитывать.
  • Производительность: одно из основных преимуществ здесь - быстрое создание прототипов, быстрая разработка - это легкий ветерок с Groovy & Grails, хотя это помогает иметь в штате людей, которые разработали на Java или Ruby, чтобы понять, что на самом деле фреймворк Grails делает «под капотом». Существует множество подключаемых модулей для пользовательского интерфейса, которые помогают очень быстро создавать страницы, подобные Web 2.0.
  • Документация: для Groovy & Grails создается все больше качественных справочников. Оба очень хорошо созревают за последние 2 года. Определенно не очень хорошо документирована большая часть внутренней работы фреймворка Grails при обнаружении ошибок / проблем (большая часть выходных данных фреймворка в лучшем случае неясна или отсутствует в лучшем случае, когда возникает ошибка). Если вы готовы засучить рукава и проявить изобретательность в изучении внутренней работы, то вы не будете разочарованы этим стеком. Еще раз,
2
ответ дан 30 November 2019 в 12:27
поделиться

Мы широко используем фреймворк Stripes, и он работает очень хорошо. Он действительно легкий и направляет вас к чистому дизайну ваших приложений. По сути, он просто скрывает от вас скучные части разработки, чтобы вы могли сосредоточиться на интересных вещах (одним из таких примеров являются индексированные свойства).

0
ответ дан 30 November 2019 в 12:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: