Framework, czyli szkielet do budowy aplikacji
Framework, inaczej nazywany platformą programistyczną jest czymś w rodzaju szkieletu aplikacji. Definiuje strukturę, architekturę, ogólny mechanizm działania oraz dostarcza wiele przydatnych bibliotek, które pomagają w późniejszej pracy nad projektem. Dobra znajomość frameworka bardzo przyspiesza pracę. Nie musimy się zastanawiać nad wieloma aspektami, ponieważ zrobił to już ktoś inny za nas, a my możemy skupić się na problemie, który mamy rozwiązać. Kolejnym atutem jest fakt, że aplikacje pisane na bazie frameworka są do siebie bardzo podobne. Struktura i ogólne mechanizmy są wymuszone przez framework dzięki czemu osobie, która nie jest zapoznana z projektem będzie o wiele łatwiej się odnaleźć, ponieważ wie czego może się spodziewać i gdzie szukać konkretnych elementów aplikacji.
Jakie są główne wady frameworka?
Trzeba jednak pamiętać też o jego wadach. Głównym argumentem przeciwko używaniu tego typu rozwiązań jest fakt, że korzystamy z gotowych fragmentów kodu. Często nie wiemy jak konkretna biblioteka została zaimplementowana, a co za tym idzie nie wiemy jaki wpływ może mieć na nasz końcowy projekt. Dodatkowo narażamy się na sytuację, że biblioteka, której używamy stanie się płatna lub co gorsza wycofana a my zostaniemy bez mechanizmów, które były wykorzystywane w całej aplikacji i będziemy musieli znaleźć alternatywna bibliotekę lub napisać funkcjonalności samodzielnie, co w przypadku dużych bibliotek może być bardzo czasochłonne. I na końcu trzeba pamiętać, że ilość bibliotek, mechanizmów i funkcjonalności bardzo mocno wpływa na prędkość działania naszej aplikacji. Im szkielet aplikacji jest bardziej rozbudowany tym więcej zasobów serwera potrzebuje do poprawnego działania. Z kolei przy mniejszych projektach wielu z tych mechanizmów nie wykorzystujemy i jedynie spowalniamy naszą aplikację.

Kryteria wyboru Frameworka
Jeżeli akceptujemy wady, które niesie ze sobą wykorzystanie frameworka musimy stanąć przed wyborem wielu dostępnych. Przy wyborze powinniśmy kierować się głównie trzema kryteriami:
- Wzorzec architektoniczny, który odpowiada naszym założeniom,
- Społeczność, która w razie problemów będzie mogła nam pomóc,
- Ogólnie przeznaczenie frameworka.
Ucz się języka, nie frameworka
Powyższe przykłady są oczywiście jednymi z wielu i każdy powinien dobrać rozwiązanie, które najlepiej pasuje do projektu, nad którym pracuje. Trzeba jednak pamiętać, że używanie frameworków do każdego, nawet najmniejszego projektu, nie jest konieczne. Czasem lepszym rozwiązaniem będzie napisanie aplikacji używając czystego języka, co z pewnością wpłynie pozytywnie na jej wydajność oraz wielkość.
Najważniejsze jednak, aby zawsze uczyć się języka, a nie frameworka. Ten może w każdej chwili stać się przestarzały, pojawi się nowy lepszy lub po prostu na potrzeby konkretnego projektu będziemy musieli wybrać inne rozwiązanie. Bez dobrej znajomości danego języka będzie to znacznie trudniejsze.