Frameworks
Основные разделы
- AKKA
- Spring
- Quarkus
- Micronaut
- Jakarta EE(Java EE) - набор спецификаций и соответствующей документации для языка Java, описывающей
архитектуру серверной платформы для задач средних и крупных предприятий.
- Google Guice - это среда внедрения зависимостей на основе Java с открытым исходным кодом.
- GWT(Google Web Toolkit) - это фреймворк от Google, который позволяет писать фронтенд веб-приложений
на Java, а затем компилирует Java-код в JavaScript.
Data base
- Mybatis
Тестирование
- Mockito
- Spock
GWT(Google Web Toolkit)
Пишешь приложение как будто для Java, а GWT превращает его в оптимизированный JS, который работает в браузере.
Для чего используется
- Писать большие SPA-приложения на Java;
- Делиться кодом между frontend и backend (валидация, модели);
- Давать Java-разработчикам возможность делать фронтенд без JS.
Сейчас GWT почти не используется — он считается устаревшим. Его заменили современные фреймворки:
- React
- Angular
- Vue
- TypeScript
Плюсы
- Пишешь на Java, не трогаешь JS.
- Хорошая оптимизация под браузер.
- Поддержка больших приложений и модульности.
Минусы
- Старый стек, мало обновляется.
- Слабая экосистема.
- Дебажить сложнее.
- Большие бандлы.
Что должно быть в современном веб-приложении
API
- Идемпотентность
- Пагинация
- Validation
- Cache - Spring cache/Redis/Memcached.
Основа
- Выбор и настройка GC
- Docker-compose
- Lombok
Вычисления
- Transactions
- Асинхронные вычисления - CompletableFuture и др.
Документация/Debug
- Logging
- Swagger
- Readme.md
- Мониторинг
DB
- Система миграций БД - Liquibase, Flyway.
Тестирование
- Тест контейнеры
- Integration tests