Рубрики
Без рубрики

Micronaut – первые впечатления

Уже слышали эту framework? Он был создан Graeme Rocher, даже при условии, что создал Граали… Помечено micronaut, api, java, бразильскими разработчиками.

Уже слышали эту framework? Эле фой криадо для Грэма Роше, о месмо суэйто, как ты кричишь о Граалях и прометее, решающем различные проблемы, о тенемос, нет Граалей, нет Весны. Но он заменяет эти рамки? В случае, если Grails, не, уже, когда дело доходит Spring, пожалуй. В этом посте я буду размещать здесь мои первые впечатления.

Что такое Micronaut

Первый абзац, вы уже знаете: это концепция, направленная на то веб-разработки, но не любой веб-разработки, и да, Api-интерфейсы, более конкретно, микро-сервисы. И поэтому, читая его документации вы увидите различные термины используются для этого типа приложения: облачный натив , конфигурация сервиса, бессерверные функции и все те словечки, что мы уже туда привыкли слышать.

До сих пор есть не большие новости: как Весна кванто Grails нас уже поддерживают все эти технологии, прямым или косвенным способом. Я занимаюсь разработкой небольших проектов с ним (в том числе большое значение) то, что я могу с уверенностью заявить: не существует значительный скачок производительности для таких разработчиков, как мы переживаем нет примитивного контакта с Граалями вашего весеннего ботинка .

То, что побудило команда Graeme Rocher в создании этой новой framework? Какие проблемы были обнаружены в Spring и Grails, которые он пытается решить? Вот где это становится интересным: с точки зрения строго связан создания кода, вы будете работать с тем же JPA, который уже знает, написание драйверов, по существу, равны, можно даже использовать практически все аннотации Spring и реализовать свои интерфейсы в Micronaut. По отношению к языку программирования, также не существует больших успехов: вы можете использовать Groovy, Java или Kotlin, так что без потрясений здесь. Что меняется, – это инфраструктура .

Что инфраструктуру?

Вот где это становится действительно интересно: теперь у нас есть инфраструктуры действительно . И это относится, в некоторые моменты, которые, признаюсь, изменил мой образ мышления, как frameworks написаны таким образом, довольно радикальный.

Отражение показывает его цена – boot снимок и низкого потребления памяти

Отражение имеет свою цену, однако первый раз, что на самом деле испытал, в самом деле в эту стоимость был писать проекты с Micronaut.

Объясняю: практически каждый framework Java использует аннотации для определения его компонентов: аннотации @Controller , например, он определяет класс как bean, который будет предоставлять конечные точки HTTP. Когда ваше приложение запускается framework читает classpath приложения, определяет все классы отмечены и, в результате, прикладывает необходимые действия, которые выполняли роль определяется за эти заметки.

В Micronaut следует противоположным образом: у нас еще есть заметки, как я уже сказал выше, вы будете помечать свои классы таким образом, вполне подобное тому, что уже привыкли в Spring (почти равна). Разница в том, что с помощью ресурса малоизвестные, по большей части программистов ( annotation procesors Java и обработки байт-кода с использованием библиотеки АНМ ) имеем новый контейнер инъекции зависимостей и инверсия управления .

Контейнер не узнает, кто являются нашими фасоль во время выполнения, но да во время компиляции. И это делает все различия. Какой? В основном приложение, используйте средства безопасности, предоставленных Micronaut, очень похожие на те, что у нас в Spring Security JPA начинается почти мгновенно (максимум 2 секунды в моих тестах).

(если у вас есть приложения, сделанные в Grails, что используют Spring Security очень хорошо знаете, что я говорю: у нас есть загрузки leeeeeenta)

Так как мы имеем дело с прокси-классы также дифференцируется. В этом контейнере IoC, также мы можем работать с AOP , как и в случае с Spring, но с advices и перехватчики, определенных во время компиляции.

И не только у нас, здесь мгновенной инициализации проекта: еще одна проблема также решена. Потребление памяти значительно ниже . То, что уже было пережито с Node.js я переживаем сейчас: у меня есть Api, выполнив теперь они потребляют менее 100 Мб памяти. Вы можете себе это представить с Java? Я тоже не верил, но to увидев это здесь, передо мной сейчас!

