Ср. Дек 1st, 2021

Управление для новичков по  Headless CMS и Jamstack

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

Тем не наименее, когда я впервые начал заниматься фрилансом, я полагался на WordPress как на неопасный, проверенный и надежный вариант для моих клиентов, которым нужна была система управления контентом (CMS) для ведения блога либо портфолио.

До этого момента я работал с HTML, CSS и обыденным JavaScript, и перейти к разработке PHP с помощью WP было не так уж трудно. Но когда я начинал изучать WordPress, я сразу начал изучать React. И разница была как день и ночь.

PHP и JSX / JavaScript решают делему вставки логики в разметку аналогичными методами. Но с точки зрения «опыта разработчика», как только я освоил современную среду JS-разработчика и компонентное построение с помощью React, я и не задумывался о том, чтобы когда-либо снова возвратиться к монолитным файлам index.html / php / css.

И даже не гласите мне о XAMPP / Apache / MySQL!!! Я знал, что должен быть метод дать моим клиентам то, что им необходимо, позволяя мне работать с новейшими инструментами.

Headless CMS?

У меня не было довольно навыков для дискуссий в Твиттере о Headless CMS и Jamstack, но я изо всех сил пробовал понять смысл Headless CMS.

Если бы вы спросили меня о Headless CMS два месяца обратно: «Это похоже на другой способ сотворения CMS, чем в WordPress. Как как будто это всего лишь часть WordPress с административной панелью, я полагаю, и вы каким-то образом используете API, чтоб связать это с вашим внешним интерфейсом, который можно сделать. как хотите.»

На самом деле, это не так уж и далековато от истины. Но зачем выбирать Headless CMS, если не считать того факта, что JavaScript круче PHP?

Почему бы не придерживаться испытанной и универсальной системы управления контентом WordPress? Обезглавливание кажется, просто добавляет намного больше работы для заслуги той же конечной цели, не так ли?

Чтоб лучше понять, что такого крутого в Headless CMS, поначалу нам нужно иметь четкое представление о том, как работает «обычная» CMS.

Обычная CMS: WordPress

Есть и другие, но на самом деле WP — неоспоримый чемпион в этой сфере. Во-первых, я желаю сказать, что несмотря на всю ненависть, которую вызывает WordPress, он вправду работает. Он не ломается и не просит ремонта!

Если WordPress отвечает вашим потребностям, во что бы то ни стало — придерживайтесь его. С классической CMS, такой как WordPress, ваш наружный интерфейс, серверная часть и база данных, полная контента, работают вкупе как единая система на вашем сервере.

Они неразрывно связаны друг с другом, потому, если вы хотите внести существенные конфигурации в любой из этих слоев, вам нередко придется перестраивать все с нуля.

Так как WordPress является универсальным вариантом, вы, как разработчик, время от времени будете зависеть от платформы с точки зрения того, что вы сможете создать, в зависимости от того, ограничены ли вы проприетарными инструментами либо используете универсальные.

А так как WP построен на PHP, он просит от сервера значительного объема работы каждый раз, когда клиент приходит к нам. Это может замедлить работу (замедление может быть в конечном итоге несущественным), и на самом деле в этом может не быть необходимости для целей веб-сайта — страницу, которая никогда не меняется (например, страница О нас), просто не необходимо отображать сервером каждый раз, когда он вызывается.

Headless CMS: Prismic, Forestry, Strapi и др.

Когда вы используете Headless, самое огромное изменение заключается в том, что ваш интерфейс, серверная часть и база данных есть как независимые сущности.

Jamstackers обрисовывают это как разъединение «уровня представления» (наружного интерфейса) от «уровня логики / данных» (серверной части и базы данных).

Большая часть Headless CMS выглядят и работают очень похоже на админ-панель WordPress, если вы с ней знакомы. И не напрасно: как было сказано, она неплоха! Не необходимо изобретать велосипед.

Но ваш интерфейс и ваша CMS больше не связаны друг с другом, и им нужен метод общаться друг с другом. Они делают это средством API.

И для разработчика, и для создателя контента разделение значит: СВОБОДА!!

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

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

Лучше всего, в зависимости от ваших потребностей: Вы всегда сможете развернуть полнофункциональный сайт Jamstack бесплатно на неопределенный срок — плата за хостинг не требуется.

С точки зрения разработчика-фрилансера, как круто иметь возможность рассказать своим клиентам, что, как только они совершат переход, им больше не придется платить за хостинг?!

И если наступит время, когда они превысят выделенную бесплатную пропускную способность, наилучшие поставщики CaaS, такие как Prismic, предложат хорошие уровни цен для расширения.

«Отлично, это звучит довольно круто. Но как, черт возьми, все это на самом деле работает?»

Перебегайте на Jamstack

Все станет более понятным, если вы запомните, что JAM — это аббревиатура, обозначающая JavaScript + API + разметка.

