i inne głupoty

środa, 25 września 2013

EPIckie Studia:
Zrobiłam CMS-a własnego. Tylko, co z tego?

CMS, czyli system zarządzania treścią, to najprościej rzecz ujmując, serwis WWW posiadający panel administracyjny, dzięki któremu można nim zarządzać bez znajomości kodowania stron internetowych. Blogspot jest CMS-em, Wordpress także. Chcesz coś zmienić, po prostu zaznaczasz lub odznaczasz pewne opcje, klikasz „zatwierdź” i działa, nie musisz się przy tym martwić żadnym HTML-em lub innym CSS-em.

I ja taki CMS, w ramach zajęć na studiach zrobiłam. To znaczy, nie aż tak rozbudowany, jak Wordpress, ale jednak działający na podobnej zasadzie. Czy jestem z niego dumna? Tak, zwłaszcza, że widziałam „profesjonalne” CMS-y, robione za niemałe pieniądze, przez poważne firmy webmasterskie, które wyglądały i funkcjonowały znacznie gorzej, od mojego dzieła. Ale czy będę ze swojego projektu korzystać? Nie. I dzisiejszy wpis będzie zbiorem rozważań na temat tego, czemu własnych CMS-ów robić się nie opłaca.


Pewien filozof powiedział kiedyś „wiem, że nic nie wiem”. Ja, podczas tych wszystkich lat studiowania odkryłam, że im więcej się wie, to tak naprawdę wie się mniej. Jak to możliwe? Po prostu im więcej nowych rzeczy się dowiadywałam, tym bardziej uświadamiałam sobie, jak bardzo dana dziedzina wiedzy jest szeroka i jak wielu informacji z jej zakresu jeszcze nie posiadam.

Podobnie sprawa miała się z tworzeniem stron internetowych. Gdy, jeszcze na INIB-ie będąc, poznałam podstawy HTML-a oraz CSS-a, zachwyciłam się jednym i drugim, i to do tego stopnia, że zapragnęłam poszerzyć swoją wiedzę także o znajomość JavaScriptu i PHP. Oczywiście pierwsze, co zrobiłam, to sięgnęłam po podręczniki do obydwu języków. Szybko natknęłam się jednak na przeszkodę nie do przejścia - czegoś nie rozumiałam, coś innego nie działało, choć powinno. A ponieważ książki są nauczycielami dość milczącymi, którzy nie udzielają odpowiedzi na pytania w stylu „czy możesz mi dokładniej i bardziej na chłopski rozum wyjaśnić, o co w tym wszystkim chodzi”, zrozumiałam, że jedynym sposobem, by mój głód wiedzy zaspokoić, jest pójście na studia. I tak znalazłam się na EPI.

Teraz, z perspektywy czasu patrząc na to wszystko, dostrzegam jeszcze jeden problem, z jakim wiązało się szukanie wiedzy w książkach. Mianowicie, żaden z podręczników nie potrafił mi wyjaśnić, do czego tak naprawdę ten JavaScript i PHP służą. Dopiero na studiach zrozumiałam, o co w jednym i drugim chodzi... Przy czym, to wszystko wcale nie oznacza, że uczenie się z książek jest złe. Tylko po prostu ja jestem typem, któremu coś takiego dobrze nie wychodzi. A może, to podręczniki, z których wtedy korzystałam były źle napisane?


Studia na EPI pomogły mi więc zrozumieć wiele rzeczy związanych z kodowaniem i funkcjonowaniem stron internetowych. A ostatnio, podczas jednych z zajęć miałam do zrobienia właśnie, wspomniany już w tytule oraz na wstępie, CMS. Oczywiście podeszłam do zadania na zasadzie: stworzę coś, co mi się przyda, co będę mogła użyć na mojej stronie WWW.

Nie chcę tutaj krytykować samej słuszności tworzenia CMS-a w ramach EPI. Bo z kodowaniem jest troszeczkę, jak z gotowaniem. To znaczy, podobnie, jak kucharzem nie zostanie ten, kto będzie potrafił przyrządzać jedynie zupy z proszku oraz podgrzewać gotowe dania w mikrofalówce, tak samo programowania stron internetowych nie nauczy się ktoś, kto skorzysta z innego, gotowego CMS-a, nie przygotowując wcześniej własnego rozwiązania tego typu.

Ale gdy już się ten swój własny CMS przygotuje, człowiek - oczywiście pod warunkiem, że nie cierpi z powodu przerośniętego ego - odkrywa, że jego dzieło posiada wiele błędów, niedociągnięć oraz braków, których nie mają te wielkie, stosowane na szeroką skalę systemy zarządzania treścią.


Dla mnie pierwszym problemem był brak doświadczenia. Wiedziałam, co chcę mieć w swoim CMS-ie, ale elementy te można było wprowadzić na kilka różnych sposobów. Czy ten, na który ja się zdecydowałam był poprawny? Nie wiem. Sam projekt pisałam od nowa, po raz drugi - po nieudanym, pierwszym podejściu rok temu. Rozwiązania, na które zdecydowałam się tym razem, były zupełnie inne, niż wcześniej. Prostsze i mniej szczegółowe. Ale czy lepsze? Prawdopodobnie, gdybym do tworzenia CMS-a podeszła znów, za jakiś czas, zdecydowała bym się na jeszcze inne rzeczy.

