NestJS — это расширяемая, универсальная, прогрессивная платформа Node.js с открытым исходным кодом для создания привлекательных и ресурсоемких серверных систем. В настоящее время это самый быстрорастущий фреймворк Node.js в TypeScript.
NestJS используется для написания масштабируемых, тестируемых и слабосвязанных приложений. Он выводит масштабируемые серверы Node.js на совершенно новый уровень. Он поддерживает такие базы данных, как PostgreSQL, MongoDB, MySQL. NestJS находится под сильным влиянием Angular, React и Vue и предлагает внедрение зависимостей прямо из коробки.
По состоянию на январь 2020 года у него более 23 000 звезд на GitHub, а еженедельная скорость скачивания npm составляет почти 180 000 000 000 000 000 000 000 000 000 0 0 0 0 0 0 0 0 0 0. Он побуждает разработчиков пробовать, изучать и использовать некоторые известные парадигмы разработки программного обеспечения, а его документация содержит множество примеров, рецептов и источников кода.
NestJS легко расширяется, так как его можно использовать с другими библиотеками; универсален благодаря своей адаптивной полноценной экосистеме и прогрессивен, предоставляя функции JavaScript и шаблоны проектирования.
Строительные блоки NestJS
Модули: используются для организации кода и разделения функций на логические единицы многократного использования. Сгруппированные файлы TypeScript украшены декоратором «@Module», который предоставляет метаданные, которые Nest использует для организации структуры приложения.
Поставщики: также называемые службами, которые предназначены для абстрагирования любой формы сложности и логики. Провайдеры могут быть созданы и введены в контроллеры или другие провайдеры.
Контроллеры: отвечают за обработку входящих запросов и отправку соответствующих ответов на клиентскую часть приложения (например, вызов API).
Невероятные возможности NestJS
В последнее время фреймворк NestJS набирает огромную популярность благодаря своим невероятным возможностям. Некоторые из них:
- Он использует TypeScript — строго типизированный язык, который является надмножеством JavaScript.
- Легко использовать, учиться и осваивать
- Мощный интерфейс командной строки (CLI) для повышения производительности и простоты разработки
- Подробная и хорошо поддерживаемая документация
- Активная разработка и поддержка кодовой базы
- Это с открытым исходным кодом (лицензия MIT)
- Поддержка десятков специализированных модулей, которые помогают легко интегрироваться с распространенными технологиями и концепциями, такими как TypeORM, Mongoose, GraphQL, Logging, Validation, Caching, WebSockets и многими другими.
- Простое модульное тестирование приложений
- Создано для монолитов и микросервисов (целый раздел в документации, посвященный типам микросервисов приложений NestJS, а также методам и рецептам
Кто использует NestJS?
Преимущества использования NestJS широко признаны некоторыми крупнейшими компаниями, которые стремятся сделать больше за меньшее время. Самые популярные из них:
Рош
Эта многонациональная медицинская компания, которая работает в двух подразделениях: фармацевтике и диагностике, и контролирует американскую биотехнологическую компанию Genetech, использует NestJS на своем основном веб-сайте.
Адидас
Дизайнер и производитель обуви, одежды и аксессуаров, крупнейший производитель спортивной одежды в Европе и второй по величине в мире. Вероятно, поэтому они решили использовать хорошо масштабируемую структуру для создания крупномасштабных эффективных приложений.
Капджемини
Эта французская многонациональная корпорация, предоставляющая консалтинговые, технологические, профессиональные и аутсорсинговые услуги, также использует NestJS для архитектуры своих приложений.
Декатлон
Ритейлер спортивных товаров с более чем 1500 магазинами в 57 странах выбрал NestJS в качестве серверной части для своего веб-приложения.
При обсуждении компаний, использующих NestJS, также стоит упомянуть примеры проектов с открытым исходным кодом, таких как:
- Торговая платформа для экономики по требованию и цифровых торговых площадок https://github.com/ever-co/ever
- Хаб для онлайн-сообщества EVE https://github.com/new-eden-social/new-eden-social
- Платформа управления бизнесом https://github.com/ever-co/gauzy