Najlepsze pytania
Chronologia
Czat
Perspektywa
Framework
Narzędzie programowe, które służy jako podstawa do tworzenia aplikacji Z Wikipedii, wolnej encyklopedii
Remove ads
Remove ads
Framework albo platforma programistyczna – szkielet do budowy aplikacji. Definiuje on strukturę aplikacji oraz ogólny mechanizm jej działania, a także dostarcza zestaw komponentów i bibliotek ogólnego przeznaczenia do wykonywania określonych zadań. Programista tworzy aplikację, rozbudowując i dostosowując poszczególne komponenty do wymagań realizowanego projektu, tworząc w ten sposób gotową aplikację.
Frameworki bywają niekiedy błędnie zaliczane do bibliotek programistycznych. Typowe cechy, które każą wyróżniać je jako samodzielną kategorię oprogramowania, to:
- odwrócenie sterowania – w odróżnieniu od aplikacji oraz bibliotek, przepływ sterowania jest narzucany przez framework, a nie przez użytkownika[1][2].
- domyślne zachowanie – domyślna konfiguracja frameworka musi być użyteczna i dawać sensowny wynik, zamiast być zbiorem pustych operacji do nadpisania przez programistę[1].
- rozszerzalność – poszczególne komponenty frameworka powinny być rozszerzalne przez programistę, jeśli ten chce rozbudować je o niezbędne mu dodatkowe funkcje.
- zamknięta struktura wewnętrzna – programista może rozbudowywać framework, ale nie poprzez modyfikację domyślnego kodu.
Remove ads
Architektura
Według Pree[3] framework składa się z zamrożonych i gorących punktów. Zimne punkty definiują ogólną architekturę konkretnego typu oprogramowania, tj. zestaw podstawowych komponentów oraz zależności między nimi. Pozostają one niezmienne (zamrożone) we wszystkich aplikacjach zbudowanych w oparciu o konkretny framework. Gorące punkty reprezentują te części, które programista rozszerza, dodając własne cechy specyficzne dla konkretnego projektu.
Zgodnie z zasadą odwrócenia sterowania, to gorące punkty osadzone są we frameworku, a nie na odwrót. Wykorzystywana jest tutaj tzw. „reguła Hollywood”: nie dzwoń do nas, my zadzwonimy do Ciebie[4]. Klasy i komponenty użytkownika otrzymują sygnały od frameworka, który zarządza wykonywaniem aplikacji.
Remove ads
Zalety i wady
Zalety[1]:
- efektywność – tworzenie aplikacji z wykorzystaniem frameworków wymaga od programisty mniejszej ilości kodu do napisania,
- poprawa jakości kodu – ponieważ frameworki są projektowane z myślą o elastyczności, mają one dobrą wewnętrzną organizację i logikę, którą narzucają aplikacji,
- niezawodność – frameworki jako szkielety aplikacji są dobrze zaprojektowane i przetestowane.
Wady[1]:
- złożoność – ze względu na swoją elastyczność oraz wykorzystywanie zaawansowanych koncepcji, opanowanie frameworków nie jest łatwe,
- wydajność – często ceną za elastyczną budowę jest niższa wydajność tworzonego oprogramowania.
Remove ads
Zastosowania
Frameworki są stosowane zarówno jako szkielety kompletnych aplikacji, jak i pojedynczych komponentów. Obszary zastosowań frameworków:
- kompilatory różnych języków programowania[5]
- aplikacje modelowania finansowego[6]
- aplikacje do modelowania w naukach o Ziemi[7]
- systemy wspomagania decyzji[8]
- frameworki multimedialne
- middleware
- frameworki do aplikacji webowych
Zobacz też
Przypisy
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads