Привет всем 🙋🏻♂️,
- Мы только начали пробовать Quarkus 🙏.
- Почему нужно переходить со Spring-Boot?
- Почему именно это приложение?
- 1# Интеграция с IDE 📝 — плагин VSCode
- 2# Кодирование Rest API 👨🏻💻 — стандартный способ
- 3# Документы 📖 — самодостаточны 👍.
- 4# Быстро 🏃💨 — минимум включено
- 5# Native ⚡️ — путь проложен 🛣
- 6# Мониторинг / инструментарий разработки — побочные блюда 🥗
- Ресурсы
- 📑 #jfokus2022 : Quarkus […] возвращение из будущего
- adriens for opt-nc ・ Jul 12 ・ 3 min read
Мы только начали пробовать Quarkus 🙏.
api-transitaires был первым, пришло время сделать несколько быстрых отзывов 📢
👉 Во-первых, я знаю, что фреймворку уже 3 года (некоторые npm
libs не живут так долго), но в некоторых J
компаниях инвестиции в создание некоторых Spring[-Boot] 🍃 разработчиков были сложными, поэтому замена должна быть ценной (или fin valab).
Почему нужно переходить со Spring-Boot?
У нас много приложений на Sping-Boot, и мы переходим на k8s в бессерверном режиме, поэтому мы провели несколько тестов с Spring-Native.
Это работало 👍, но не так гладко из-за долгой истории Spring 🏭, что привело нас к более новым альтернативам, таким как 👉 Quarkus.
Почему именно это приложение?
api-transitaires — это очень простой REST API с одной конечной точкой, который обслуживает список экспедиторов, управляющих таможенным оформлением в Нью-Каледонии 🇫🇷.
Главной целью было попробовать Quarkus в нашем GitHub CI: нативное приложение, Docker…
Итак, приступим…
1# Интеграция с IDE 📝 — плагин VSCode
Я использую VScode почти 2 года, я был рад обнаружить плагин Quarkus’а, который делает работу :
- генерировать новый проект : как это делает SprinBoot 😉
- запуск и отладка: хорошо, полагается на
mvn
, но это работает большую часть времени 🙄… иногда он выключается, не попрощавшись _(например: после добавления расширения Quarkus’а). В остальном, мне не нравится, что они предпочли использовать для этого специальное меню, а не классическое «запустить и отладить» VSCode 😒.
⭐️ Что я ценю:
- более быстрый цикл изменения кода / тестирования из коробки 📦 : сделал изменение, переключился на браузер и изменение уже применено (я испытал цикл обновления браузера дважды с Spring-boot Devtools)
☝️ Приятно иметь :
- автодополнение в
application.properties
, как это делает плагин Spring-Boot.
2# Кодирование Rest API 👨🏻💻 — стандартный способ
В то время как Spring решил сделать свои собственные аннотации (почти копия стандарта), с Quarkus мы возвращаемся к аннотациям стандарта Java. Ок, JSR не такие причудливые 🌈, но менее навязчивые 🐙.
3# Документы 📖 — самодостаточны 👍.
Нет необходимости полагаться на другие документы для выполнения базовых вещей, руководства Quarkus, на мой взгляд, лаконичны, практичны (стиль «начать работу») и хорошо ссылаются на google 🤓… Первый результат — официальный!
Меняет игру после многих лет пустых руководств по началу работы с Spring или справочной документации в стиле JavaDoc 😵💫.
👉 Я использовал :
- Rest
- Тест
- Native
4# Быстро 🏃💨 — минимум включено
-
Легче & быстрее, некоторые свежие метрики из недавнего перехода с Spring-Boot (colisnc-api) :
- время запуска: с
1s8
до0.5s
(действительно ли native нужен с Quarkus? 🤔) - CI native build : от
14min
до5min
- Размер нативного образа Docker : от
40Mo
до30Mo
- время запуска: с
-
Минимум включено : это философия и мне она нравится ❤️ (даже конфигурация
yaml
не включена: необходимо расширение)
5# Native ⚡️ — путь проложен 🛣
- Похоже, что он был в поваренной книге Quarkus с самого начала, а не добавлен в конце: Spring Native все еще находится в стадии экспериментов.
- Легкий по умолчанию: некоторые базовые вещи не предоставляются по умолчанию, например, поддержка протокола SSL, но это легко сделать
quarkus.ssl.native=true
.
6# Мониторинг / инструментарий разработки — побочные блюда 🥗
- меньше, чем актуатор, но достаточно, на мой взгляд: здоровье, Swagger
- Приятно иметь онлайн web dev, который дает некоторые базовые, но полезные метрики (как это делают другие, например Symfony 😉).
Ресурсы
- api-transitaires : первое приложение
- colisnc-api : первая миграция с Springboot выполнена за 1h30 ⏱


📑 #jfokus2022 : Quarkus […] возвращение из будущего
adriens for opt-nc ・ Jul 12 ・ 3 min read
Ваше здоровье 🍻