KWALIFIKACJA INF3 - CZERWIEC 2023

PYTANIE NR 37.
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 środowisko/programistyczny "szkielet" aplikacji: dostarcza komponenty i podprogramy, a jednocześnie narzuca strukturę projektu oraz sposób budowy (często przez odwrócenie sterowania). Biblioteka jest wywoływana przez programistę, komponent to część systemu, a middleware pośredniczy między warstwami/usługami.

Pełne wyjaśnienie:

Framework to zestaw gotowych komponentów, narzędzi i mechanizmów, który nie tylko ułatwia pisanie aplikacji, ale także narzuca jej organizację: strukturę katalogów, sposób rejestrowania routingu, cykl życia żądań, konwencje nazewnicze czy typowy układ warstw (np. kontrolery–widoki–modele). Często wiąże się to z ideą Inversion of Control (odwrócenia sterowania): to framework "prowadzi" aplikację, a programista dopisuje elementy w miejscach przewidzianych przez szkielet.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • Biblioteka dostarcza funkcje/klasy do użycia, ale zasadniczo nie wymusza całej struktury projektu. To programista decyduje, kiedy i jak ją wywołać. Biblioteka może ułatwiać pracę (np. obsługa dat, zapytań HTTP), lecz zwykle nie definiuje kompletnego "wzoru" aplikacji.
  • Komponent jest elementem składowym większej całości (np. moduł UI, usługa, wtyczka). Może być wielokrotnego użytku, ale sam w sobie nie jest pełnym szkieletem aplikacji i nie musi narzucać architektury całego projektu.
  • Middleware to warstwa pośrednia działająca między innymi elementami (np. między klientem a serwerem lub pomiędzy modułami przetwarzania żądania). Middleware realizuje określone zadania (np. uwierzytelnianie, logowanie, kompresja), ale nie jest ogólnym szkieletem narzucającym całą strukturę aplikacji.

W praktyce na egzaminie warto pamiętać prostą regułę: bibliotekę wywołujesz, a w frameworku pracujesz zgodnie z jego konwencjami i cyklem działania.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Framework to zestaw narzędzi i gotowych elementów, który narzuca strukturę aplikacji (np. układ modułów, sposób obsługi żądań) i prowadzi programistę konwencjami. Zwykle zapewnia też mechanizmy "kleju" projektu, np. routing, szablony, wstrzykiwanie zależności.
Bibliotekę wywołuje Twoj kod wtedy, gdy potrzebujesz jej funkcji. Framework ma własny szkielet i to on uruchamia i integruje elementy aplikacji (często przez odwrócenie sterowania). Różnica jest więc głównie w tym, kto "steruje" przepływem programu.
Framework zwykle wymusza konwencje: gdzie trzymać kontrolery, widoki, konfigurację, jak nazywać pliki i jak rejestrować trasy. Dzięki temu projekty są podobne, łatwiej je utrzymywać i szybciej wdrażać nowe osoby, ale kosztem mniejszej swobody organizacji.
IoC oznacza, że to framework zarządza cyklem życia aplikacji i wywołuje Twoje fragmenty kodu w odpowiednich momentach (np. przy obsłudze żądania HTTP). Programista "wypełnia" miejsca przewidziane przez szkielet, zamiast ręcznie składać cały przepływ działania.
Nie. Middleware to element pośredniczący, który realizuje konkretne zadanie w przetwarzaniu (np. autoryzacja, logowanie, kompresja, CORS). Framework jest szerszym pojęciem: zapewnia cały szkielet aplikacji i zbiór konwencji, a middleware bywa tylko jednym z mechanizmów w frameworku.
Komponent to część aplikacji, zwykle wyspecjalizowana (np. moduł UI, widget, usługa). Może być wielokrotnego użytku, ale nie stanowi kompletnego szkielettu projektu ani nie narzuca architektury całej aplikacji. Framework składa się z wielu komponentów i zasad ich łączenia.
Szukaj cech: narzucony szkielet, konwencje, typowa struktura katalogów, gotowy cykl obsługi żądań i fakt, że to środowisko "prowadzi" aplikację. Jeśli opis mówi o wzorcu budowy projektu i strukturze narzucanej z góry, najczęściej chodzi o framework, nie o bibliotekę.
Nie zawsze, ale często promuje określony styl (np. warstwy, podejście komponentowe) i dostarcza gotowe mechanizmy zgodne z tym stylem. Nawet jeśli nie wymusza wprost MVC, zwykle sugeruje sposób organizacji kodu i integracji modułów przez konwencje oraz konfigurację.
Najczęstszy błąd to utożsamianie "dużego narzędzia" z frameworkiem. Kluczowe pytanie brzmi: kto kontroluje przepływ programu? Jeśli to Twoj kod wywołuje funkcje narzędzia, to bliżej biblioteki. Jeśli narzędzie uruchamia Twoje moduły w swoim cyklu działania, to framework.
Ucz się przez porównania i krótkie definicje: biblioteka = zbiór funkcji do użycia; framework = szkielet i konwencje; middleware = pośrednik w przetwarzaniu; komponent = część aplikacji. Pomaga też kojarzenie z typowymi przykładami technologii, ale na egzaminie liczą się cechy z definicji.
info

Statystycznie 60% uczniów zna prawidłową odpowiedź. średnie

Według specjalistów z branży: "Framework to środowisko/programistyczny "szkielet" aplikacji: dostarcza komponenty i podprogramy, a jednocześnie narzuca strukturę projektu oraz sposób budowy (często przez odwrócenie sterowania)."

Źródła:

  • MDN Web Docs Glossary: Framework — https://developer.mozilla.org/en-US/docs/Glossary/Framework (dostęp: 2026-02-18)
  • Wikipedia: Framework (computer programming) — https://en.wikipedia.org/wiki/Software_framework (dostęp: 2026-02-18)
  • freeCodeCamp: Framework vs Library — https://www.freecodecamp.org/news/frameworks-vs-libraries/ (dostęp: 2026-02-18)

Materiały:

  • Dokumentacja MDN Web Docs – hasła z działu Glossary (framework, library)
  • Rozdziały z podręczników inżynierii oprogramowania o architekturze i wzorcach (MVC, IoC)
  • Kursy wprowadzające do frameworków webowych (np. sekcje o strukturze projektu i konwencjach)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego