Топ-10 фреймворков для разработки на Java

6 комментариев
Топ-10 фреймворков для разработки на Java

Фреймворки позволяют строить приложения быстро, просто и эффективно, а также использовать готовые фрагменты кода, избавляя от необходимости писать его с нуля. Их выбор из всего многообразия зависит от потребностей конкретного проекта. Ресурс Technotification подготовил подборку из 10 фреймворков для Java-программистов и разработчиков.

1. Spring Framework

Spring — один из самых популярных Java-фреймворков. Его предпочитает большинство разработчиков на этом языке, в том числе благодаря возможности внедрения зависимостей.

Spring идеально подходит для создания корпоративных приложений и моделей конфигурации на базе Java. Он позволяет разработчикам сосредоточиться на бизнес-логике приложения. Близко связан с фреймворком Spring Boot.

2. PrimeFaces

PrimeFaces относится к лучшим лёгким Java-фреймворком. Его можно скачать в одном .jar-файле. PriemFaces существует уже много лет и служит UI-фреймворком для спецификаций JavaServer Faces и Java EE. Также он насчитывает более 100 компонентов, среди ключевых — валидация на стороне клиента и инструментарий для сенсорных смартфонов.

3. Blade

Blade — это легковесный MVC-фреймворк на базе Java 8. Он прост и включает интерфейс маршрутизатора в стиле RESTful. Также он относится к тем немногим Java-фреймворкам, в которых отсутствуют навязчивые перехватчики. Под «легковесностью» имеется в виду небольшой по объёму исходный код, который не превышает 500 Кб.

Для использования Blade понадобится создать типичный Maven-проект. Фреймворк поддерживает модульность в Java 9, а также большое число веб-компонентов Java.

4. Dropwizard

Dropwizard — мощный Java-фреймворк, высоко оптимизированный под разработку RESTful-сервисов. Он также идеален для написания микросервисов на этом языке и даёт лёгкий доступ ко всем мощным Java-библиотекам, например Google Guava, Jetty server, Hibernate Validator, Logback, Joda Time, а также Jackson для обработки JSON-файлов. JSON избавляет от необходимости писать код для метрик и конфигураций, позволяя направить силы на функционал приложения.

Dropwizard помогает достичь максимальной продуктивности при разработке. Приятный бонус — понятная для новичков документация.

5. Google Web Toolkit (GWT)

Фреймворк Google Web Toolkit выпущен Google с целью помочь разработчикам в написании веб-приложений на Java. Он даёт возможность писать Java-код и компилировать в JavaScript для запуска в браузерах.

GWT поддерживает команда опытных программистов Google. С помощью этого фреймворка можно создавать комплексные веб-приложения, не имея практического опыта с языками фронтенд-разработки, такими как JavaScript.

Фреймворк включает ряд уникальных функций, например абстракция UI, кросс‐браузерная совместимость и интернационализация.

6. JavaServer Faces (JSF)

MVC-фреймворк JavaServer Faces появился 14 лет назад. Он упрощает разработку пользовательских интерфейсов для веб-приложений. Самая замечательная особенность этого фреймворка в том, что построенные в нём UI-компоненты можно повторно использовать для других веб-страниц. В качестве шаблонов в JSF использует Facelets.

7. JHipster

JHipster — относительно молодой фреймворк, вышедший в 2013 году. Он сочетает Spring Boot, Angular и React в одном большом фреймворке. С помощью него можно запросто построить современное веб-приложение на Java.

Интеграция Spring Boot позволяет создавать приложения на базе фреймворка Spring. Помимо Angular и React, JHipster также использует Bootstrap. Кроме того, JHipster предоставляет два вида архитектур: монолитную или микросервисную. В первом случае фронтенд и бэкенд реализованы в едином приложении, во втором — раздельно.

8. Spark Framework

Spark — оптимальный выбор для программистов, разрабатывающих веб-приложения на Java. В нём можно быстро и без усилий строить бэкенд сайтов. Spark поддерживает практически все функции Java 8 и имеет выразительный API.

9. MyBatis

MyBatis фреймворк для осуществления маппинга между Java-приложениями и базами данных SQL. Обычно для подключения приложения к реляционной БД необходим API Java Database Connectivity. Он позволяет разработчикам выполнять крупные SQL-операции за несколько строчек кода.

MyBatis сравнивают с фреймворком Hibernate, так как оба являются посредниками между приложением и базой данных. Единственное отличие в том, что MyBatis не делает маппинг объектов Java в реляционную БД.

10. Play Framework

Play — ещё один лёгкий Java-фреймворк, завоевавший расположение большинства разработчиков. Он предоставляет интерфейс, через который можно реализовывать изменения в коде без необходимости заново развёртывать или компилировать его.

Фреймворк имеет асинхронные API, которые позволяют разработчикам масштабировать приложения, обходясь без дополнительных ресурсов. Play прекрасно поддерживает различные микросервисные паттерны.

Хотите сообщить важную новость?

Пишите в наш Телеграм

Горячие события

EMERGE 2020
1 июня — 3 июня

EMERGE 2020

Вебинар «Советы от рекрутеров: как найти квалифицированную работу в Европе»
4 июня

Вебинар «Советы от рекрутеров: как найти квалифицированную работу в Европе»

Читайте также

TIOBE: C — снова самый популярный язык программирования
TIOBE: C — снова самый популярный язык программирования

TIOBE: C — снова самый популярный язык программирования

1 комментарий
Huawei открыла фреймворк для разработки AI-приложений MindSpore
Huawei открыла фреймворк для разработки AI-приложений MindSpore

Huawei открыла фреймворк для разработки AI-приложений MindSpore

Uber и OpenAI представили фреймворк для распределённого обучения нейросетей
Uber и OpenAI представили фреймворк для распределённого обучения нейросетей

Uber и OpenAI представили фреймворк для распределённого обучения нейросетей

Обсуждение

1

Представленная информация выглядит очень странно: как минимум GWT, JSF, PrimeFaces дефакто умирающие (если ещё не умершие) фреймворки. MyBatis вызывает сомнения. Другие технологии (за исключением Spring) также требует уточнения.

0

Опоздали лет на пять...

0

Сергей, как можно :) GWT это святое, GWT жил, GWT жив, GWT будет жить. Вот Play Framework на последнем месте это странно.

Николай Ищенко
Николай Ищенко Senior Programmer в ISsoft
0

jHipster - framework? Примерно такойже как и Maven archetypes.
Не путайте понятия framework и scaffolder.
https://www.youtube.com/watch?v=LnWvwDTf_5I

busotir
busotir Senior Software Engineer в Oxagile
0

Описание MyBatis само себе противоречит: то ли он мапит объекты в бд, то ли главное отличие что не мапит.

0

Спасибо. Довольно поверхностно но для новичков подойдёт. Читал похожую но более развернутую статью по данной тематике https://writeabout.tech/programming/java-web-frameworks/

Спасибо! 

Получать рассылки dev.by про белорусское ИТ

Что-то пошло не так. Попробуйте позже