Новый релиз Apache Wicket 1.4

Находясь в больничном отпуске, довольно закономерным является факт прочтения различного рода литературы, в том числе и знакомство с новыми технологиями, фреймверками и т.п., в связи с чем InfoQ стал стартовой страницей моего любимого браузера. Вода-водой, а переходить нужно к сути:  признаюсь, с викетом никогда раньше работать не приходилось, но услышав от девелоперов больше позитивных поинтов чем негативных, всё-таки решил с ним познакомиться. Погуглив страниц десять, я не только нашёл домашнюю страницу фреймверка :) )) , но и узнал о том, что совсем недавно был анонсирован новый релиз такой замечательной плюшки, как Apache Wicket. С чем с вами дорогие читатели и решил поделиться. Более детальную информацию о релизе читаем здесь.

P.S. В то время, как я знакомлюсь с этим фреймверком (пост-репорт будет обязательно), хотелось бы узнать вьюпоинт тех девелоперов, которым с ним уже работать приходилось. В чем плюсы? В чем минусы? Какие приемущества и недостатки перед другими аналогичными фреймверками?

Google выбирает Jetty для App Engine

Google App Engine изначально использовал Apache Tomcat в качестве контейнера сервлетов, который в конечном итоге был заменён на Jetty. Это событие породило ряд дискуссий в сообществах программистов, так как довольно интересным остается следующий вопрос – по какой причине этот переход был осуществлён ? Ответы на данный вопрос даёт InfoQ (кликаем сюда).

Ключевые определения в JSF

Как и большенство технологий, JSF имеет свой собственный набор определений, таких как элементы пользовательского интерфейса, валидаторы и рендеры. Должно быть вы имеете представление о том, зачем эти элементы предназначены в целом, но для того, что бы написать Faces приложение, вы обязаны иметь представление о том, какую ключевую роль каждый из них играет в мире JSF.  Итак, давайте рассмотрим следующие базовые определения, на основе которых JSF вертится вокруг своей оси:

UI компонент (UI component) – стейтфул объект, хранящийся на сервере, который предоставляет функциональность для взаимодействия с конечным пользователем.  UI компонентами являются объекты JavaBeans со свойствами, методами и событиями.  Они организованны в виде (элемент модели MVC), который  состоит из дерева компонентов, обычно отображаемого на странице.

Рендер (Renderer) – ответственный за отображение UI компонента и преобразование вводимых пользователем данных в значения, понятные для компонента. Рендер может работать с одним или более UI компонентом, а UI компонент может иметь ассоциацию со множеством рендеров.

Валидатор (Validator) – несёт ответственность за проверку вводимых пользователем данных на предмет соответсвия их с допустимыми значениями. С одним UI компонентом может быть ассоциирован один или более валидаторов.

Бэкинг бины (Backing beans) – специальные JavaBeans’ы, которые собирают значения из UI компонентов и реализуют методы, ответственные за обработку событий.

Конвертер (Converter) – конвертирует значение компонента из  и в строку для дальнейшего отображения.

События и слушатели (Events and listeners) – JSF использует модель событие/слушатель (так же используемую в Swing). UI компоненты (и другие объекты) генерируют события, а зарегистрированные слушатели обрабатывают эти события.

Сообщения (Messages) - информация, которая возвращается пользователю при вводе в действие бекинг бина, валидатора, конвертера и др.

Навигация (Navigation) – предоставляет возможность навигации с одной страницы на другую. JSF имеет мощную навигационную систему, интегрированную со специализированными слушателями событий.

Совокупность всех вышеперечисленных определений является краеугольным камнем JSF.