Framework

Framework (aplikační rámec) 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, knihovny API, podporu pro návrhové vzory nebo doporučené postupy při vývoji.

Úč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žné 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. Frozen spots pak mohou být reprezentovány abstraktními třídami a vlastní kód (hot spots) 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.
  • Vaadin je framework pro webové aplikace v Javě 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.
  • Apache Wicket je framework pro vývoj webových aplikací v Javě 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.
  • DotVVM je open-source framework od českého autora pro vývoj webových aplikací v C#.
  • .NET Framework je framework pro jazyk C# a VB.NET.
  • NetBeans Platform je framework pro jazyk Java.
  • Swing Application Framework je framework pro jazyk Java.
  • Shopsys Framework je framework pro webové aplikace s otevřeným zdrojovým kódem.

Související články

Externí odkazy

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.