Framework (v překladu aplikační rámec) je standardizovaný soubor předpřipraveného kódu, knihoven, nástrojů a nejlepších praktik, který slouží jako základ a opěrná kostra pro vývoj softwaru. Namísto toho, aby programátor psal celou aplikaci od naprosté nuly, poskytuje mu framework hotovou architekturu, do které pouze doplňuje specifickou logiku své aplikace.
Framework si lze představit jako hrubou stavbu domu. Máte hotové základy, nosné zdi, rozvody elektřiny a potrubí. Nemusíte pálit vlastní cihly ani vymýšlet, jak funguje gravitace. Vaším úkolem je pouze dům zařídit, vymalovat a určit, jaký bude mít účel (zda to bude nemocnice, nebo rodinný dům).
Nejčastějším omylem v IT je zaměňování pojmů framework a knihovna. Klíčovým rozdílem je technický princip zvaný Inverze řízení (Inversion of Control - IoC):
Svět IT nabízí stovky frameworků. Následující tabulka představuje 10 nejvýznamnějších rozdělených podle zaměření, včetně konkrétního příkladu, kdy po nich sáhnout.
| Název frameworku | Jazyk / Ekosystém | Zaměření | Typický příklad použití (Kdy jej zvolit) |
|---|---|---|---|
| 1. Django | Python | Backend Web | Tvorba robustního e-shopu, zpravodajského portálu nebo interního informačního systému s důrazem na extrémní bezpečnost a rychlost nasazení. |
| 2. Laravel | PHP | Backend Web | Vývoj moderní webové aplikace (např. rezervační systém nebo CRM), kde je kladen důraz na elegantní kód a snadné napojení na e-maily a databáze. |
| 3. Spring Boot | Java | Backend / Enterprise | Tvorba vysoce zabezpečených a škálovatelných mikroslužeb pro bankovnictví, pojišťovny nebo obří nadnárodní korporace. |
| 4. ASP.NET Core | C# (.NET) | Backend Web / API | Výkonné backendové API pro komunikaci s velkými podnikovými databázemi (SQL Server), často využívané v podnikovém prostředí Microsoftu. |
| 5. Ruby on Rails | Ruby | Backend Web | Rychlé prototypování startupových projektů a platforem (např. původní verze Airbnb nebo Twitteru). Filozofie „konvence má přednost před konfigurací“. |
| 6. Angular | TypeScript | Frontend (SPA) | Komplexní „Single Page Applications“ (SPA) jako je webový e-mailový klient, internetové bankovnictví nebo složitý firemní dashboard. |
| 7. Vue.js | JavaScript | Frontend (UI) | Tvorba interaktivního uživatelského rozhraní. Ideální pro postupné nasazování do již existujících aplikací, které potřebují modernizovat vzhled a dynamiku. |
| 8. Flutter | Dart | Mobilní (Cross-platform) | Vývoj mobilní aplikace pro iOS i Android současně z jednoho jediného zdrojového kódu (např. e-shop aplikace, fitness tracker). |
| 9. React Native | JavaScript | Mobilní (Cross-platform) | Tvorba nativně vypadající mobilní aplikace pro existující webovou službu s využitím znalostí JavaScriptu a týmu webových vývojářů (např. aplikace Facebook, Instagram). |
| 10. Bootstrap | CSS / HTML / JS | Frontend (Styling) | Rychlé nastylování webu nebo administrátorského rozhraní tak, aby bylo responzivní (dokonale se přizpůsobilo na monitory, tablety i displeje mobilních telefonů). |
Poznámka pro hnidopichy: Některé nástroje (jako např. React nebo knihovny v ekosystému JavaScriptu) balancují na tenké hranici mezi knihovnou a frameworkem. V širším IT diskurzu se však často označují jako frameworky díky robustnímu ekosystému, který je obklopuje.