Java web-фреймворки

Несомненно, Java сейчас является одним из самых популярных языков, для него существует множество подключаемых инструментов. Мы подготовили для вас подборку web-фреймворков для Java, которые облегчат вам разработку сайтов.

http://appfuse.org/download/attachments/35/Logo_Spring_258x151.png?version=1&modificationDate=1355066977000&api=v2Spring MVC — один из самых популярных каркасов для web-сайтов на данный момент. Поэтому он обладает развитой экосистемой — если вам не хватает чего-то при разработке, вы легко сможете найти дополнение для фреймворка, которое добавит необходимую возможность. Огромное сообщество разработчиков всегда будет готово прийти вам на помощь, если у вас возникнут вопросы. С помощью Spring MVC вы сможете без особого труда разрабатывать большие и быстроразвивающиеся сайты. Тем не менее, есть у него и несколько минусов: данный фреймворк довольно сложен для изучения, поэтому, несмотря на хорошую документацию, новички, скорее всего, испытают трудности в его освоении. Кроме того, он не предоставляет удобных инструментов для создания пользовательского интерфейса.


 

https://upload.wikimedia.org/wikipedia/commons/a/ad/Vaadin-logo-hi.png

Vaadin (произносится «вáадин») базируется на Google Web Toolkit (он используется для вывода элементов пользовательского интерфейса и взаимодействия с сервером на стороне клиента), что добавляет архитектуре этого фреймворка сложности. Тем не менее, знание Google Web Toolkit не является обязательным для разработки на Vaadin. Более того, этот фреймворк вообще один из самых простых для изучения, а главной его «фичей» является «режим дизайна» —  в нем можно строить пользовательский интерфейс в режиме WYSIWIG и писать логику отдельно для каждого компонента. Документацию стоит упомянуть отдельно. Кроме множества гайдов и демонстрационных примеров существует так называемая «Книга Vaadin» — полный справочник по фреймворку, в котором вы найдете ответы на все свои вопросы. Книга бесплатно доступна онлайн, а бумажную версию можно заказать или получить на одной из многочисленных конференций, спонсируемых разработчиками фреймворка. Vaadin идеально подходит как для новичков, так и для профессионалов. Из минусов: не самая развитая экосистема и плохая масштабируемость для больших сайтов.


 

https://javaserverfaces-spec-public.java.net/nonav/images/20110510-jsf-logo.png

JSF является частью Java EE и официально поддерживается Oracle. Хоть этот фреймворк и не очень подходит для быстрой разработки, он легок в использовании благодаря наличию отличной документации (еще бы, ведь ее предоставляет сама Oracle), отсутствию каких-либо внешних зависимостей (пока вы остаетесь в экосистеме Java EE) и богатству возможностей. Экосистема фреймворка крайне развита и представляет из себя множество библиотек на все случаи жизни, в том числе и инструменты для удобной разработки пользовательского интерфейса. Главная фишка JSF в том, что, как уже было сказано ранее, он является частью Java EE — из этого следует отличное взаимодействие с IDE и официальная поддержка от Oracle. Все это в совокупности значительно облегчает разработку.  Недостаток фреймворка в сложности его устройства. Впрочем, иначе быть и не может, ведь он изначально задумывался как единое целое с Java EE.

Фреймворки, написанные на JVM-языках

Следующие фреймворки отличаются от вышеприведенных тем, что они базируются не на Java, а на языках, продолжающих ее традиции и работающих на JVM. Конечно, вы сможете использовать их, зная только Java, но при этом большая часть функций этих фреймоворков останется для вас недоступна.

https://www.playframework.com/assets/images/logos/play_full_color.png

Play написан на Scala и Java (при разработке можно использовать оба языка, но изначально фреймворк предназначен для Scala). Данный фреймворк крайне прост для изучения — уже через 10 минут чтения документации вы сможете написать первый своеобразный «Hello, world!». Одно из главных преимуществ Play — невероятно развитая экосистема, включающая в себя такие вещи, как SBT (Simple Building Tool) и Akka (отличная библиотека для реализации реакционного программирования). TypeSafe предоставляет полную документацию по возможностям фреймворка. Кроме того, данный фреймворк отлично подходит для быстрой разработки благодаря своей простоте. Таким образом, Play является отличным выбором для разработчика на Scala и неплохим для Java-программиста (знание первого все-таки желательно, потому что Play переносит во второй язык идиомы из первого, а функциональный код в объектно-ориентированной Java смотрится не к месту).


https://upload.wikimedia.org/wikipedia/de/5/56/Grails_logo_2009_2010.jpg

Grails — фреймворк, написанный на скриптовом языке Groovy, созданный под влиянием Ruby on Rails. Использовать данный фреймворк можно как c Java, так и c Groovy, но последний вариант все-таки предпочтительнее, так как при написании кода на Java вы не сможете использовать большинство замечательных возможностей Grails (выучить Groovy не составит особого труда, так как он очень близок к Java). Этот фреймворк идеален для быстрой разработки приложений — он не требует долгой настройки и затачивания под задачу. Документацию также стоит отметить — это множество официальных руководств, демонстрационных примеров, видео и т.д. Экосистема представляет из себя более 900 плагинов на все случаи жизни.