Drogi Użytkowniku AdBlocka/uBlocka:
Aby poprawnie wyświetlać treść naszej strony, wyłącz AdBlocka/uBlocka lub dodaj wyjątek dla naszej domeny.

Aktualności

Uniwersalne czy na miarę?

Uniwersalne czy na miarę?
2013-03-11

Jakiś czas temu dostałem zlecenie poprawienia niezbyt skomplikowanego serwisu internetowego. W zasadzie nieco bardziej rozbudowanej wizytówki. Na pierwszy rzut oka nie wyglądało to na coś skomplikowanego, zwłaszcza, że klient powiedział, że strona jest raczej statyczna i nie ma żadnego CMSa. Zgodziłem się, niemniej zanim dokonałem wyceny "prostego" zadania poprosiłem o dostęp do plików źródłowych. Jak się mówi "Strzyżonego Pan Bóg strzyże" ;)

I to mnie uratowało. Na serwerze były setki plików powiązanych ze sobą w nieznany mi sposób. Niektóre foldery nazywały się ZEND i SMARTY, więc wywnioskowałem, że mogły być użyte (chociaż niekoniecznie). Dałem sobie godzinę na wgryzienie się w temat i "na oko" wyceniłem swoją pracę. Klient złapał się za głowę i poszedł szukać programisty, który mu ową stronę stawiał. Po kilku miesiącach wrócił i zalecił mi postawienie strony od nowa, na CMSie i przy okazji zrobiliśmy redesign i rozbudowę serwisu.

Ja w tym czasie zacząłęm sie zastanawiać, dlaczego ludzie robią proste rzeczy w tak skomplikowany sposób?. Przecież na tej stronce nawet baza danych nie była potrzebna! Można ją było zrobić wyłącznie przy pomocy HTML i CSS, małym dodatkiem JavaScript raczej dla bajerów niż konkretnych potrzeb. Może mniej przyjazne z punktu widzenia SEO, ale do zrobienia.


Często też widuję na różnych grupach dyskusyjnych propozycje zaprzęgnięcia WordPressa do prostego systemu newsów.

  

Ja rozumiem, że ktoś może nie umieć programować. Wtedy takie "gotowce" są przyjazne. Wrzuca się na serwer, czyta instrukcję, klika tu i ówdzie i strona gotowa bez konieczności wpisania nawet jednej linijki kodu. Ale gdy widzę, że programiści ze stażem robią takie rzeczy, to ręce opadają. Napisanie prostego, ale efektywnego systemu newsów to max godzina (posiadając gotowe kawałki z wcześniejszych realizacji to kilkanaście minut). A dzięki temu kod jest prosty i czytelny (oczywiście zakładając, że programista zna swój fach) w odróżnieniu od takiego WP, którego podstawowy silnik to kilka MB kodu, w większości zbędnego.

 

 

Jak coś jest do wszystkiego to jest do niczego

 

Przyznaję się bez bicia - nie jestem zwolennikiem uniwersalnych gotowców. Posiadają za dużo mechanizmów, z których zazwyczaj i tak się nie skorzysta a wyłączyć się nie da. Owszem, są pewne, rozbudowane projekty, do których pisanie najniższej warstwy mija się z celem, zbyt wiele błędów można popełnić. Ale do prostych stron to jest wytaczanie armaty na komara.

Szczytem perfekcji byłby framework zawierający TYLKO NAJPOTRZEBNIEJSZE mechanizmy, takie minimum funkcjonalne oraz możliwość łatwej rozbudowy o własne moduły. Przy czym nie potrzeba całego panelu administracyjnego do obsługi i konfiguracji tych modułów (co robi się zazwyczaj tylko raz podczas wdrażania systemu), wystarczy plik konfiguracyjny. Z programów desktopowych genialnym przykładem jest multikomunikator Miranda. Uwielbiam go. Podstawowy plik EXE to w zasadzie tylko kontener. Każda funkcjonalność jest bibliotece DLL, którą wystarczy skopiować w odpowiednie miejsce i aktywować. Potrzebuję GG? Proszę bardzo - wrzucam jeden plik i działam. Inny wygląd listy kontaktów? Wrzucam inny plik. Tak powinien wyglądać dobry framework.


Reklamy systemów do budowy sklepów internetowych zachwalają: "kilka kliknięć w konfiguracji i już możesz zarabiać". Owszem, tylko...

 

-  albo sklep jest zupełnie inny niż wymyślił sobie klient i przerobienie go jest trudniejsze niż napisanie od zera
-  albo ma więcej funkcjonalności niż potrzeba i czasami nie da się ich wyłączyć, a jeśli już się da to i tak spora część kodu gdzieś tam niepotrzebnie się wykonuje
- a potrzebnych funkcjonalności i tak nie ma i albo trzeba dokupić moduł (który znowu ma masę zbędnych rzeczy) albo napisać swój

Jeśli coś ma być dobre, to powinny być szyte na miarę i odpowiednio kosztować. Zresztą żeby daleko nie szukać. Jaki garnitur będzie lepszy? Kupiony za 100zł w Tesco czy uszyty przez krawca za 2000zł? Idąc tym tropem napisałem system CMS, który zawiera TYLKO TO, co jest niezbędne do postawienia typowego serwisu z możliwością łatwej robudowy o dedykowane moduły, które w 100% realizują zapotrzebowanie klienta. Oczywiście nie jest to system do "wyklikania".

 

Znajomy prosił mnie kiedyś, żebym zerknął w kod jednego sklepu, bo coś muli, może znajdę problem. Zerknąłem i czym prędzej odzerknąłem. Nawet nie wiedziałbym gdzie szukać problemu a przeglądanie całego kodu mija się z celem. A robiła to firma, która ma całkiem niezłą renomę (kiedyś sam chciałem u nich pracować, ale losy pokierowały moim życiem inaczej). No cóż, sklep jest jeszcze na gwarancji - niech autor się tym zajmie...


Andrzej Kidaj
andrzej@ad3.eu
http://alib.ad3.eu