Framework – szkielet, który służy do tworzenia aplikacji. Stanowi podstawę, na której programiści mogą tworzyć programy.
Definiuje on strukturę aplikacji oraz ogólny mechanizm jej działania.
Zapewnia standardowy sposób tworzenia i wdrażania aplikacji, a także jest uniwersalnym środowiskiem oprogramowania wielokrotnego użytku, dostarczającym określoną funkcjonalność, którą można selektywnie rozszerzać za pomocą dodatkowego kodu napisanego przez programistę, nie modyfikując jego domyślnego kodu.
Przykładowo framework może zawierać predefiniowane klasy i funkcje, których można używać do przetwarzania danych wejściowych, zarządzania urządzeniami sprzętowymi i interakcji z oprogramowaniem systemowym.
Programista tworzy aplikację, rozbudowując i dostosowując poszczególne komponenty do wymagań realizowanego projektu, tworząc w ten sposób gotową aplikację.
W przeciwieństwie do bibliotek lub standardowych aplikacji ogólny przepływ kontroli programu nie jest narzucany przez użytkownika, ale przez framework.
Do popularnych framework'ów można zaliczyć między innymi:
- Angular JS
- Laravel
- ASP.NET
- Spring
- Express
- Ruby on Rails
- Django