Dodatkowo dochodzi tutaj kwestia rozwoju. Gdybym chciała do mojego projektu dodać kiedyś nowe elementy, prawdopodobnie udałoby mi się to zrobić. Problem w tym, że z czasem całość zaczęłaby przypominać Ruchomy Zamek Howla, który prędzej, czy później stałby się tak skomplikowany, że sama przestałabym się orientować, jak działa.

Obecnie istniejące CMS-y, wewnątrz być może także przypominają zlepione z różnych elementów dziwadła, jednakże na zewnątrz tego nie widać, wszystko działa sprawnie. Poza tym są to systemy rozwijane od wielu lat - ich twórcy wiedzą już dobrze, czego użytkownikom potrzeba, a czego nie, które elementy powinny posiadać masę szczegółowych właściwości, a które mogą zostać potraktowane bardziej ogólnie. Nad całością pracuje natomiast spora grupa programistów i grafików, dzięki czemu mogą oni każdy nowy pomysł nawzajem ze sobą skonsultować, a wszelkie błędy - szybko wychwycić i poprawić.


I tutaj dochodzimy do drugiego problemu, jaki mam ze swoim CMS-em, czyli kwestii bezpieczeństwa. Nie bez powodu nie linkuję wam adresu mojego projektu. Owszem, jakieś tam podstawowe zabezpieczenia moja strona posiada (bo tego wymagał pan prowadzący zajęcia, na które projekt był robiony). Zdaję sobie jednak sprawę z tego, że gdyby mój CMS stał się ogólnodostępny w sieci, to bez problemu dostałby się do niego pierwszy, lepszy, trzeciorzędny haker. I na dodatek zrobił to przy śniadaniu, w ramach rozgrzewki przed włamywaniem się do bazy danych Pentagonu lub CIA.

Oczywiście inne CMS-y też nie są w stu procentach bezpieczne. Zawsze znajdzie się jakiś cwaniak, któremu uda się złamać każde zabezpieczenie. Ale jednocześnie - gdy już błąd w takim CMS-ie zostanie odkryty, szybko pojawi się update, który dany problem rozwiąże.

Tymczasem ja, prawdopodobnie nawet nie zorientowałabym się, że ktoś się do mojego CMS-a włamał. A nawet jeśli, to już na pewno nie miałabym pojęcia, jak taką dziurę w zabezpieczeniach naprawić.


Trzecim problemem jest natomiast to, że po prostu nie warto wymyślać koła od nowa. Jest to coś, o czym często wspominali mi wykładowcy na EPI. Po co tracić czas oraz energię na pisanie od zera JavaScriptu tworzącego ładną galerię z obrazkami, skoro w sieci istnieje sto dziesięć gotowych, sprawdzonych i do tego darmowych rozwiązań, które działają dobrze? To samo tyczy się CMS-ów. Zwłaszcza, że taki na przykład Wordpress jest narzędziem tak złożonym, że zrobienie własnego, równie funkcjonalnego rozwiązania, przypominałoby prawdopodobnie próbę stworzenia od zera systemu komputerowego, działającego równie sprawnie, co Linux lub Windows. Czy da się coś takiego zrobić w pojedynkę? Prawdopodobnie tak. Czy warto? Raczej nie.

Tak wiem, tutaj dochodzimy do problemu innowacyjności. Przed pojawieniem się Microsoftu komputery też jakoś działały i gdy Bill Gates powiedział „hej, ja mam nowe, lepsze rozwiązanie”, ludzie odpowiadali mu „a po co, przecież to, co jest teraz, sprawuje się dobrze”. Być może stwierdzicie więc teraz hurra-optymistycznie: „Hołka, bądź dzielna, nie bój się zdobywać świata, może twój CMS okaże się lepszy od Wordpressa”. Ale ja jestem realistką. I wiem, że Wordpress jest potężnym kombajnem, przy którym mój CMS przypomina rower, na dodatek z kwadratowymi kołami.


Nie chcę jednak, by mój dzisiejszy wpis brzmiał pesymistycznie. Wręcz przeciwnie, jak już napisałam na początku - jestem z mojego CMS-a bardzo dumna i wiem, że nie jest on tworem całkowicie nieudanym. Tylko po prostu chciałam wam zwrócić uwagę na problem innowacyjności w dzisiejszych czasach. Dlatego też - doceniajcie tych, którzy nie boją się tworzyć nowych rzeczy i zdobywać przy ich pomocy świata. Jednocześnie jednak miejcie na uwadze to, że ci, którzy takich rzeczy dokonują są albo niezwykle dzielni, albo straszliwie pewni siebie, albo też wiedzieli na tyle mało lub wystarczająco dużo na dany temat, że niestraszne były im zagrożenia z tą dziedziną wiedzy związane.


źródło obrazka z początku wpisu: jeremynoeljohnson.com.

3 komentarze:

Related Posts Plugin for WordPress, Blogger...