мы находимся в перспективном проектировании миграции большого веб-сайта, который основан на пользовательской разработанной mvc платформе к основанной на Java веб-платформе, которая оказывает встроенную поддержку для ajax, богатого мультимедийного контента, мэшапа, основанного на шаблонах расположения, проверки, максимального разделения кода html/java. Grails был похож на хороший выбор, однако, мы не хотим использовать язык сценариев. Мы хотим продолжить использовать Java. Основанное на шаблоне расположение является первоочередной задачей, поскольку мы намереваемся использовать это веб-приложение с несколькими веб-сайтами со схожей функциональностью, но радикально другим стилем.
Действительно ли основанным на портале решением является подходящий вариант к этой проблеме?
Любое понимание при использовании "Кенгуру Spring" или "Игры" будет очень полезно.
Я действительно находил подобные сообщения как это, но этому больше чем год. Вещи, конечно, изменились тем временем!
РЕДАКТИРОВАНИЕ 1: Спасибо за большие ответы! Этот сайт поворачивается, чтобы быть лучшим единственным источником для получения информации о программисте в канавках Однако, я ожидал больше информации об использовании портала-cms дуэта. Товары взглядов Jahia. Что-либо подобное?
Подходит ли решение на основе портала для этой проблемы?
Лично я бы держался подальше от больших толстых портальных решений (они часто являются убийцами производительности). Я слышал хорошие вещи о Gatein, но у меня нет никакого реального опыта работы с ним.
Любые идеи по использованию "Spring Roo" или "Play" будут очень полезны.
О Spring Roo я читал предыдущие ответы типа Spring roo Vs (Wicket and Spring) и другие вещи в интернете, но я все еще не уверен (может быть, я не понимаю), я не уверен в его зрелости, и, что более важно, мне действительно интересно, что SpringSource делает с Граалями и Ру (нет, Граалями против Ру - почему SpringSource нажимает на две очень похожие технологии? не убеждает меня, что они оба выживут).
Я не могу сказать много о Play. Я видел демо, как и все, но хотел бы прочитать отзывы из реальной жизни. А до тех пор я буду ждать.
Я нашел похожие сообщения (...). Всё, конечно, изменилось за это время!
Да и нет :) Но давайте войдем в ад фреймворков презентаций: на ваш вопрос нет единого ответа (как год назад), вокруг дюжины фреймворков и нет явного победителя. Просто для примера:
На самом деле, я бы посоветовал взглянуть на презентации Мэтта Рейбла , он действительно проделал большую работу, сравнивая веб-фреймворки, показывая их сильные и слабые стороны, собирая факты и цифры, показывая тренды.... Я рекомендую:
Действительно, взгляните на эти презентации, они помогут вам найти подходящий фреймворк (нет уникального ответа, но вы можете ограничить выбор, исключив его) и могут изменить вашу точку зрения.
Я бы вторым весной рекомендации. Я не огромный фанат GWT, я не думаю, что Java -> JavaScript BrossCompiler еще там еще там. Я работаю над приложением Ajax, которое использует весну на сервере и jQuery на клиенте. Несмотря на то, что для jQuery есть технически не «вне коробки», внедряя Spring-MVC AjaxView, простая и заняла около 25 строк кода.
JSF является хорошим кадром, но JSF 1.2 не хватало видения в течение многих лет. JSF 2.0 выглядит многообещающим и имеет много новых вещей, добавленных FRO M JSF 1.2, как поддержка AJAX, Facelets, поддержка аннотации и конвенции по умолчанию (менее XML), легкое создание компонентов, чем 1,2.
Он хорошо интегрируется с пружиной, если вы обеспокоены поддержкой DI.
Я нашел полосы , чтобы быть действительно эффективным и удивительно легким .... Он стремится быть более легким, чем стойки . Я слышал от друзей, которые являются разработчиками Web Phandtime, которые JSF не стоит беспокоить, хотя у меня нет первого опыта, и не сможете вернуться с примерами (!).
Насколько мне известно, довольно часто (санкционированно?) промывка потока эквивалентна экономии.
То есть, когда вы говорите:
file.flush();
Все ожидающее написания пишется. Обратите внимание, что std:: endl;
также вызывает flush
. Так что, оставьте его открытым и просто смыть после свалки информации.
Я нашел Искусство модульного тестирования Роя Ошерова очень полезным в понимании основ модульного тестирования, интегрального тестирования, TDD и так далее. Он немного адаптирован для языков .Net, но также предоставляет очень хорошую информацию о идеях автоматического тестирования.
-121--3702287-Воспроизведение близко похоже на ROR, версию ROR на java
Я думаю, то, что ты ищешь, это что-то близкое Джахии. Он поддерживает GWT, Mashups, Media Content и т.д.
http://www.jahia.org/cms/lang/en/home/Jahiapedia/Jahia_Templates http://www.jahia.net/downloads/jahia/jahia6.0.0/readme/index.html
Для меня три лучших варианта (в алфавитном порядке):
They:
Главный выбор для меня - Wicket . Четкое разделение разметки и java-кода. Очень легко писать и использовать компоненты. Простой в использовании Ajax, тестовая возможность. Вы можете отлаживать прямо на своих страницах / компонентах и не получать загадочные сообщения об ошибках от реализации JSF; )
Также имеется хорошая викита сравнения <--> JSF в условиях производительности
Обратите внимание на RESThub , которые следуют тем же принципам, что и Play! но реализовано путем повторного использования некоторых фреймворков / инструментов корпоративного уровня, таких как Maven 3 / Spring 3 / Jersey / jQuery.
RESThub очень разрушителен по сравнению с другими фреймворками, поскольку это полный набор инструментов, но без каких-либо серверных MVC или фреймворков на основе сервлетов. Вместо этого он использует графический интерфейс на основе пользовательского интерфейса jQuery, который использует веб-службы JAX-RS (REST) и систему шаблонов Javascript на основе встроенных Js.
Серверы не имеют состояния, и мы используем HTML5 sessionStorage для сохранения сеанса на стороне клиента. Этот подход разработан для RIA и масштабируемости.
Некоторые демонстрационные приложения предоставляются (даже если они находятся в стадии разработки).
В отличие от других ответов, я бы хотел выделить недостатки (ИМХО) популярных веб-фреймворков:
JSF2 - Выпущен и уже устарел. До сих пор вышло всего несколько новостей/статей/постов в блогах/опытов. Я настроен скептически. Все еще жду следующего крупного релиза Richfaces/Icefaces, который полностью поддерживает jsf 2 - в настоящее время можно скачать только альфа-версии.
Struts 2 - Кажется, что это хорошо, только если вы все еще полагаетесь на struts и хотите рефакторить большую часть вашего кода. В противном случае: Не стоит.
GWT - Мне не нравится одностраничность и подход java->javascript. Я не уверен, что можно легко достичь эффекта "одна сессия - несколько представлений/окон". Для меня этот фреймворк должен использоваться для однооконных богатых интернет-приложений для массового пользователя.
Wicket - Хороший подход, но немного многословный и слишком мало документации (кроме хорошей книги wicket in action, но она охватывает только 1.3). Также, для меня не хватает больших проектов, которые построены на нем. И в настоящее время я не вижу, куда ведет дорога wicket или она уже зашла в тупик.
Spring MVC - Еще не пробовал, но вам придется включить много банок (spring mess) в ваш classpath, чтобы работать с этим фреймворком должным образом. И он полагается на JSP (в большинстве проектов), который я считаю уже мертвым. И вы получаете только чистый MVC фреймворк - все остальные вещи (ajax и другие) должны быть реализованы/интегрированы.
Stripes - небольшой и хорошо спроектированный MVC фреймворк, но слишком мало документации, слишком мало коммитов/коммиттеров, слишком мало релизов, слишком мало поддержки индустрии, слишком мало активности в списках рассылки.
Мне также интересно, не пропустил ли я какой-нибудь крупный фреймворк (я намеренно не упомянул Tapestry), который мог бы стать вариантом для вас (а также для меня).
Пару лет назад я использовал программное обеспечение портала "Backbase", которое тогда было не очень развито. Но оно было хорошим и простым для разработки.
Некоторое время я использовал Spring 3 и Jquery, но услышал о Play и попробовал. Мне это очень нравится, Play отлично сочетается между чем-то вроде PHP и мощными фреймворками Java, такими как Spring.
Что мне больше всего нравится в игре:
Что мне не нравится в Play
Что-то, что заслуживает большего, чем просто пуля, - это RIA-фреймворки на основе игроков. Бывший. Adobe Flex + Java (Конечно, это может в некоторой степени зависеть от того, действительно ли ваш «сайт» является «сайтом» или больше похож на «приложение», вы бы не стали создавать блог-сайт во Flex.)
ajax,
В смысле «AJAX как модного слова» Flex обычно использует AMF (бинарный протокол, который более эффективен , чем протоколы, используемые приложениями AJAX), хотя вы также можете выполнять строго AJAX вещи с Flex. Итак, Flex поддерживает AJAX, но также поддерживает «лучше, чем AJAX».
мультимедийный контент, гибридные приложения,
Поскольку Flex работает на платформе «виртуальной машины» Flash, я думаю, что здесь мало что нужно добавить.
макет на основе шаблонов,
Точно не знаю, к чему это приводит, но звучит как Flex mxml.
проверка,
Поддерживается, конечно, хотя вы можете решить сделать что-то особенное, если хотите пофантазировать. (Не то чтобы вам это нужно.) Приятно то, что вы можете быть настолько изощренными, насколько хотите - или нет.
максимальное разделение кода html / java
Вы не можете разделить больше, используя подход разработки «виртуальных машин», такой как Flex / Silverlight / JavaFX. Это не просто позволяет вам отделить код представления от логики на стороне сервера и уровня доступа к данным - это гарантирует их разделение. «Виртуализация» вашей среды разработки дает вам кроссбраузерную совместимость, согласованную целевую платформу, отсутствие забот о новых браузерах или новых выпусках браузеров, нарушающих работу вашего приложения, лучшие возможности Java-подобной отладки и более профессиональный / впечатляющий конечный продукт. .