Skip to content

Latest commit

 

History

History
60 lines (47 loc) · 3.85 KB

video2.3.md

File metadata and controls

60 lines (47 loc) · 3.85 KB

Обзор наиболее востребованных технологий. Тренды

Тренд на отказ от reflection

Говоря о трендах, хотелось бы сказать, что в настоящее время развиваются фреймворки, построенные на отказе от использования Reflection API. Dependency injection в Spring, сериализация с помощью Jackson построены на использовании Reflection, что сильно бьет по производительности, но было достаточно удобным решение до недавнего времени. Фреймворк Micronaut полностью построен на отказе от Reflection, и это дает существенный прирост производительности при измерении ряда параметров. Micronaut использует продвинутый компилятор и генерацию байткода, что позволяет создать все бины (управляемые фреймворком объекты) в ходе компиляции.

Пока доля Micronaut очень мала, но он используется в продакшене. Я предполагаю, что в какой-то момент Spring может также внедрить подобный подход.

Тренд на развитие реактивного программирования

Продолжает развиваться реактивное программирование, которое является в какой-то степени новой парадигмой в программировании.

Spring развивает свой реактивный фреймворк Spring WebFlux, который поддерживает библиотеку Reactor.

Ряд современных задач не решается традиционными методами, такими как блокирующий Input/Output, HTTP-протокол. Одним из решений данных вопросов является применение подходов реактивного программирования (Reactor, RxJava), использование новых протоколов передачи данных (RSocket). У нас также готовится курс ReactJava как продолжение TopJava на реактивном стеке.

Тренд на микросервисы, тезисы

ПО становится большим и сложным. Очень большое приложение сложно поддерживать одной командой, управлять его жизненным циклом: разработка, релиз. Приходиться все заново тестировать, долго ждать выхода новой фичи. Решение - микросервисы, когда над сервисом работает один человек или небольшая команда (есть правило двух пицц - команду можно накормить 2-мя пиццами). Это решает проблемы выше, но не бесплатно - разработка микросервисов, как и реактивного приложения, на порядок сложнее.

Следующий курс, готовый стать самым популярным после TopJava, - Микросервисы.