3 способа перехода на безголовый режим работы с Umbraco


Что такое Umbraco?

Umbraco — это CMS-фреймворк для создания великолепных редакторов. Он поставляется с полностью готовым бэкендом для простого управления контентом и обеспечивает богатый и гибкий опыт для разработчиков.

Umbraco построен на платформе Asp Net, что позволяет легко использовать Razor для создания фронтенда. Но это также привязывает вас к использованию Asp Net в качестве фронтенда. Именно здесь на помощь приходит идея сделать Umbraco безголовым. Сделав Umbraco headless, вы позволяете своей команде создавать декопированный фронтенд на любой технологии.

Как же сделать Umbraco безголовым?

Существует множество способов сделать Umbraco безголовым, которые имеют различные плюсы и минусы. Я собрал здесь 3 примера того, как можно сделать Umbraco безголовым.

Vertica.Umbraco.Headless

Это очень гибкое решение, созданное Vertica A/S, основанное на подключении к конвейеру рендеринга Umbraco и выводе данных JSON вместо html. С помощью этого вы можете запрашивать данные на основе маршрута, запрошенного во фронтенде, и использовать ответ JSON для рендеринга вашего фронтенда.

Плюсы

  • Дружественность — возможность подключения безголовой CMS для Umbraco.
  • Гибкость — 100% расширяемость и настраиваемость
  • Открытость — легко интегрируется в экосистему Umbraco, не накладывая никаких ограничений на другие пакеты и дополнения Umbraco.

Минусы

  • Ограничение запросов — невозможно выбрать только нужные данные, как в GraphQL.

vertica-as / Vertica.Umbraco.Headless

Vertica Umbraco Headless Framework

Это расширение для Umbraco (версия 9+), которое позволяет вам использовать содержимое Umbraco в безголовом режиме. Оно очень настраиваемое, и вы можете изменить или заменить каждый аспект генерируемого результата.

Vertica Umbraco Headless Framework (VUHF) не следует путать с Umbraco Heartcore, коммерческим SaaS предложением от Umbraco. Это исключительно фреймворк рендеринга, разработанный для замены (или дополнения) механизма рендеринга в Umbraco.

Фреймворк создан для того, чтобы быть:

  • Дружественным — возможность подключения и воспроизведения безголовой CMS для Umbraco.
  • Гибким — на 100% расширяемым и настраиваемым
  • Открытым — легко интегрируется в экосистему Umbraco, не накладывая никаких ограничений на другие пакеты и дополнения Umbraco.

Установка

Сначала установите NuGet-пакет VUHF в ваш проект Umbraco:

dotnet add MyProject package Vertica.Umbraco.Headless.Core

Теперь откройте класс Startup вашего проекта Umbraco и включите расширения ядра VUHF, добавив:

using

Вход в полноэкранный режим Выход из полноэкранного режима
Посмотреть на GitHub

Nikcio.UHeadless

UHeadless — это пакет на основе GraphQL, который позволяет вам запрашивать данные через конечную точку GraphQL. UHeadless поддерживает различные способы запроса данных и полностью расширяется в соответствии с вашими потребностями.

Плюсы

  • Легко настраивается
  • Полностью расширяемый — может быть настроен в соответствии с вашими потребностями
  • GraphQL — запрашивайте только те данные, которые вам нужны

nikcio / Nikcio.UHeadless

Сделайте Umbraco безголовым с помощью GraphQL

Nikcio.UHeadless

Этот репозиторий создает простое в настройке решение для создания Umbraco headless. Он поставляется с широким спектром возможностей расширения, которые могут быть адаптированы к вашим потребностям.

Работает на

  • Umbraco 9
  • Umbraco 10

Чтобы начать работу, добавьте следующее в ваш Startup.cs.

Настройка

using Nikcio.UHeadless.Extensions;

public void ConfigureServices(IServiceCollection services)
        {
            services.AddUmbraco(_env, _config)
                /* Code obmitted for clarity */
                .AddUHeadless()
                /* Code obmitted for clarity */
        }

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    /* Code obmitted for clarity */

    app.UseUHeadlessGraphQLEndpoint();

    app.UseUmbraco()
    /* etc... */
}
Вход в полноэкранный режим Выйти из полноэкранного режима

Теперь ваше содержимое будет доступно по адресу /graphql.

Для начала попробуйте добавить некоторое содержимое в корень и выполнить следующий запрос:

{
  contentAtRoot {
    nodes {
      id,
      name
    }
  }
}
Войти в полноэкранный режим Выйти из полноэкранного режима

Документация

Найдите

Посмотреть на GitHub

Создайте свой собственный

Если вас не устраивает ни один из других вариантов, всегда есть возможность создать свой собственный. Это даст вам возможность полностью изменить настройку и опыт разработчиков интеграций. Но вам также придется самостоятельно поддерживать пакет. Например, в Limbo (бывший skybrud) создают свой собственный headless-пакет для внутреннего использования.

Плюсы

  • Вы сами создаете его — вы решаете, что в него войдет

Минусы

  • Обслуживание — вы должны поддерживать пакет

skybrud / Skybrud.Umbraco.Spa

Работа продолжается…

Дополнительно: Umbraco Heartcore

У Umbraco есть собственное решение headless, которое вы можете приобрести под названием Umbrao Heartcore. Это дает вам управляемый REST API и конечную точку GraphQL. Но проблема в том, что многие пакеты из Umbraco commuity не могут быть использованы.

Плюсы

  • Управляемый — поставляется с управляемым REST API, GraphQL, CDN и т.д.
  • Автоматическое обновление
  • Хостинг — Umbraco разместит решение для вас.

Минусы

  • Платный
  • Совместимость пакетов — не все пакеты Umbraco могут работать с Heartcore.

Оцените статью
Procodings.ru
Добавить комментарий