Framework to dobrze przetestowany i udokumentowany zbiór bibliotek do obsługi często używanych funkcjonalności w tworzonych aplikacjach. Przykładami takich funkcjonalności (podsystemów) mogą być:
Każdy framework ma swoją filozofię, według której jest napisany cały jego kod, i na której opiera swoje działanie. jakie zachodzi pomiędzy jego podsystemami.
Zasadniczą kwestią przy wyborze frameworka jest więc to jak bardzo filozofia frameworka pasuje do naszego doświadczenia programistycznego i założeń projektu do wykonania. Im mniej trzeba poświęcać czasu na naukę frameworka i na zrozumienie zamysłu jego autora (autorów) tym lepiej framework pasuje do naszych potrzeb.
Oczywiście od pewnej nauki programowania w danym frameworku nie uciekniemy. Jednak jeśli filozofia działania frameworka zamiast nam upraszać pracę bardziej nam przeszkadza i ogranicza to zdecydowanie należy framework zmienić. Jest duża szansa, że spokojnie znajdziemy framework, który będzie bardziej pasował do naszej dotychczasowej praktyki.
Framework to fundament aplikacji i powinien on być zgodny z naszym dotychczasowym doświadczeniem w podejściu do pisania aplikacji internetowych.
Tak więc nie można jednoznacznie wskazać najlepszego frameworka ponieważ każdy programista może mieć różne potrzeby lub różne doświadczenia.
Oczywiście w Internecie możemy znaleźć bardzo wiele lepszych i gorszych frameworków. Chociażby lista na stronach projektu WACT (http://www.phpwact.org/php/mvc_frameworks), która zawiera ponad 60 projektów.
Wśród dużych i znanych frameworków coraz wyraźniej kształtują się pewne filozofie programowania (skądinąd dobrze znane) takie jak:
Prawdziwe OOP (Object-Oriented Programming)
czyli jak najbardziej ścisłe wykorzystanie wszystkich dobrodziejstw obiektów w języku PHP5,
Model MVC (Model-View-Controller)
czyli wzorzec architektoniczny, którego założeniem jest podział aplikacji na 3 warstwy. Podział taki bardzo ułatwia pracę zespołową, pielęgnację powstałego kodu oraz przyspiesza tworzenie aplikacji,
Zastosowanie szablonów (Templating)
czyli użycie nieskomplikowanego języka do obsługi wyglądu,
Wykorzystanie ORM (Object-Relational Mapping)
czyli przedstawienie struktury i relacyjności bazy danych poprzez obiekty. Każda tabela i każdy rekord jest odpowiednią klasą i metodą w aplikacji. Ujednolica to programowanie kiedy piszemy całość w duchu OOP,
Stosowanie DAO (Data Access Object)
lub też inaczej Database Abstraction Layer czyli uniezależnienie się od konkretnego języka SQL dla danego DBMS.
Zalety jakie niesie użycie dobrze znanego frameworka to na przykład:
Kryteria jakie przykładowo można brać pod uwagę oceniając frameworki to:
...niepoważny tytuł jak na poważny serwis. A raczej nieznajomość reguły wstawiania apostrofu...
ogólnie artykuł nic nowego nie wnosi - ot pare linków, wykresów i porównań.
Brak własnych testów poruszanych frameworków (pełnego zestawienia) - wiele by dało do myślenia na temat sprawności frameworków.
Zlepek i podsumowanie krążących treści w necie.
"... i wiele innych." cóż to krótki spis który nadaje się np jako podsumowanie artu
Wstęp naprawdę mnie zaciekawił jednak im dalej w las tym więcej statystyk, grafów, wykresów, z których tak naprawdę nic dla programisty nie wynika. Ciekawostka ot i tyle.
Troszke niepoważny artykuł, kilka linków i wypunktowań niestety nic nie wnoszących
Przykre, ale jak na największy portal w Polsce traktujący o PHP nie postaliście się.
Pomijając wartość merytoryczną tego artykuły, czy ktokolwiek sprawdził przed jego opublikowaniem, jak treść jest wyświetlana w przeglądarce?
Prezentowane wykresy nie mieszczą się w kolumnie przeznaczonej na tekst. Tabele porównawcze warto by było jakoś sformatować, tak aby były bardziej czytelne.
Wygląda to tak, jakby ktoś zrobił CTRL+C i CTRL+V, nie zadając sobie trudu dopasowaniem treści do wyglądu portalu...
Racja!
Też sądziłem że z tego artykuły wyciągnę coś więcej. Od niedawna uczę się i używam Zend'a i bardzo mnie interesuje temat wydajności framework'ów w dużych projektach. Czy np w serwisach o dużej oglądalności (np powyżej 10 tyś uv) warto brać pod uwagę pisanie go w frameworku (tu w zend).
pozdrawiam
Artykul o niczym.
Autor przedstawia rozne benchmarki dodajac skromne podsumowanie, ktore tak naprawde nic nie wnosi i nic nie podsumowuje.
Spodziewalem sie szerszego podejscia do tematu niz tylko wrzucenie kilku obrazkow i tabel i konkretnej opinii dlaczego dany framework jest lepszy lub gorszy.
Ostatnia strona ktora powinna zbierac do kupy wszystkie dotychczasowe infromacje jest jakims laniem wody.
Podsumowujac: niczego z tego artykulu wartosciowego sie nie dowiedzialem. Nawet nie poznalem ktory framework jest wg. autora lepszy.