Сервлеты? Наконец, альтернатива

Это еще удивительные изменения. Все все рамки, которые я знаю для разработки веб-приложений используют одну и ту же основу: servlets . И здесь впервые в JVM вижу альтернативы выступали: не-решение в Java Enterprise Edition по умолчанию, но да предоставление сервера приложений, собственный, встроенный в конструкцию.

Этот новый сервер-это первое, что я вижу на платформе Java, которая не зависит от Java EE традиционный, на основе сервлетов. Основана в другой технологии довольно старые и, к сожалению, мало известных разработчиков сегодня: Netty .

Рамки используются для построения сетевых приложений, асинхронные, высокой доступности и производительности, что имеет, как результат новый HTTP-сервер отличается от той, с которой мы привыкли. Сервера целенаправленной не MVC традиционной, в которых может быть возвращение HTML-страниц, но решение, разработанное с первый момент, ориентируясь на обмен сообщениями (JSON) между микро-услуг.

В первый момент вы можете подумать, в этом изменении как простое увеличение производительности. Я уже вижу, как прецедент важен, что откроет двери в мир инноваций в Java просто замечательно.

Как программировать с помощью Micronaut

Если вы хотите новинка является довольно разочаровывающими, что в основном, как мы привыкли писать Api в Spring. Есть новости: до аннотации-это, по существу, одни и те же, меняется только пакет, чтобы мы могли получить пользу от генерации кода во время компиляции.

если вы уже знаете, Spring, кривой обучения минимальный

Как уже говорил ранее, не существует скачок производительности здесь: возможно, у вас получится чуть-чуть больше производительности, если вам нравится Groovy или Kotlin, которые также могут быть использованы в framework, но уже предупреждение, не будет иметь значительные изменения.

Что-то очень прохладно в Micronaut в том, что он в perite кривая обучения более дружественным. По умолчанию используется Gradle como механизм сборки , но если вы хотите работать с Maven, это тоже возможно. Рекомендую пойти pro Maven в этом случае? Не, почему в документации сегодня говорит больше о Gradle и почти не упоминает Maven.

Использование IDE принятие Gradle делает различие: если при попытке запустить проект из класса изоляции, например, будет иметь проблемы на данный момент. На практике всегда следует как запустить приложение, как его тесты с Gradle, который может быть немного скучно в начале, но со временем вы привыкнете.

Помимо инфраструктуры, что есть интересного

Не обманывайте себя: у нас есть инструмент, направленных на разработку микро-услуг, что становится ясным, для ресурсов, которые framework предоставляет нам парень.

Писать тесты намного проще

Среди всех ресурсов, то, что понравилось больше всего был тот факт, предоставить нам встроенного HTTP-сервера, но больше, чем это, также HTTP-клиент. Ты писать тесты, это замечательно, что позволяет нам экземпляр сервера и выполнить наши тесты пишу HTTP-запросы, а не только для вызова методов. Это делает всю ситуацию, если вы, как и я, предпочитаете писать тесты, которые проверяют поведение нашей IDE. Письма этого типа тестирования как в Весенний, так и в Grails может быть довольно неудобно: здесь тривиально.

Вы можете написать свои тесты, в том числе с использованием того, что уже знает: jUnit или Спок. Существует в том числе модуль что делает настройку этих испытаний-то просто.

Основа безопасности готовы и легко использовать

В Grails и Spring есть Spring Security, и в случае, если Micronaut также у нас есть решение этого вопроса, только, что это не модуль, но да, часть самого framework.

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

  • JWT
  • Проверка подлинности сеанса.
  • LDAP.
  • Обычная (не рекомендую, но для старых это интересно)
  • Механизм, который позволяет нам гибкость в создании наших поставщиков проверки подлинности.
  • Конечных точек аутентификации готов, любя, которые будут использоваться.

Обеспечить это уже готовые разработчик может и позволит значительно сократить затраты в реализации этих требований ограничения доступа. В том числе, опять же, одни и те же книжки, которые у нас есть в Spring Security видим здесь, как @Secured, например.

Multi tenância

