Состоялся релиз Adonis JS 5, на данный момент разработчики называют его preview версией, хотя в своем Discord они утверждают что по сути это production-ready версия фреймворка, а названа она preview потому-что еще не все необходимые пакеты были переписаны под версию 5, их скромности стоит позавидовать, от себя скажу что, версия 5 действительно заслуживает широкого внимания, на мой взгляд это один из лучших и простых фреймворков на которых стоит делать backend в 2020+ годах.
Ключевая особенность AdonisJS 5 это Typescript из коробки, в остальном в архитектурном плане мало что поменялось. И это хорошо, т.к. AdonisJS версии 4 уже давно нашел золотую середину, во многом кстати переняв ее у фреймворка Laravel.
Тут есть:
Все та же простота и изящество. Разработчики фреймворка стараются придерживаться здравого смысла касательно архитектуры и не делают оверхедных фич. Например роутинг у AdonisJS распологается в специальном файле как и у Laravel, а вот если взглянуть на конкурентный NodeJS фреймворк — NestJS и посмотреть как там объявляется роутинг можно увидеть значительное отличие, и у NestJS это как-то более красиво, маршруты объявляются внутри контроллера с помощью декораторов. И это достаточно удобно для небольших проектов, но когда ваше приложение подрастет, такой роутинг как у NestJS становится катастрофически неудобен, AdonisJS в этом смысле стабилен, в нем одинаково удобно делать как малые так и больше проекты.
Релиз AdonisJS 5 состоялся в апреле 2020 г. С тех пор разработчики сделали достаточно много фич. Процесс движения расписан в их Roadmap
Контроллер с валидацией данных
Расширение ядра
Бенч скорости запросов к API
Бенч скорости валидации
Результаты замеров взяты с официального блога AdonisJS
Я уже 2+ месяца как использую 5-ую версию — полет отличный, проблем нет. Жизнь начала переливаться новыми красками. До этого я использовал AdonisJS 4.1 а еще ранее версию 3 и каждый раз он оставлял только положительные впечатления.
Статья по теме:
NodeJS фреймворк с синтаксисом Laravel?? (и без лапши в коде)
Подробности можете найти в официальной документации, вопросы лучше всего задавать напрямую разработчикам в Discord в ветку v5.
AdonisJS это Laravel-подобный фреймворк на NodeJS а теперь еще и на Typescript
Ключевая особенность AdonisJS 5 это Typescript из коробки, в остальном в архитектурном плане мало что поменялось. И это хорошо, т.к. AdonisJS версии 4 уже давно нашел золотую середину, во многом кстати переняв ее у фреймворка Laravel.
Тут есть:
- ORM
- готовые интеграции с популярными БД
- Миграции БД
- Модели (во многом похожие на TypeORM)
- Контроллеры
- View (по желанию)
- Роутинг
- Middleware
- Кастомные CLI команды
- Аналог artisan — ace
Все та же простота и изящество. Разработчики фреймворка стараются придерживаться здравого смысла касательно архитектуры и не делают оверхедных фич. Например роутинг у AdonisJS распологается в специальном файле как и у Laravel, а вот если взглянуть на конкурентный NodeJS фреймворк — NestJS и посмотреть как там объявляется роутинг можно увидеть значительное отличие, и у NestJS это как-то более красиво, маршруты объявляются внутри контроллера с помощью декораторов. И это достаточно удобно для небольших проектов, но когда ваше приложение подрастет, такой роутинг как у NestJS становится катастрофически неудобен, AdonisJS в этом смысле стабилен, в нем одинаково удобно делать как малые так и больше проекты.
Релиз AdonisJS 5 состоялся в апреле 2020 г. С тех пор разработчики сделали достаточно много фич. Процесс движения расписан в их Roadmap
Контроллер с валидацией данных
Расширение ядра
Бенч скорости запросов к API
Бенч скорости валидации
Результаты замеров взяты с официального блога AdonisJS
Я уже 2+ месяца как использую 5-ую версию — полет отличный, проблем нет. Жизнь начала переливаться новыми красками. До этого я использовал AdonisJS 4.1 а еще ранее версию 3 и каждый раз он оставлял только положительные впечатления.
Статья по теме:
NodeJS фреймворк с синтаксисом Laravel?? (и без лапши в коде)
Подробности можете найти в официальной документации, вопросы лучше всего задавать напрямую разработчикам в Discord в ветку v5.
essome
Спасибо за статью, какие плюсы и минусы по сравнению с nestjs?
beatleboy Автор
Про NestJS говорят так — если вам близок angular-like подход то это вам скорее всего больше подойдет. По моему субъективному мнению AdonisJS в разы проще и адекватней NestJS. У неста есть из коробки множество замечательных фич, один «магически генерируемый» сваггер чего стоит! Но вся магия Nest меркнет на больших проектах и на не тривиальных задачах. По итогу писать кода нужно больше чем на AdonisJS.
К примеру у NestJS есть проблемы с запуском миграций, нужно перелопатить кучу документации и примеров чтобы сделать теже миграции БД, которые в AdonisJS уже есть, и запустить их можно просто node ace migration:run
NestJS предлагает на выбор TypeORM и Sequelize, у каждой из этих ORM есть свои особенности и на каждую потребуется время для настройки. В AdonisJS всего одна ORM построенная на базе Knex.js тут все просто.
essome
Спасибо, я хоть и люблю angular, но примеры nest из документации мне не сильно понравились, слишком много сахара который непонятно какую проблему решает.