Aplikacje internetowe

Bełdziowe spojrzenie na aplikacje internetowe

Frameworki. Po co i na co?

W każdej większej aplikacji internetowej możemy wyodrębnić elementy, które zawsze są nam potrzebne. Możemy do nich zaliczyć komunikację z baza danych, zarządzanie sesją czy np. obsługę użytkowników i ich uprawnień. Jako, ze pisanie ich od nowa przy każdym projekcie mija się z celem należy stworzyć je tak, aby można było je wykorzystać za każdym razem bez konieczności ich modyfikacji.

I tu z pomocą przychodzą frameworki dając nam większość potrzebnych mechanizmów za pomocą prostych interfejsów. Teraz może nasunąć się pytanie czy lepiej napisać własny framework czy skorzystać z ogólnodostępnego.

Tworzenie własnego frameworka wymaga zarówno sporej wiedzy programistycznej jak i poświęconego czasu. W zamian otrzymujemy produkt, który zawiera wszystko co potrzebujemy, a dodatkowo jego działanie jest nam znane w 100%. Z drugiej strony skorzystanie z gotowca daje nam większe możliwości, lepszy kod (ze względu na kontrole przez większa ilość osób) oraz ogromne zaoszczędzenie czasu. Dzięki temu jedyne o co musimy zadbać to napisanie specyficznej funkcjonalności związanej z konkretnym projektem.

Jako, że każdy lubi co innego decyzję własny framework vs. gotowiec należy podjąć samodzielnie. Osobiście po półtorarocznej zabawie z własnym frameworkiem całkowicie przeniosłem się na gotowca o jakże wdzięcznej nazwie Kohana. Po trzech miesiącach od tej decyzji żałuję, że nie podjąłem jej wcześniej :-) Wzrost efektywności i przyjemności pisania można zauważyć już po kilku dniach pracy.

Wspomniana przed chwila Kohana jest bardzo młodym projektem. Nie znaczy to oczywiście, że nie nadaje się do codziennej pracy, wręcz przeciwnie. Co więcej jest bardzo dynamicznie rozwijana, niemal codziennie pojawiają się zmiany na svn’ie. Niestety czasami ta dynamika jest minusem. Dzieje się tak ze względu na poważne zmiany, które maja miejsce w głównych bibliotekach. Wynika to co prawda z wieku projektu, na pewno z czasem wszystko się ustabilizuje.

Sporym problemem dla nowych użytkowników może być słaba dokumentacja, jednak dla wszystkich tych, którzy nie boja się bliskiego kontaktu z kodem nie powinno to stanowić przeszkody. W najbliższym czasie mam zamiar trochę zapełnić lukę w dokumentacji dostępnych elementów Kohany, a przy okazji samemu lepiej je poznać. Tak wiec kończąc ten krótki wstęp zapraszam do zapoznania się w międzyczasie z przedmiotem tego działu.


Tagi: ,
Kategoria: Kohana