Платформа также поддерживает multi tenância готов к использованию. И интересная деталь: позволяет использовать GORM, как решение. Да, даже framework настойчивость, которые мы используем в Grails, и это одна из причин, почему мы принимаем их.

Мониторинг

Если мы будем строить микро-сервисы, мы здесь необходимо monitorarmos качество обслуживания. Как Spring Boot нам предоставляет Actuator (модуля), Micronaut предлагает нам основное, что мы можем контролировать его качество.

Это версия значительно проще, Actuator, но, на мой взгляд, гораздо более функциональным. Позволяет, например, быстро создать (используя только настройки) конечных точек, которые позволяют нам проверить настройки сервера, проверка версии, бобы загружаются, вычислительных ресурсов, etc. Очень полезно.

И принятие? И куда мы идем? И Grails?

Делает чуть более месяца, что первый вариант конце Micronaut вышел. Конечно, это еще не решение проблемы широко принята сообществом, но это уже решение, которое находится гремя сообщества Java. Твит ниже Graeme Rocher, является довольно значительным:

Удивительная вещь за 9 месяцев, прошедших с тех пор, как мы открыли исходный код @micronautfw , – это влияние, которое он оказал на серверную часть @java . Вдохновляющий @Red hat придумать @quarkusio . Нажатие @springboot для повышения производительности. Микронавт изменил отраслевую стратегию. Это то, что я называю новаторством! — Грэм Роше (@graemerocher) 18 марта 2019

Не решение проблемы основной, так как Grails никогда не был, но за что-то, что является феноменальным: это беспокоит и вдохновляет. Делает, что другие компании, как и сама Red Hat приходите с помощью новых решений и делает, что решения уже освящены, как Spring начать принимать меры.

И это конец Grails? Нет, наоборот. А Grails 3 был на основе Spring Boot, вы знаете, что базы Grails 4? Yeap: Micronaut, то есть, все проблемы, которые мы сегодня с запуска наших проектов, может быть в дни сочтены.

И также это не что-то, что заменит Grails, что цель здесь заключается в другом: в то время как Grails предоставляет нам framework fullstack на основе MVC, который заботится как backend, так и от frontend, здесь мы имеем другую цель, с Micronaut: построить Api (сосредоточены на микро-сервисы) и быть основой для других фреймворков, таких как Grails, который теперь станет гораздо более привлекательным, чем уже было.

(и хорошей новостью является то, что в документации Grails 4, upgrade, является относительно простым, без перерывов облачности с предыдущими версиями).

Теперь давайте обсудим!

Разговор на этом не заканчивается. Я призываю всех вас продолжать с нами этот разговор испытывают Micronaut и поделились своим опытом. Если хотите, можете поделиться с вашими комментариями в этом посте то, что он нашел, но у нас есть место, намного лучше, чем Таверна/dev/All, в который мы создаем категория только на этот предмет. Заинтересовало и хотите узнать больше? Станьте частью/dev/All: cadatre здесь !

Также я создал группу в Facebook, если хотите обсудить там открывается, и любой может войти. Просто нажмите на эту ссылка .

И если в Белу-Оризонти, присоединяйтесь к нашей meetup, о том, Spring, Groovy и Grails: следующая тема будет именно о Micronaut. Ссылка на группу и более подробно о том, когда и где будет следующая встреча наступит в ближайшее время (на этой неделе).

И мое путешествие в Micronaut

Это только начало, и я учусь, достаточно с ней. Больше статей будут опубликованы здесь и в Журнале “/dev/All скоро. Я в том числе, планирую записать несколько видео, которые должны oisas, что вы должны увидеть.

Мы делаем наши первые шаги в этом framework, и мы в душе, есть еще много предстоит узнать. Я, рассказывая вам, как узнаю. Туда!

Важное обновление – встреча nosso primeiro!

День 24/4/2019 мы встретимся в первый раз здесь, в Белу-Оризонти, чтобы поговорить о Micronaut. Если вы проживаете здесь (или не прохождения), его наличие очень приветствуется!

Регистрация по этой link !

Оригинал: “https://dev.to/loboweissmann/micronaut-primeiras-impressoes-456e”