-
-
Notifications
You must be signed in to change notification settings - Fork 54
Home
Текущая версия Nimble: 1.0.1.
Версии шаблонов для ASP.NET Core 2.2 и ASP.NET Core 3.0 не имеет никаких принципиальных отличий. Документация для 2.2 абсолютно совпадает для 3.0.
Предназначение: Позволяет упростить создание микросервисов или backend-сервера для SPA на базе ASP.NET Core.

Nimble Framework появился в виду того, что частое создание микросервисов занимает много времени. Особенно, когда эти микросервисы объединены в одну архитектуру и поэтому должны быть связаны между собой. Для облегчения задачи "введение нового сервиса в систему" и были придуманы шаблоны для их создания.
Nimble Framework представляет собой набор из двух шаблонов для Visual Studio для создания проектов ASP.NET Core.
Nimble Framework - это набор шаблонов для построения микросервисной архитектуры на платформе ASP.NET Core. На данный момент существуют версии для ASP.NET Core 2.2 и ASP.NET Core 3.0.
Nimble Framework (далее Nimble) позволяет создавать из шаблонов готовые к использованию приложения API для дальнейшего использования либо как самостоятельный backend для Single Page Application (SPA), либо как часть микросервисной архитектуры. Следует иметь в виду, что это созданный из шаблона сервис является хорошей отправной точкой для программирования сервисов. В него заложены базовые функции и возможности. Код всё равно придется писать! :)
На данный момент есть два типа шаблонов. Возможно количество шаблонов в будующей увеличится.
Установка шаблонов очень проста. В планах сделать VSIX-расширение для Visual Studio, чтобы установка не только упростилась, но и появилась возможность автоматически обновлять плагин при появлении новых версий.
При наличии двух шаблонов, как вы понимаете, из них можно создать только два типа сервиса. Микросервис с сервером авторизации (IdentityServer4) и без него. Процесс создания очень похож, поэтом я опишу для сервиса с IdentityServer4, как более продвинутого типа микросервиса. Пошаговая инструкция
Все шаблоны пока состоят и четырех проектов. Полезно ознакомиться с их предназначением до того как создавать микросервисы из шаблонов.
Чтобы проще было ориентироваться в проекте важно знать из чего он состоит и как всё устроено. Файлы, папки и их предназначение в проектах имеют договоренности по именованию и их место положению.
Перед тем как создавать проект, можно в специальном методе прописать данные, которые должны появиться в системе сразу при первом старте. Такие данные нужно заполнить в методе Seed. Примером таких данных может послужить данные о пользователе, который является администратором системы. И который в последствии сможет раздать права доступа другим пользователям.
Файл Setup.cs является отправной точкой при запуске приложения. В нем происходит настройка системы и платформы для корректной работы.
В папке Engine, по большому счету, и находится фреймворк Nimble. Всё остальное - антураж!
И в версии для 2.2 и для версии 3.0 в шаблонах используется очень полезный инструмент - Swagger.

Для маппинга используется фреймворк AutoMapper.
У каждого приложение есть настройки. В Nimble есть файл CurrentAppSettings, который может быть сериализован в JSON, и вливаться как зависимость при помощи IOptions<T>.
Понимание как работают контроллеры и их методы дает свободу по управлению разработкой. Стань свободным!
Аутентификация и авторизация построена на базе IdentityServer4.
Пример создание сущности Product покажет основные моменты разработки и проектированию.