9 komentarzy

  1. …zastanawiam się, czy warto uczyć się „nowego php” skoro stosowanie czystego php zamiast ułatwiaczy w FrameWork’ach jest opłacalne ?

    IMHO uczący się programista potrzebuje raczej prostego frameworka (lub własnego), bez zbędnych dodatków, aby skupić się bardziej na MVC i poznać możliwości samego PHP. Dopiero po tym powinien rozpocząć ekspansję na rozbudowane frameworki.

    No i napisanie własnego frameworka jest jednak swojego rodzaju sprawdzianem dla programisty ;-)

  2. Jest bardzo opłacalne :-) Frameworki pozwalają zaoszczędzić sporo czasu podczas pisania, a jak wiadomo czas to pieniądz ;-)

    Jeśli chodzi o uczących się to nie ma wątpliwości, że najpierw muszą poznać sam język, żeby brać się za konkrety :-) w końcu framework ma uprzyjemnić pracę z danym językiem, a nie stanowić dla niego zastępstwo :)

    Fakt pisanie własnego frameworka jest sprawdzianem i przy okazji sposobem na nauczenie się nowych rzeczy, ale wymaga czasu, a to średnio się sprawdza przy komercyjnym pisaniu :)

  3. Kolejny zadowolony użytkownik Kohany, gratuluję wyboru ;-)
    Używam Kohany odkąd się pojawiła prawie, nigdy nie podejmowałem się pisania własnego frameworka, ale zdarza mi się pisać również w „czystym PHP” i to w wersji czwartej, bez obiektów, z przemieszanym kodem itp. Teraz, gdy zacząłem kolejny projekt pisać z użyciem Kohany widzę że to PHP jednak nie jest takie złe (aczkolwiek sam framework nie pomoże na wszystkie niedoróbki języka) ;-)

  4. Moim zdaniem pisanie większego portalu bez MVC to ucinanie gałęzi na której się siedzi – a tworzenie prostego MVC to już pisanie frameworka (choć w szkieletowej formie) – a skoro tak to po co „przepłacać”.
    Piszę właśnie Kurs do Pylons 0.9.7 i im dłużej nad tym siedzę tym dłużej w nim siedzę tym bardziej uświadamiam sobie, że nie do końca o oszczędność czasu chodzi – ale raczej o pewne „przemieszczenie” go. Używając frameworka piszę aplikację (wersja minimum) okazuje się, że poszło szybciej i mogę teraz dodać AJAX (którego bez frameworka by nie było – bo nie byłoby czasu). Znowu używam jakiegoś frameworka JS, okazuje się, że poszło szybciej niż myślałem.
    Dużą rolę odgrywa też wybór frameworka oraz jego dokumentacja. Wybierając Pylons np. walidowanie formularzy staje się przyjemnością – nie trzeba implementować „wracania” z zachowaniem wartości czy jakiejś specjalnej obsługi błędów – wszystko dzieje się samo. Zaś dobra dokumentacja (Pylons jej brak) sprawia że pisanie aplikacji wygląda jak : „czytam”, „rozumiem”, „koduję”. Im framework ma więcej przemyślanych helperów, funkcji i mechanizmów do często wykonywanych zadań – tym szybsza i przyjemniejsza praca.
    Może to też znacznie wpłynąć na całokształt aplikacji. Udostępnienie przez API frameworka jakiegoś dobrze udokumentowanego i zaprojektowanego narzędzia może nas zachęcić do zastosowania go w naszej aplikacji i wzbogacenia o dodatkową funkcjonalność, której bez tego narzędzie nie podjęlibyśmy się implementować – choćby z niewystarczającej ilości czasu.

  5. w pełni się zgadzam :) warto jeszcze najpisać o jednej zalecie. jeśli projekt jest tworzony przez kilka osób tudzież jest przejmowany przez inna osobę, łatwiej jest się w niego wdrożyć :)

  6. Muszę przyznać, że nie bardzo podoba mi się podejście młodych programistów, że lepiej nauczyć się frameworka niż podstaw języka”. Nawet tak przyjazny framework jak Kohana nie jest w stanie nadrobić braku wiedzy z php :)
    Co do samej Kohany, to jej głównymi wadami są: wiek, dokumentacja i podejście twórców do opinii społeczności. Weźmy chociaż najnowszą wersję 2.3, która od poprzedniej różni się diametralnie, przez co nie ma szans na jakąkolwiek migrację :( Nie zmienia to jednak faktu, że jest to wciąż jeden z najlepszych frameworków ;)

  7. nie da się nie przyznać racji :-) zmiany w 2.3 są przegięte :) strach się bać co się stanie z 2.4 :D

  8. Uczac sie frameworka, nauczysz sie jezyka. Inaczej nie zrozumiesz o co biega. Juz lepiej zeby uczyli sie na frameworkach, niz pisali wlasne po „pomacaniu” jezyka.

  9. Świetna strona, świetny artykuł wiele stąd można się dowiedzieć :-)

    Pozdrawiam autora serwisu.

Dodaj komentarz