Framework

Z Multimediaexpo.cz

Framework je softwarová struktura, která slouží jako podpora při programování a vývoji a organizaci jiných softwarových projektů. Může obsahovat podpůrné programy, knihovnu API, návrhové vzory nebo doporučené postupy při vývoji.

Obsah

Účel

Cílem frameworku je převzetí typických problémů dané oblasti, čímž se usnadní vývoj tak, aby se návrháři a vývojáři mohli soustředit pouze na své zadání. Například, tým, který používá Apache Struts k vývoji webových stránek pro banku, se může zaměřit na to, jak se budou provádět bankovní operace a ne jak zajistit bezchybnou navigaci mezi jednotlivými stránkami. Vyskytují se námitky, že použitím frameworku bude kód pomalý či jinak neefektivní a že čas, který se ušetří použitím cizího kódu, se musí věnovat nastudování frameworku. Nicméně při jeho opakovaném nasazení nebo ve velkém projektu dojde k výrazné úspoře času. Při odinstalování frameworku již nebude možno některé aplikace spustit.

Architektura

Framework se skládá z tzv. frozen spots a hot spots. Frozen spots definují celkovou architekturu softwarové struktury, její základní komponenty a vztahy mezi nimi. Tyto části se nemění při žádném použití frameworku. Naproti tomu hot spots jsou komponenty, které spolu s kódem programátora vytvářejí zcela specifickou funkcionalitu, a proto jsou skoro pokaždé jiné. V objektově orientovaném prostředí je framework tvořen abstraktními a klasickými (neabstraktními) třídami. Hot spots pak mohou být reprezentovány abstraktními třídami a vlastní kód se přidá implementací abstraktních metod.

Příklady

  • JUnit je framework sloužící k testování jednotek pro programovací jazyk Java.
  • Spring je aplikační framework pro platformu Java s otevřeným zdrojovým kódem.
  • Zend Framework je framework pro webové aplikace v PHP s otevřeným zdrojovým kódem.
  • Nette Framework je framework od českého autora pro webové aplikace v PHP s otevřeným zdrojovým kódem.
  • CakePHP Framework je framework pro webové aplikace v PHP s otevřeným zdrojovým kódem.
  • Symfony je framework pro vývoj webových aplikací v PHP s otevřeným zdrojovým kódem.
  • CodeIgniter je framework pro vývoj webových aplikací v PHP s otevřeným zdrojovým kódem.
  • Ruby on Rails je framework pro webové aplikace v jazyce Ruby s otevřeným zdrojovým kódem.
  • jQuery je lehký JavaScript framework s otevřeným zdrojovým kódem.

Související články

Externí odkazy