Rámec
V počítačovém programování znamená rámec (také známý jako softwarová infrastruktura , vývoj infrastruktury , vývojové prostředí , základna aplikací , pro aplikace nebo softwarový rámec ) ucelenou sadu softwarových komponent Strukturální, sloužící k vytvoření základů a obrysů všech část softwaru ( architektura ). A rámec se liší od jednoduché softwarové knihovny zejména:
- jeho obecný charakter, slabě specializovaný, na rozdíl od některých knihoven; rámec jako takový může být složen z několika knihoven, z nichž každá se specializuje na doménu. Rámec může být nicméně specializovaná, na konkrétním jazyku , je specifickou platformu , konkrétní domény: datové komunikace , mapování dat , atd ;
- rámec, který vnucuje svou vlastní konstrukcí, vede softwarovou architekturu nebo dokonce vede vývojáře k respektování určitých návrhových vzorů ; knihovny, které jej tvoří, jsou poté organizovány podle stejného paradigmatu .
Tyto rámce jsou proto navrženy a použity k formování architektury z aplikačního softwaru , na webových aplikací , na middleware a softwarové komponenty . Tyto rámce jsou získávány pomocí počítače a začleněny do softwarových aplikací na trhu, jsou proto jen zřídka zakoupeny a instalovány samostatně koncovým uživatelem.
Popis
Rámec je sada nástrojů a softwarových komponent organizovaných podle jednoho architektonického plánu a vzory , celá tvořit nebo podporovat „kostra“ programu, plátno. Často je poskytována ve formě softwarové knihovny a doprovázena plánem cílové architektury rámce .
Rámec je určen k pomoci programátorům ve své práci. Organizace rámce se zaměřuje na maximální produktivitu programátora, který jej bude používat - záruka nižších nákladů na stavbu a údržbu programu. Přesný obsah rámce je dán typem programu a cílovou architekturou, pro kterou je určen.
Existují různé typy rámců :
-
rámec systémové infrastruktury: vývoj operačních systémů , grafických rozhraní , komunikačních nástrojů (například: .Net Framework , Struts );
-
rámec integrace middlewaru ( middleware ) pro federaci heterogenních aplikací. Poskytovat různé technologie ve formě jediného rozhraní;
-
obchodní rámce : vyvíjet aplikace specifické pro obchodní sektor podnikání;
-
rámce pro správu obsahu : jsou základem systému pro správu obsahu - pro vytváření, shromažďování, klasifikaci, ukládání a zveřejňování „vlastností naskenovaných“.
Hlavními výhodami těchto rámců jsou opětovné použití jejich kódu, standardizace životního cyklu softwaru (specifikace, vývoj, údržba, vývoj), umožňují formalizovat architekturu přizpůsobenou potřebám společnosti. Staví na zkušenostech z předchozího vývoje.
Objekty
V objektově orientovaném programování se framework obvykle skládá z nadřazených tříd, které budou odvozeny a rozšířeny dědičností podle konkrétních potřeb každého softwaru, který rámec používá . S objektově orientovaným frameworkem bude programátor, který framework používá, schopen přizpůsobit hlavní prvky programu rozšířením pomocí mechanismu dědičnosti : vytvořit nové třídy, které obsahují všechny funkce, které framework implementuje , a navíc své vlastní funkce vytvořené programátorem podle konkrétních potřeb jeho programu. Mechanismus dědičnosti také umožňuje transformovat funkce existující ve třídách rámce .
Inverze kontroly
Zatímco knihovny tříd jsou obvykle pasivní: operace třídy jsou prováděny na vyžádání programem, který je používá, rámce jsou obvykle aktivní: tok operací v programu je směrován rámcem, který používá, mechanismy, jako jsou zpětná volání a události , založené na „neříkej mi, já ti zavolám.“ "
Inverze řízení je součástí typické architektury rámce .
francouzský překlad
V počítačovém programování se rámec překládá do softwarové struktury, i když se termín framework stále používá většinou. Byly učiněny další pokusy o francize termínu; proto se někdy nachází ve vývojovém prostředí doporučeném Komisí pro obohacování francouzského jazyka a pro aplikace , aplikační základnu nebo softwarový rámec doporučený Úřadem pro francouzský jazyk v Quebecu .
Upozorňujeme, že rámec by neměl být považován za platformu , pokud neintegruje prostředí pro spuštění systému nebo aplikace.
Příklady
Nějaké příklady
Příjmení
|
Použití
|
Cílová architektura
|
Jazyk
|
Autor
|
Licence
|
---|
Slévárna ActionScript
|
webová aplikace
|
Adobe flex
|
ActionScript a Java
|
ServeBox
|
|
---|
Apache Cocoon
|
webová aplikace - servlet
|
?
|
Java , XML
|
Software Apache
|
Svobodný software
|
---|
Jaro
|
webová aplikace
|
Cross-platform
|
Jáva
|
Jarní zdroj
|
Svobodný software
|
---|
Apache Struts
|
webová aplikace
|
Řadič zobrazení modelu
|
Jáva
|
Software Apache
|
Svobodný software
|
---|
Twitter Bootstrap
|
webová aplikace
|
Řadič zobrazení modelu
|
HTML / CSS / JAVASCRIPT
|
Cvrlikání
|
Licence MIT
|
---|
Katalyzátor
|
aplikační software
|
Řadič zobrazení modelu
|
Perl
|
|
Svobodný software
|
---|
Kakao
|
aplikační software
|
Kakao
|
Cíl C.
|
Jablko
|
|
---|
CubicWeb
|
Sémantická platforma pro vývoj webových aplikací
|
Cross-platform
|
Krajta
|
Logilab
|
LGPL
|
---|
Django
|
webová aplikace
|
Řadič zobrazení modelu
|
Krajta
|
Softwarová nadace Django
|
Svobodný software
|
---|
Dojo
|
applet
|
AJAX
|
Javascript
|
Nadace Dojo
|
---|
Eclipse Modeling Framework (*) |
modelování dat
|
Cross-platform
|
(otevřeno)
|
Eclipse Foundation
|
Svobodný software
|
---|
Zatmění RCP
|
Bohatá klientská platforma
|
Platforma IDE Eclipse , multiplatformní
|
(otevřeno)
|
Eclipse Foundation
|
Svobodný software
|
---|
eZ Publish
|
webová aplikace
|
systém pro správu obsahu
|
PHP
|
eZ Systems AS
|
Svobodný software
|
---|
Tváře JavaServeru
|
webová aplikace
|
Součástka
|
Jáva
|
|
Svobodný software
|
---|
FxEngine Framework
|
digitální zpracování signálu , plugin
|
Filtry a trubky
|
C ++
|
SM proces
|
|
---|
Grály
|
webová aplikace
|
Řadič zobrazení modelu
|
Báječný
|
Graeme Rocher, Guillaume Laforge, Marc Palmer, Dierk Koenig a Steven Devijver
|
|
---|
Google Guice
|
webová aplikace
|
Cross-platform
|
Jáva
|
Bob Lee, Kevin B, Jesse Wilson, Christian Gruber
|
Svobodný software
|
---|
Přezimovat
|
vytrvalost a mapování
|
Java Persistence API
|
Jáva
|
JBoss
|
Svobodný software
|
---|
Java SE (**) |
obecný rámec pro Rich Client Platform
|
Cross-platform
|
Java Scala JScheme , implementace Scheme Clojure (dialekt Lisp) JRuby Jython Rhino (JavaScript engine)
|
Sun Microsystems pak Oracle Corporation
|
Svobodný software
|
---|
Java EE (**) |
profesionální rámec s distribuovanou podporou
|
---|
Java ME (**) |
rámec pro mobilní aplikaci
|
---|
JavaFX (**) |
rámec pro bohatou internetovou aplikaci
|
---|
Kivy
|
rámec pro mobilní aplikaci
|
Cross-platform
|
Python Cython
|
Organizace Kivy
|
Svobodný software
|
---|
Laravel
|
webové aplikace
|
Multiplatformní , Model-View-Controller
|
PHP
|
Laravel vývojový tým
|
Licence MIT
|
---|
MARF
|
zpracování signálu a jazyka
|
potrubí
|
Jáva
|
Sergej Mokhov, Stephen Sinclair
|
|
---|
Třída Microsoft Foundation
|
aplikační software
|
Řadič zobrazení modelu
|
C ++
|
Microsoft
|
Majitel
|
---|
.Net (**) |
aplikační software , webová aplikace , softwarová součást
|
ASP.NET
|
C # , Visual Basic .NET
|
Microsoft
|
Majitel
|
---|
Ruby on Rails
|
webová aplikace
|
Řadič zobrazení modelu
|
Rubín
|
David Heinemeier Hansson a
|
Svobodný software
|
---|
Symfony
|
webová aplikace
|
Řadič zobrazení modelu
|
PHP
|
Sensio Labs
|
Svobodný software
|
---|
SoJo FrameWork
|
webová aplikace
|
Řadič zobrazení modelu
|
HTML / CSS
|
InGamesStudio
|
Svobodný software
|
---|
TopLink
|
vytrvalost a mapování
|
Java Persistence API
|
Jáva
|
Oracle Corporation
|
---|
W3.CSS
|
webová aplikace
|
Materiálový design Google
|
CSS
|
W3Schools
|
Svobodný software
|
---|
Zend Framework
|
webová aplikace
|
Řadič zobrazení modelu
|
PHP
|
Zend Technologies
|
Svobodný software
|
---|
Zope
|
správa obsahu
|
Zope
|
Krajta
|
Zope Corporation
|
Svobodný software
|
---|
(*) Někteří rámců jako Eclipse představovat více meta- rámců či rámců o rámců , pokud tak umožňují, podle modulů, které jsou instalovány na ně, aby přeorientovat na různých IT aktivit.
(**) Microsoft .NET a platformy Java lze lhostejně považovat za rámce nebo za softwarové platformy v závislosti na tom, zda se jedná o jejich jediné vývojové knihovny nebo o jejich prostředí pro provádění.
Poznámky a odkazy
-
„ Softwarový rámec nebo infrastruktura: definice a překlad “, JDN ,23. dubna 2018( číst online , konzultováno 24. června 2018 )
-
Sandy Hacyan, „ Rámec: strukturovaná vývojová základna “ , na journaldunet.com , Le Journal du Net ,3. dubna 2008(zpřístupněno 2. května 2017 )
-
komise pro obohacení francouzského jazyka , „ prostředí vývoje “ , FranceTerme , Ministerstvo kultury (přístup 22.ledna 2020 ) .
-
„ framework of applications “ , Le Grand dictionnaire terminologique , Office québécois de la langue française (přístup 22. ledna 2020 ) .
-
(en) Ken Chazotte, Sestavte si svůj vlastní rámec s Visual FoxPro , Hentzenwerke, 2004, ( ISBN 9781930919532 ) .
-
(in) RJ Townsend Foundation Drupal 7: Learn how to Use the Drupal Framework to Quickly Build Feature-Rich Websites , Apress - 2010 ( ISBN 9781430228080 )
-
(in) Nicolas Guelfi, Egidio Astesiano a Gianna Reggio Vědecké inženýrství pro distribuované aplikace Java , Springer - 2003 ( ISBN 9783540006794 )
-
(in) Douglas C. Schmidt a Stephen D. Huston, C ++ Network Programming: Systematic reuse with ACE and Frameworks , Addison-Wesley - 2003 ( ISBN 9780201795257 )
-
(in) Stephen D. Huston, James Johnson CE, Umar Syyid, Příručka programátora ACE: praktické návrhové vzory pro programování sítí a systémů , Addison-Wesley - 2004 ( ISBN 9780201699715 )
Podívejte se také
Související články
Externí odkaz