Ostrzeżenie! Ten artykuł jest stary i może zawierać nieaktualne informacje. Więcej aktualnych informacji można znaleźć na stronie Which CMS Should I Use?
.
W ciągu ostatnich 20 lat sposób tworzenia stron internetowych całkowicie się zmienił. Od prostych plików tekstowych z przeszłości, kiedy wszystko trzeba było robić ręcznie, do potęgi PHP i JavaScript, a następnie pierwszych systemów CMS do zaawansowanych narzędzi wizualnych. Obecnie istnieje wiele różnych systemów CMS, które różnią się funkcjonalnością, niektóre z wbudowanym zestawem narzędzi. Ale najpierw przyjrzyjmy się bliżej samemu systemowi CMS.
Co to jest CMS?
CMS to skrót od “Content Management System”. Tak więc, jak sama nazwa wskazuje, pozwala on użytkownikom zarządzać pewnymi treściami, na przykład artykułami, mediami, użytkownikami i tak dalej. Dla naszych potrzeb możemy zawęzić tę definicję do WCMS, co oznacza “Web Content Management System”. Zasadniczo jest to więc system, który pozwala ze względną łatwością zarządzać treścią witryny wraz z innymi elementami z nią związanymi.
Jakie są moje opcje CMS?
Istnieje wiele opcji do wyboru i istnieje wiele sposobów, aby podzielić je na kategorie. Najłatwiejszym sposobem ich podziału jest open source (ich kod jest publicznie dostępny) i własnościowy (są własnością firmy i są sprzedawane na ich warunkach). Najbardziej znane systemy to WordPress, Joomla, Drupal, Oracle WebCenter, Magento czy Kentico.
Chociaż na pierwszy rzut oka może się wydawać, że systemy CMS typu open source są dobrą opcją (ze względu na wtyczki lub cenę), w dłuższej perspektywie mają one pewne istotne ograniczenia – więc wybór powinien być przemyślany i rozważony w oparciu o konkretne potrzeby.
Wydajność
Open source CMS są napisane w taki sposób, że pozwalają na wiele. Ale oznacza to również, że nie są zoptymalizowane pod kątem wydajności – często muszą załadować wiele zależności, aby działać poprawnie. Nie są również wolne od kompatybilności wstecznej, co powoduje dodanie dużej ilości kodu do stosu, czego można było uniknąć. Zupełnie niepotrzebne żądania do bazy danych zabierają czas odwiedzającym i wydłużają czas ładowania strony.
Rozszerzalność
Niektóre otwarte systemy CMS mają repozytoria pełne wtyczek. Wtyczki te mogą znacznie rozszerzyć podstawową funkcjonalność CMS, dodając dodatkowe opcje, które mogą być pomocne. Wiąże się z tym jednak kilka problemów: każdy może opublikować wtyczkę. Powoduje to, że publikowane są domowe kody, które nie są ani bezpieczne, ani poprawnie napisane. Wszelkie modyfikacje wtyczki mogą prowadzić do wielu dodatkowych prac, przekopywania się przez kod, płacenia programistom za pomoc lub zerwania kompatybilności z aktualizacją systemu. Większość włamań na strony internetowe ma miejsce nie z powodu błędów bezpieczeństwa w CMS, ale we wtyczkach!
Z drugiej strony komercyjne lub własnościowe systemy CMS często mają również własne repozytoria rozszerzeń. Różnica polega na tym, że ten kod jest zawsze opracowywany przez profesjonalistów, co oznacza większe bezpieczeństwo i spójność między wtyczkami. Modyfikacje wykonane dla klientów mogą być dokładnie dostosowane do potrzeb użytkownika bez naruszania jakiejkolwiek kompatybilności; więc jest to sytuacja korzystna dla obu stron.
Licencjonowanie
Oprogramowanie open source jest często oparte na licencjach, które w pewnych okolicznościach komplikują komercjalizację projektów. Ponadto, na niektórych licencjach jesteś zmuszony do opublikowania całego kodu, który napisałeś lub za który zapłaciłeś! Ale co, jeśli kod musi zawierać informacje lub know-how, które są opatentowane lub muszą być szczególnie zabezpieczone?
Własne systemy CMS nie mają takich ograniczeń. Zwłaszcza jeśli niektóre prace kodowania są wykonywane specjalnie dla Ciebie, możesz uzgodnić licencje z zespołem programistów. I możesz być pewien, że elementy przepływają i są traktowane z należytą starannością i są bezpieczne.
Jaki CMS jest dla mnie odpowiedni?
Wiele zależy od rzeczywistych potrzeb. Ogólnie rzecz biorąc, w niektórych przypadkach można bezpiecznie korzystać z systemów CMS typu open source. Musisz jednak wziąć pod uwagę, że wymagają one od Ciebie więcej pracy – wraz z możliwym rozwiązywaniem problemów lub zmianą kodu wtyczek. Ale jeśli szukasz bardzo profesjonalnego kodowania lub zaawansowanego przetwarzania danych, to oprogramowanie własnościowe jest najlepszym rozwiązaniem.