Tradycyjne rozwiązania

Olbrzymia część aplikacji i stron webowych oparta jest na jakimś systemie zarządzania treścią (CMS). Jest to rozwiązanie niezbędne jeśli potrzebujemy jakiegoś sposobu na łatwe dodawanie oraz aktualizowanie treści strony. Tradycyjnie największą popularnością cieszyły się CMS napisane w PHP – każdy webdeveloper na pewno zna takie nazwy jak WordPress, Joomla czy Drupal. Są to rozwiązania bardzo dojrzałe, oferujące liczne funkcjonalności oraz rozszerzenia. Z drugiej strony mają dość poważne wady: są ciężkie, powolne i niejednokrotnie oferują wiele funkcji, z których na co dzień i tak nie skorzystamy.
Ostatnie lata przyniosły olbrzymią popularność serwerowych aplikacji JavaScript uruchamianych w środowisku node.js. Ich niewątpliwą zaletą jest szybkość działania w porównaniu do tradycyjnych rozwiązań opartych chociażby na PHP. I tutaj pojawia się ważne pytanie: skoro node.js oferuje doskonałą wydajność to czy da się to środowisko wykorzystać do stworzenia CMS?

CMS JavaScript

Praktycznie odkąd pojawił się node.js developerzy podejmowali próby napisania funkcjonalnego systemu zarządzania treścią w JavaScript. Na chwile obecną do dyspozycji mamy co najmniej kilka sensownych CMS wykorzystujących zalety node i to właśnie o nich chciałbym opowiedzieć w tym artykule. Generalnie skupimy się na takich rozwiązaniach, które są dojrzałe, funkcjonalne, regularnie rozwijane i nadają się dobrze do budowania dynamicznych witryn.

Dowiedz się więcej: Ekosystem JavaScript - wprowadzenie Zobacz kurs

Ghost

Ghost to zdecydowanie najpopularniejszy z omawianych systemów. Z założenia stanowi on alternatywę dla WordPress i skupia się głównie na funkcjach bloga. Przy odrobinie chęci można jednak wykorzystać go jako podstawę do zbudowania witryn innych niż blog. Ghost oparty jest na standardowych i popularnych rozwiązaniach: framework Ember, baza danych typu mysql/sqlite czy templaty handlebars. W praktyce oznacza to, że bez większych problemów możesz rozbudować witrynę opartą na tym systemie o własne funkcjonalności.
ghost Wielką zaletą Ghost jest jego szybkość. Jeśli czytasz ten artykuł to pewnie zdążyłeś się już o tym przekonać – nasz blog oparty jest właśnie o Ghost! Na pewnie dało się namacalnie odczuć doskonałą responsywność interfejsu i bardzo krótki czas wczytywania strony.
Kolejną ciekawą cechą systemu jest jego wsparcie dla technologii AMP, która jest rewolucyjnym sposobem prezentowania treści mobilnych w wyszukiwarce. Generalnie Ghost jest bardzo dobrym wyborem jeśli zależy Ci na szybkości działania, minimalizmie i doskonałej współpracy strony z wyszukiwarką Google.

Dowiedz się więcej: Kurs Node.js - dynamiczne aplikacje Zobacz kurs

KeystoneJS

Kolejny CMS, o którym warto wspomnieć to KeystoneJS. W porównaniu do Ghost jest on systemem bardziej uniwersalnym kładącym nacisk na tworzenie dowolnego typu stron. Keystone to taka swoista hybryda: bardziej framework do budowania własnego CMSa niż gotowy CMS. I to właśnie tutaj tkwi jego kluczowa cecha: za pomocą KeystoneJS możesz bardzo łatwo wdrażać swoje własne funkcjonalności. Cała struktura kodu jest bardzo logiczna i przejrzysta więc dopisywanie niestandardowych elementów do istniejącej bazy nie powinno sprawiać problemów. Generalnie KeystoneJS jest ciekawym rozwiązaniem jeśli potrzebujesz dobrej bazy do szybkiej budowy własnego systemu CMS z własnymi funkcjonalnościami.
keystoneJS

PencilBlue

Trzeci z omawianych w tym artykule CMSów jest bardzo interesujący. Oferuje kilka przydatnych funkcji, których nie mają dwa poprzednie systemy. Wśród nich można wymienić lokalizację czyli możliwość tworzenia różnych wersji językowych.

Dowiedz się więcej: Hosting stron z Amazon Web Services Zobacz kurs

Albo chociażby możliwość pisania pluginów, za pomocą których można łatwo rozwijać aplikację o dowolne funkcje. Jeśli do tego dodamy niezły zestaw funkcjonalności wbudowanych (strony, blog, media, komentarze, motywy itp.) to powstaje nam bardzo obiecujący CMS. Na chwilę obecną PencilBlue zbliża się do wersji 1.0 i można go śmiało używać na produkcyjnych stronach. Biorąc pod uwagę to co już teraz oferuje można bezpiecznie założyć, że jako CMS ma przed sobą bardzo interesującą przyszłość.
Pencil

Podsumowanie

Jak widać node.js ma sporo do zaoferowania jeśli chodzi o systemy CMS. Oczywiście należy się liczyć z tym, że są to aplikacje stosunkowo świeże i często oferuję tylko podstawowy zestaw funkcjonalności w porównaniu do tradycyjnych rozwiązań. Warto jednak się nimi poważnie zainteresować jeśli interesuje cię tworzenie dynamicznych aplikacji w JavaScript oraz jeśli zależy ci na CMS, który oferuje lekkość i doskonałą szybkość.