HybridJava не является надстройкой над JSP или JSP 2.0, а строится прямо на базе Servlet. Из всех возможностей Servlet API технология использует лишь объекты request, response и session.

Технология HybridJava не обременена никакой конфигурацией. На самом деле, компилятор внутренне генерирует конфигурацию в зависимости только от набора доступных .page , .widget и .java файлов. Также, HybridJava технология не маскирует конфигурацию под Java аннотации. В частности, HybridJava свободна от XML.

HybridJava не технология client-side, хотя ее фреймворк использует простой JavaScript. HybridJava прозрачна для client-side технологий (таких как AJAX или FLEX).

HybridJava не занимается персистентностью данных за пределами сессии. Её область лежит строго в пределах Presentation слоя. И не важно если за Presentation слоем приложение использует Hibernate, EJB , или JDBC.

Фреймворк HybridJava не обеспечивает навигации по страницам (workflow), которая, по нашему мнению, принадлежит другому уровню технологии. То же самое относится к аутентификации, авторизации, и многим другим вещам из компьютерной науки.

HybridJava не является "темплейтным движком" - он использует по полной компиляцию, и тем самым опирается на глубокое понимание кода приложения. Все операции над статическим содержимым выполняются во время компиляции, так что нет места для HTML кэшинга - ко времени исполнения весь статический контент вставлен в байт-код .class файла страницы.

Ни виджеты HybridJava ни компоненты HybridJava не возвращают значений типа String- все значения передаются напрямую в объект PrintWriter вывода Сервлеты . Компилятор HybridJava не должен генерировать операций над строками Strings.

HybridJava не предоставляет никаких готовых виджетов. Те, что включены в релиз (.zip файл), это просто примеры. Мы считаем, что Веб-тезнология должна делать так, чтобы было легче неписать ваш собственный набор виджетов, чем изучать написанные кем-либо ранее. Мы предполагаем следующие приоритеты повторного использования виджетов: во-первых внутри одного приложения, во-вторых, внутри компании, и в-третьих, между разными компаниями.

В нашем фреймворке создание инстансов компонент происходит только для тех виждетов которые действительно нуждаются в них, поскольку имеют состояние. Чистые виджеты презентации в HybridJava воистину легковесны: они компилируются в ничто большее чем в часть единственного метода-отрисовщика страницы. Сгенерированный код имеет доступ к данным представления напрямую, так что никаких JavaBeans не используется и не нужно задавать интерфейсы как в JSF/Facelets.

HybridJava не строит DOM HTML страницы во время рантайма. Никаких Listener классов не прикреплено к кнопкам. Страница может иметь много HTML контролей, и всего лишь одного "слушателя" на сессию. В отличие от Wicket, HybridJava не считает каждый цикл Java компонентой. В отличие от JSF 2.0 и многих других HybridJava не считает каждую кнопку компонентой.

HybridJava не имеет ничего похожего на стэк значений (Struts 2) - стэк JVM вполне достаточен для сохранения контекста и работает быстрее.

Программист на HybridJava не должен вручную возиться с идентификаторами компонент. Фреймворк делает это за вас, даже если компонента используется в цикле или рекурсивно. Зная эти ID фреймворк автоматически отсылает данные ввода нужным компонентам.

HybridJava НЕ использует forward, redirect, XSLT, DTO, "Filters", "Helper classes", Servlet mapping, неймспэйсы XML. Ничего похожего на класс TagSupport (JSP 2) или класс UIComponentTag (JSF) не используется. Никаких "списков аттрибутов". Ничего похожего на Fragments (Wicket etc.). Нету фазы "Restore View" (JSF) - по умолчанию инстансы хранятся в сессии между хитами. Вы можете легко изменить исходники рантайма чтобы хранить состояние где-то еще, например в самом HTML странице.

У нас нет специального Языка Выражений(EL). Java есть лучший EL известный нам. В HybridJava вы просто используете Java выражения.

Нет особого механизма раскладки("Layout") как в JSF, Tapestry, Struts/Tiles или ASP.NET MVC/Razor. В связи с наличием поименованных сокетов, каждый виджет, а не только "Главная Страница" может иметь раскладку.

HybridJava технология не рекомендует использование многих HTML форм на одной странице. Таким образом Фреймворк добивается чтобы действия пользователя отражались в соответствующем обработчике.

Техническое описание HybridJava никогда не будет иметь 800 страниц документации. Не будет даже и сорока. Следовательно, HybridJava это экологически чистая технология.


© 2012 HybridServerPages Group. Все права защищены.