Архив за Ноябрь 2009

Google Guice – вопрос к джавистам

Ноябрь 4, 2009

Будет ли интересна заметка по разбору этого фреймворка, с примерами? Недавно его как следует поковырял, если будет кому-нибудь интересно, напишу про него.

Mentawai web framework

Ноябрь 1, 2009

Так уж сложилось, что весь мой опыт работы связан с enterprise проектами, со всеми присущими им технологиями, соответственно любой web-проект воспринимается как нечто, содержащее в себе с полдесятка технологий, которые надо интегрировать и конфигурировать. Типовая связка – Spring+Hibernate+Spring MVC\Webflow. Только для того, чтобы запустить работающий скелет такой системы, необходимо написать весьма приличное количество конфигов, при этом хорошо, если четко помнишь что с чем интегрировать, какие бины создавать и где какой xml править, тогда может и уложишься в пару часов, а если последний раз такое делал давно, то смело можно убить на это полдня. Я уже молчу, что количество зависимостей будет весьма немалым – с десяток библиотек точно придется деплоить. Ну и конечно xml hell – я ненавижу писать xml конфиги. Из языка разметки данных xml превратили в еще один язык программирования, причем у каждого фреймворка свои структуры и свой формат. Аннотации спасают положение, но только если их в коде немного. Особенно феерически выглядят классы доменной модели, в которых сразу используются аннотации JPA, валидации и еще например, поискового движка типа Compass. В итоге самих аннотаций становится больше чем кода. Это та цена, которую приходится платить за создание enterprise систем и, надо сказать, по сравнению скажем, с EJB 2.x, все выглядит весьма неплохо :) Однако, такой подход совершенно не вдохновляет, если хочется написать нечто небольшое, какой-нибудь проект для себя, как говорится just for fun. Как только я представляю себе весь этот процесс, мне уже не хочется ничего делать. Всякие Django, руби-на-рельсах и т.д. мне изучать только для свободы самовыражения как-то неохота, поэтому я решил поискать фреймворк на pure Java. Основными критериями были: максимальная простота в использовании (принцип KISS), минимум конфигурации (convention over configuration), возможность быстрого построения веб-проекта малого масштаба. В итоге перебрав около десятка разных вариантов, случайно наткнулся на сабж. Парни из солнечной Бразилии судя по всем задались такими же мыслями, как и я, поэтому фреймворк мне очень понравился. Очень прост в использовании, содержит все необходимые фичи – собственную IoC/DI реализацию, подсистему авторизации/аутентификации, валидацию, простейший персистентный механизм, поддержку AJAX, i18n, поддержку транзакций и т.д. Конечно, это все гораздо примитивнее того, что используется при построении больших корпоративных систем, но ведь и такой задачи перед этим фреймворком не стоит. Гораздо важнее другое – все это просто работает, без сотен строк xml, кучи зависимостей, многочасовых воскуриваний мануалов и танцев с бубном вокруг особо хитровылетевшего эксепшена. То что надо, если понадобится быстро склепать небольшой вебпроект, которому вовсе не требуется вся мощь энтерпрайз технологий. В будущем наверное буду писать заметки с рассмотрением примеров типовых задач и как это решается с помощью Mentawai,  хотя на сайте есть вполне приличные how-to и примеры.


Follow

Get every new post delivered to your Inbox.