В этой модели вы сможете воспользоваться всеми преимуществами современной парадигмы компонентного JavaScript через библиотеки / фреймворки по вашему выбору. (Примечание: J может обозначать JS, но подойдет хоть какой язык / библиотека / фреймворк, которые могут показывать интерфейс.)

Данные (контент вашего веб-сайта) поступают через API — в данном случае это будет наша автономная CMS. Для вариантов с наружным размещением это иногда называют CaaS: «Контент как услуга».

И в отличие от опции на основе PHP, которая требует огромного количества вызовов от клиента к серверу для рендеринга странички, Jamstackers любят создавать с помощью генераторов статических веб-сайтов, таких как Gatsby или Next.js (мой личный победитель). Эти фреймворки позволяют создавать сайты, на которых весь рендеринг происходит во время сборки, потому клиенту доставляется молниеносная статическая страница, которой не необходимо взаимодействовать с сервером. Это разметка в нашем JAM.

Эта последняя часть — малая статическая сборка — одна из основных причин того, почему размещать сайты Jamstack недорого и часто бесплатно.

«Уровень представления» — то, что вызывается, когда клиент посещает веб-сайт — занимает на сервере такой крошечный объем, что практически не имеет дела к его потребностям в пропускной возможности.

Одним из основных преимуществ модели Jamstack является то, что она ~ очень распределена ~, поэтому вместо того, чтобы весь контент обслуживается одним хостом, он полагается на объединение нескольких децентрализованных источников, каждый из которых может быть настроен, масштабируется и заменяется при необходимости. Netlify, Vercel и Heroku являются одними из самых узнаваемых имен в области бесплатного хостинга и развертывания.

Стоит ли вам использовать Headless?

Разумеется, я не могу ответить на этот вопрос за вас — решать вам, вашей команде и потребностям проекта / клиента. Как уже было сказано: если вам необходимо что-то, что просто работает, WordPress — умопомрачительное решение. Не позволяйте ненавистникам унижать вас.

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

ЗА

Разделение значит большую автономию для команд разработки и сотворения контента.

Большинство разработчиков согласятся, что современная экосистема JS обеспечивает наилучший опыт разработчиков.

У вас есть куча вариантов сервисов на выбор, и они отличаются друг от друга в собственных предложениях

Он ориентирован на будущее, а это значит, что при необходимости в будущем будет проще перейти на новый сервис либо создать новый уровень представления.

CaaS делает ваш контент опять используемым, то есть его можно просто использовать в нескольких точках взаимодействия и по-разному представлять из 1-го источника CMS.

Хостинг нередко бывает бесплатным / очень дешевым, и провайдеры CaaS обычно делают его относительно безболезненным для расширения по мере необходимости.

МИНУСЫ

Сейчас вы находитесь во власти нескольких посторониих сервисов вместо одного хоста для предоставления контернта вашего веб-сайта / приложения, а это означает, что есть больше методов, по которым что-то может пойти не так.

Может быть, работы и не больше, чем настройка веб-сайта WordPress, но есть еще много оживленных частей, которые нужно адресовать и настроить, что может быть пугающим.

У вас есть тонны вариантов выбора сервисов, и они отличаются друг от друга в собственных предложениях (это одновременно плюс и минус, поэтому что это означает, что, вероятно, востребует значительного количества исследований плюс проб и ошибок, чтоб найти лучший вариант для вашего проекта)

Так как вы обязаны своим новым повелителям CaaS хранить и доставлять ваш контент, вам придется столкнуться с переменами политики / функций / цен, которые потенциально имеют возможность в мгновение ока разрушить всю вашу систему.

В будущем будет не так просто мигрировать с избранной вами автономной CMS.

Вывод

WordPress — это испытанная в боях традиционная CMS, которая может совладать практически со всем, что вы ей подбросите. Разумеется, что наследие — не единственная причина, по которой он держит львиную долю Интернета.
Тем не наименее, если вы ищете превосходный опыт разработчика и огромную гибкость, я думаю, что Jamstack с автономной CMS — это то, что вам необходимо.

Также стоит отметить, что я в основном описывал тут облачные сервисы. Некоторые варианты headless CMS, такие как Strapi, располагаются самостоятельно, что означает, что у вас все еще есть разбитые слои, но все они живут совместно на вашем сервере. Это может быть желаемым для некоторых приложений.

Также: да, headless WordPress — это вещь. По сущности, вы получаете все преимущества, но сохраняете панель wp-admin. Я бумаю, что у WP один из наилучших API! Стоит учесть.

Мой возлюбленный стек? Next.js, стилизованный под Tailwind, присоединенный к Prismic CMS. Ваш опыт может отличаться, но эта связка отлично подходит для меня, и ее просто настроить! Я надеюсь, что это вводное управление помогло пролить свет на эту достаточно эзотерическую тему.

Создатель: Sam Tanoak Sycamore

Редакция: Команда webformyself.

Докладывает webformyself.com

от Admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *