KWALIFIKACJA INF3 - CZERWIEC 2020

PYTANIE NR 36.
Zestaw komponentów i podprogramów służący pisaniu aplikacji, który ponadto narzuca szkielet wyglądu aplikacji, jej strukturę, a czasem nawet wzorzec według którego ma powstać aplikacja, to
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Framework to zestaw komponentów i narzędzi, który narzuca szkielet aplikacji (strukturę projektu, sposób budowy, często także wzorzec architektoniczny). Biblioteka zwykle dostarcza funkcje do użycia, ale nie przejmuje kontroli nad strukturą. Komponent jest elementem składowym, a middleware to warstwa pośrednia w przetwarzaniu żądań.

Pełne wyjaśnienie:

W opisanej definicji kluczowe jest sformułowanie, że rozwiązanie narzuca szkielet wyglądu i strukturę aplikacji, a czasem także wzorzec, według którego ma powstać projekt. Tę cechę najtrafniej oddaje framework (szkielet programistyczny). Framework nie tylko dostarcza gotowe elementy (komponenty, klasy, moduły), ale też zwykle określa sposób organizacji kodu i przepływ sterowania w aplikacji (często spotyka się tu ideę "framework wywołuje Twój kod", a nie odwrotnie).

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • Biblioteka – to zazwyczaj zbiór funkcji/klas do użycia w dowolnym miejscu aplikacji. Pomaga implementować wybrane zadania, ale z definicji nie musi narzucać całej struktury projektu ani "wzoru" budowy aplikacji. To programista decyduje, gdzie i kiedy ją wywoła.
  • Komponent – jest pojedynczym, wydzielonym elementem (np. część interfejsu, moduł logiki). Komponent może być częścią frameworka, ale sam w sobie nie stanowi kompletnego szkieletu aplikacji.
  • Middleware – to warstwa pośrednicząca w przetwarzaniu (np. łańcuch operacji wykonywanych na żądaniu/odpowiedzi). Middleware rozszerza zachowanie aplikacji, ale nie jest "szkieletem" całego projektu i nie musi narzucać architektury.

Wskazówka egzaminacyjna: gdy w definicji pojawia się "narzuca strukturę/szkielet" lub "prowadzi" programistę przez wzorzec budowy aplikacji, najczęściej chodzi o framework. Gdy mowa tylko o "dostarcza funkcje", zwykle jest to biblioteka.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Framework to szkielet, który dostarcza gotowe elementy i jednocześnie narzuca sposób organizacji aplikacji (np. strukturę katalogów, konwencje, mechanizmy routingu). Dzięki temu szybciej buduje się projekt, ale trzeba działać w ramach zasad danego rozwiązania.
Bibliotekę programista zwykle wywołuje wtedy, kiedy potrzebuje (to Ty kontrolujesz przepływ). Framework częściej definiuje strukturę i przepływ sterowania w aplikacji, a Twoje fragmenty kodu są "wpinane" w jego cykl działania. To różnica w poziomie narzucania architektury.
Bo framework poza dostarczaniem kodu narzędziowego wprowadza też konwencje: gdzie umieszczać pliki, jak tworzyć moduły, jak obsługiwać żądania i widoki. Te reguły tworzą "szkielet" projektu, który ułatwia rozwój i utrzymanie, ale ogranicza dowolność.
Middleware to warstwa pośrednia wykonująca dodatkowe kroki podczas przetwarzania (np. uwierzytelnienie, logowanie, walidacja). Zwykle działa w łańcuchu (pipeline) i modyfikuje lub kontroluje przebieg żądania/odpowiedzi. Nie jest jednak pełnym szkieletem architektury.
Nie w typowym znaczeniu. Komponent to pojedynczy element (np. moduł, widok, kontrolka UI), który realizuje konkretną funkcję. Framework jest zbiorem zasad i narzędzi obejmującym całą aplikację. Komponenty mogą być częścią frameworka, ale nie zastępują go.
Szukaj słów typu: "narzuca strukturę", "szkielet aplikacji", "konwencje", "wzorzec budowy", "cykl życia aplikacji". Jeśli opis dotyczy tego, jak ma wyglądać cały projekt, a nie tylko pojedyncza funkcja, najczęściej chodzi o framework, a nie bibliotekę.
Najczęściej: szybszy start projektu, spójna architektura, gotowe mechanizmy (routing, szablony, bezpieczeństwo), łatwiejsza współpraca w zespole dzięki konwencjom oraz większa przewidywalność utrzymania. Kosztem bywa mniejsza elastyczność i krzywa nauki.
Częsty błąd to myślenie: "skoro pomaga pisać kod, to na pewno framework". Uczniowie ignorują cechę narzucania struktury i kontrolę przepływu. Drugi błąd to traktowanie dowolnego zestawu gotowych klas jako frameworka, mimo że nie definiuje on architektury aplikacji.
Nie zawsze wprost, ale zwykle narzuca przynajmniej konwencje organizacji i sposób łączenia elementów. Niektóre frameworki mocno promują określony styl (np. warstwowość, komponentowość), inne są bardziej elastyczne. W pytaniach egzaminacyjnych to "narzucanie szkieletu" jest kluczowe.
Ucz się definicji i różnic pojęciowych oraz analizuj opisy: co narzuca strukturę, co jest tylko zbiorem funkcji, a co jest warstwą pośrednią. Pomaga też przejrzenie dokumentacji dowolnego frameworka i zauważenie konwencji projektu (katalogi, routing, konfiguracja).
info

To pytanie poprawnie rozwiązuje 47% zdających egzamin. trudne

Specjaliści zwracają uwagę: "Framework to zestaw komponentów i narzędzi, który narzuca szkielet aplikacji (strukturę projektu, sposób budowy, często także wzorzec architektoniczny)."

Źródła:

  • MDN Web Docs Glossary: Framework — https://developer.mozilla.org/en-US/docs/Glossary/Framework (dostęp: 2026-02-18)
  • MDN Web Docs Glossary: Library — https://developer.mozilla.org/en-US/docs/Glossary/Library (dostęp: 2026-02-18)
  • Wikipedia (EN): Middleware — https://en.wikipedia.org/wiki/Middleware (dostęp: 2026-02-18)

Materiały:

  • Dokumentacje i glosariusze (np. MDN Web Docs) dotyczące podstawowych pojęć
  • Wprowadzenia do inżynierii oprogramowania (różnice framework/biblioteka/komponent)
  • Kursy architektury aplikacji webowych (MVC, warstwy, zależności)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego