Framework to rodzaj podstawowej struktury oprogramowania, który znacząco ułatwia pracę. Umożliwia on przejęcie kontroli nad procesem tworzenia oprogramowania z jednej platformy. Dokładniej mówiąc, jest to konstrukcja do budowy jakiejś aplikacji, która jednocześnie dostarcza pewne komponenty i biblioteki, a także definiuje strukturę i działanie tej aplikacji.
Jakimi cechami powinien charakteryzować się dobrej jakości framework?
Dobrej jakości framework powinien charakteryzować się takimi cechami jak:
- spójność – zwłaszcza jeśli projekt jest rozproszony i pracuje się z ludźmi z różnych lokalizacji, gdzie spójność pracy jest niezbędna;
- odpowiednia funkcjonalność – musi być ona dopasowana do charakteru pracy, nie ma potrzeby decydować się na rozbudowany framework, jeśli projekt tego nie wymaga;
- kompletność dokumentacji – dobry framework powinien posiadać pełną dokumentację, która umożliwi sprawne, samodzielne działanie (na przykład w postaci poradników dla początkujących);
- aktywność społeczna – duża baza użytkowników jest przydatna między innymi w sytuacji, gdy wystąpi jakiś problem, wtedy można zadać pytanie na forum i uzyskać od kogoś odpowiedź.
Jakie korzyści płyną z korzystania z frameworka?
Do najważniejszych zalet korzystania z frameworka zalicza się między innymi to, że:
- pomaga spójnie tworzyć kod, minimalizując przy tym liczbę błędów;
- sprawia, że kod jest bezpieczniejszy;
- znacząco ułatwia całą pracę nad technologiami zaawansowanymi;
- sprawia, że debugowanie i testowanie kodu jest prostsze, dzięki czemu może to być wykonywane przez mało doświadczonych programistów;
- skraca czas tworzenia aplikacji;
- pomaga w stosowaniu lepszych programistycznych praktyk;
- dopasowuje wykorzystanie projektowych wzorców.
Zaletą korzystania z frameworka jest również to, że posiada on już kilka wstępnie stworzonych i przetestowanych segmentów kodu.
Jakie wyróżnia się rodzaje frameworków?
Rodzaje Frameworków dzieli się ze względu na:
- język programowania (na przykład Java, Frameworki JavaScript i Frameworki Python);
- zakres oferowanych rozwiązań, narzędzi (na przykład Full-Stack Frameworks i Microframeworks);
- rodzaj tworzonej aplikacji (na przykład aplikacje webowe i aplikacje mobilne);
- dedykowaną warstwę (na przykład Frameworki Backend i Frameworki Front-end);
- cele i zadania, jakie pozwalają osiągać (na przykład Frameworki Testowe).
Na co zwrócić uwagę wybierając Framework?
Wybierając Framework należy zwrócić uwagę na takie aspekty jak:
- łatwość jego wdrożenia;
- dostępność specjalistów;
- łatwość obsługi i sposób działania;
- zwięzłość, czystość oraz klarowność kodu;
- elastyczność i możliwość adaptacji do potrzeb indywidualnych;
- zgodność z jak najlepszymi standardami, wzorcami i praktykami;
- możliwość samodzielnego tworzenia własnych komponentów;
- spójność produkcyjną, organizacyjną, związaną z przepływem i podziałem pracy;
- możliwość rozbudowy kodu;
- możliwość konserwacji kodu;
- produktywność (ilość poprawek i wersji, jakie zostały wprowadzane);
- społeczność, jaka skupia się wokół niego (jej aktywność, wielkość oraz zaangażowanie);
- dostępność materiałów edukacyjnych i innych dokumentacji;
- zestaw oferowanych funkcjonalności.
Biblioteka a Framework – jakie różnice?
Framework bywa często nazywany biblioteką, co jest niepoprawne. Biblioteka służy do rozwiązywania problemów technicznych bądź do eliminowania rutynowych czynności. Jej zadaniem może być na przykład: obróbka zdjęć, kryptografia, obsługa żądań HTTP, skomplikowane operacje matematyczne czy też nietypowe składowe interfejsu. Biblioteka jest jedną z cegiełek, z których budowane jest dane oprogramowanie. Natomiast Framework umożliwia kompleksowe tworzenie całego oprogramowania, buduje on również logikę biznesową oraz łączy ze sobą warstwy oprogramowania.
Framework odgrywa znaczącą rolę w tworzeniu aplikacji. Umożliwia korzystanie ze sprawdzonych praktyk, wzorców, rozwiązań oraz metod. Dzięki czemu można przyspieszyć proces tworzenia danego projektu.