czwartek, 16 października 2014

Nowy projekt - FineCMS

Tym razem napisałem od nowa frameworka MVC. Zupełnie inna architektura, całkowicie odmienione i poprawione front controller, dispatcher, router. Kod jest bardziej spójny, elegancki, łatwiejszy w zarządzaniu. Na tym frameworku postawiłem nowego CMS-a. Użyłem tu Twitter Bootstrapa do widoku oraz PDO do modelu. Poprawiłem też paginację list. Dzięki nowej architekturze udało się uprościć instalator aplikacji.

Początek był trudny. Zanim ukształtowała się obecna postać frameworka, wiele razy podchodziłem do stworzenia właściwej architektury. Gdy zaprojektowana struktura nie była do końca spójna, odbiegała choć w jednym miejscu od ustalonego standardu, albo było w niej coś, co mi się nie podobało, wtedy usuwałem dane rozwiązanie i wracałem do punktu wyjścia, próbując stworzyć rozwiązanie w inny sposób, dopóki nie powstało coś, do czego nie miałem zastrzeżeń, co było zgrabne i eleganckie. Takie podejście stosowałem wielokrotnie w trakcie całego projektu. Jednak najwięcej takich nieudanych prób było na początku, zanim nie wyłonił się ogólny schemat, którego trzeba było się potem trzymać. Wówczas kolejne rozwiązania przychodziły same, bo wynikały z istniejącej już architektury. Gdy framework stał się kompletny, można było osadzić na nim CMS-a. Tak też zrobiłem i w obecnej postaci CMS ma wszystkie podstawowe funkcjonalności. Jego rozbudowa o kolejne jest ułatwiona dzięki ustalonemu standardowi, którego wystarczy się trzymać - prowadzi on za rękę podczas tworzenia nowych funkcji.

Strona projektu: FineCMS. Zapraszam do obejrzenia.