Вітаю! Працягваем знаёмство з Jamstack і сёння пагаворым пра так званыя безгаловыя сістэмы кіравання зместам. Паглядзім, якія сістэмы і сэрвісы існуюць і якія магчымасці яны даюць.
У англійскай мове headless адносна рэчаў азначае, што рэч як бы не мае твару, ці правільней казаць – інтэрфейсу, нейкай візуальнай часткі. У той жа час, сістэма кіравання зместам (у нашым выпадку) спраўна працуе і выконвае свае задачы.
Такія сістэмы замест адлюстравання візуальнага зместу наўпрост (як WordPress, напрыклад), аддаюць даныя ў спецыяльным фармаце. Такія даныя потым можна неяк выкарыстаць з дапамогай іншай праграмы – генератара статычных сайтаў.
Генератары статычных сайтаў штука даволі тэхнічная і можа быць складана растлумачыць, як імі карыстацца людзем, якія будуць пісаць для сайтаў тэксты. І вось тут спалучэнне безгаловых CMS і генератараў сайтаў дае амаль неабмежаваныя магчымасці. Людзі карыстаюцца зручным інтэрфейсам для стварэння зместу, а як гэта адлюстраваць і даставіць да карыстальніка – займаюцца тэхнічныя спецыялісты.
Такім чынам, можна стварыць сваю структуру даных у такой сістэме, наладзіць аўтаматычную генерацыю сайта з дапамогай генератара сайта, пакласці гатовы сайт на хостынг і забыць на яго, бо гэта толькі файлы, а CMS карыстацца толькі калі яна патрэбна.
На сайце Jamstack сабрана 119 розных сістэм кіравання зместам, можна выбраць на любы густ і адпаведна патрэбам, але адзначу, што не ўсе з іх бясплатныя. Яшчэ важна разабрацца, якім чынам яны працуюць, таму що не кожная такая сістэма сумяшчальна з усімі генератарамі сайтаў.
Бываюць API-based і Git-based. API-based сістэмы аддаюць змест праз API-інтэрфейс, што даволі зручна, але патрабуе некаторай працы праграміста, каб гэтыя даныя спачатку атрымаць, а потым пераўтварыць у той від, які патрабуецца.
Git-based сістэмы працуюць наўпрост з файламі, а змест захоўваюць праз сістэму кантролю версій Git. Такі метад часам прасцей, але патрабуе завесці профіль на GitHub і стварыць там адмысловы рэпазіторый, месца, дзе гэтыя файлы будуць захоўвацца. Генератар Hugo, напрыклад, умее працаваць толькі з файламі.
Самая папулярныя з git-based, гэта Decap CMS (былая Netlify CMS), а з API-based – Strapi і бадай Ghost, хаця да абодвух ёсць пытанні адносна іх сумяшчальнасці з Jamstack, пра што я распавяду наступным разам. З платных можна адзначыць CloudCannon, Contentfull і Dato CMS.
З мінусаў такіх сістэм я б адзначыў той факт, што структуру зместу патрэбна распрацоўваць амаль з нуля, што можа быць складана на першы погляд. У некаторых выпадках такія налады робяцца праз спецыяльныя файлы, што вымагае дадатковага вывучэння. Але такую цану даводзіцца плаціць за неабмежаваную гнуткасць падыходу.
❤️🔥 – калі було цікава, ⚡️ – калі працягваць тэму #jamstack і генерацыі сайтаў.
P.S. Я зараз рыхтую некалькі выпускаў у відэа-фармаце для YouTube, таму прашу вас загадзе падпісацца на мой YouTube-канал, каб не прапусціць іх выхад.
Першапачаткова апублікавана ў Telegram-канале 2024-02-02.