Keretrendszer
A számítógép-programozás , a keret (más néven szoftver infrastruktúra , az infrastruktúra fejlesztése , fejlesztési környezet , bázis alkalmazások , alkalmazások vagy szoftver keretrendszer ) olyan összefüggő sorozata szoftver elemek strukturális létrehozásához használt alapjai és a körvonalait egészét vagy egy szoftver része ( architektúra ). A keretrendszer az egyszerű szoftverkönyvtáraktól főleg az alábbiak szerint tér el:
- általános jellege, gyengén specializálódott, ellentétben néhány könyvtárral; mint ilyen, egy keretrendszer több könyvtárból állhat, amelyek mindegyike szakterületre szakosodott. A keret mindazonáltal specializált, egy adott nyelv , a konkrét platform , az adott domain: adatkommunikáció , adatleképezés , stb ;
- a keretrendszer, amelyet a felépítésével, a szoftverarchitektúra irányításával vagy akár a fejlesztő bizonyos tervezési minták tiszteletben tartásával irányít ; az azt alkotó könyvtárak ezután ugyanazon paradigma szerint szerveződnek .
A keretrendszereket ezért az alkalmazásszoftver , a webalkalmazások , a köztes szoftver és a szoftverösszetevők architektúrájának alakítására tervezték és használják . A keretrendszereket számítógéppel szerzik be, és beépítik a piacon lévő szoftveralkalmazásokba, ezért ritkán vásárolja meg és telepíti azokat külön a végfelhasználó.
Leírás
A keretrendszer egy építészeti terv és minták szerint rendezett eszközök és szoftverösszetevők összessége, amelyek egésze a program "vázát", vásznát képezi vagy elősegíti. Gyakran szoftver könyvtár formájában nyújtják, és a keretrendszer célarchitektúrájának terve kíséri .
A keretrendszer célja a programozók munkájának segítése. A keretrendszer megszervezése a programozó maximális termelékenységére irányul, aki használni fogja - garantálja az alacsonyabb építési és fenntartási költségeket . A keretrendszer pontos tartalmát a program típusa és a célarchitektúra határozza meg, amelyre tervezték.
Különböző típusú keretek léteznek :
-
rendszerinfrastruktúra keretrendszer : operációs rendszerek , grafikus interfészek , kommunikációs eszközök fejlesztése (például: .Net Framework , Struts );
-
az integrációs köztes szoftverek ( köztes programok ) kerete aheterogén alkalmazások egyesítésére. Különböző technológiák biztosítása egyetlen interfész formájában;
-
üzleti keretek : a vállalkozás üzleti szektorára jellemző alkalmazások fejlesztése;
-
keretek a tartalom menedzsment : az alapjait egy tartalomkezelő rendszer - létrehozását, gyűjtés, osztályozás, tárolása és közzététele „tulajdon beolvasott”.
Ezeknek a keretrendszereknek a fő előnye a kódjuk újrafelhasználása, a szoftver életciklusának szabványosítása (specifikáció, fejlesztés, karbantartás, evolúció), lehetővé teszik a vállalat igényeihez igazított architektúra formalizálását. A korábbi fejlesztések tapasztalataira építenek.
Tárgyak
Az objektumorientált programozási , egy keret tipikusan áll szülő osztályok , amelyek levezethetők, és meghosszabbítható öröklés szerinti sajátos szükségleteit egyes szoftver, amely a keret . Egy objektumorientált keretrendszer , a programozó, aki használja a keret lesz arra, hogy testre a fő elemei a program kiterjesztése, a öröklés mechanizmusa : új osztályok , amelyek tartalmazzák az összes funkcióját, hogy a keret munkagépek , és emellett saját funkciók, amelyeket a programozó saját programjának sajátos igényei szerint hoz létre. Az öröklési mechanizmus lehetővé teszi a keretrendszer osztályaiban meglévő funkciók átalakítását is .
A vezérlés inverziója
Míg az osztálykönyvtárak jellemzően passzívak: az osztályműveleteket igény szerint az őket használó program hajtja végre, a keretrendszerek általában aktívak: a program műveleteinek áramlását az általa használt keretrendszer , olyan mechanizmusok, mint a visszahívások és események irányítják , a "ne hívj, hívlak." "
A vezérlés inverziója a keret tipikus architektúrájának része .
francia fordítás
A számítógépes programozásban a keretrendszert szoftverszerkezetként fordítják le, bár a keretrendszer kifejezést továbbra is leginkább használják. Más kísérleteket tettek a kifejezés frankizálására; így néha fejlesztési környezetben található , a Bizottság javasolja a francia nyelv gazdagítását , valamint a Quebeci Francia Nyelvi Hivatal által ajánlott alkalmazásokhoz , alkalmazásbázisokhoz vagy szoftverekhez .
Felhívjuk figyelmét, hogy a keretrendszert nem szabad platformnak tekinteni , amennyiben nem integrál egy rendszert vagy alkalmazásfuttatási környezetet .
Példák
Néhány példa
Vezetéknév
|
Használat
|
Cél architektúra
|
Nyelv
|
Szerző
|
Engedély
|
---|
ActionScript öntöde
|
webalkalmazás
|
Adobe flex
|
ActionScript és Java
|
ServeBox
|
|
---|
Apache Cocoon
|
webalkalmazás - servlet
|
?
|
Java , XML
|
Apache szoftver
|
Ingyenes szoftver
|
---|
Tavaszi
|
webalkalmazás
|
Cross-platform
|
Jáva
|
Tavaszi Forrás
|
Ingyenes szoftver
|
---|
Apache Struts
|
webalkalmazás
|
Model-View-Controller
|
Jáva
|
Apache szoftver
|
Ingyenes szoftver
|
---|
Twitter Bootstrap
|
webalkalmazás
|
Model-View-Controller
|
HTML / CSS / JAVASCRIPT
|
Twitter
|
MIT licenc
|
---|
Katalizátor
|
alkalmazás szoftver
|
Model-View-Controller
|
Perl
|
|
Ingyenes szoftver
|
---|
Kakaó
|
alkalmazás szoftver
|
Kakaó
|
C célkitűzés
|
alma
|
|
---|
CubicWeb
|
Szemantikus webfejlesztő platform
|
Cross-platform
|
Piton
|
Logilab
|
LGPL
|
---|
Django
|
webalkalmazás
|
Model-View-Controller
|
Piton
|
Django Software Foundation
|
Ingyenes szoftver
|
---|
Dojo
|
kisalkalmazás
|
AJAX
|
Javascript
|
Dojo Alapítvány
|
---|
Eclipse modellezési keretrendszer (*) |
adatmodellezés
|
Cross-platform
|
(nyisd ki)
|
Eclipse Alapítvány
|
Ingyenes szoftver
|
---|
Eclipse RCP
|
Rich Client Platform
|
IDE Eclipse Platform , többplatformos
|
(nyisd ki)
|
Eclipse Alapítvány
|
Ingyenes szoftver
|
---|
eZ Publish
|
webalkalmazás
|
tartalomkezelő rendszer
|
PHP
|
eZ Systems AS
|
Ingyenes szoftver
|
---|
JavaServer Arcok
|
webalkalmazás
|
Összetevő
|
Jáva
|
|
Ingyenes szoftver
|
---|
FxEngine Framework
|
digitális jelfeldolgozás , plugin
|
Szűrők és csövek
|
C ++
|
SMProcess
|
|
---|
Grails
|
webalkalmazás
|
Model-View-Controller
|
Groovy
|
Graeme Rocher, Guillaume Laforge, Marc Palmer, Dierk Koenig és Steven Devijver
|
|
---|
Google Guice
|
webalkalmazás
|
Cross-platform
|
Jáva
|
Bob Lee, Kevin B, Jesse Wilson, Christian Gruber
|
Ingyenes szoftver
|
---|
Hibernálás
|
kitartás és feltérképezés
|
Java Persistence API
|
Jáva
|
JBoss
|
Ingyenes szoftver
|
---|
Java SE (**) |
általános keretrendszer a Rich Client Platform számára
|
Cross-platform
|
Java Scala JScheme , a Clojure séma megvalósítása (Lisp dialektusa) JRuby Jython Rhino (JavaScript motor)
|
A Sun Microsystems majd az Oracle Corporation
|
Ingyenes szoftver
|
---|
Java EE (**) |
szakmai keret elosztott támogatással
|
---|
Java ME (**) |
keretrendszer a mobil alkalmazás számára
|
---|
JavaFX (**) |
gazdag internetes alkalmazás kerete
|
---|
Kivy
|
keretrendszer a mobil alkalmazás számára
|
Cross-platform
|
Python Cython
|
Kivy szervezet
|
Ingyenes szoftver
|
---|
Laravel
|
webalkalmazások
|
Többplatformos , Model-View-Controller
|
PHP
|
Laravel Fejlesztő Csapat
|
MIT licenc
|
---|
MARF
|
jel és nyelvi feldolgozás
|
csővezeték
|
Jáva
|
Szergej Mokhov, Stephen Sinclair
|
|
---|
Microsoft Foundation osztály
|
alkalmazás szoftver
|
Model-View-Controller
|
C ++
|
Microsoft
|
Tulajdonos
|
---|
.Net (**) |
alkalmazásszoftver , webalkalmazás , szoftverkomponens
|
ASP.NET
|
C # , Visual Basic .NET
|
Microsoft
|
Tulajdonos
|
---|
Ruby on Rails
|
webalkalmazás
|
Model-View-Controller
|
Rubin
|
David Heinemeier Hansson és
|
Ingyenes szoftver
|
---|
Symfony
|
webalkalmazás
|
Model-View-Controller
|
PHP
|
Sensio Labs
|
Ingyenes szoftver
|
---|
SoJo FrameWork
|
webalkalmazás
|
Model-View-Controller
|
HTML / CSS
|
InGamesStudio
|
Ingyenes szoftver
|
---|
TopLink
|
kitartás és feltérképezés
|
Java Persistence API
|
Jáva
|
Oracle Corporation
|
---|
W3.CSS
|
webalkalmazás
|
Google Material Design
|
CSS
|
W3Skolák
|
Ingyenes szoftver
|
---|
Zend Framework
|
webalkalmazás
|
Model-View-Controller
|
PHP
|
Zend Technologies
|
Ingyenes szoftver
|
---|
Zope
|
tartalomkezelés
|
Zope
|
Piton
|
Zope Corporation
|
Ingyenes szoftver
|
---|
(*) Egyes keretek , mint az Eclipse jelentenek többet meta- keretek , illetve keretek a keretek , amennyiben ezek lehetővé teszik szerint a modulok, melyek telepítve rájuk, hogy megváltoztassák magukat, hogy a különböző informatikai tevékenységét.
(**) A Microsoft .NET és a Java platformok közömbösen tekinthetők kereteknek vagy szoftverplatformoknak, attól függően, hogy az egyetlen fejlesztői könyvtárukat, vagy a végrehajtási környezetüket vesszük figyelembe.
Megjegyzések és hivatkozások
-
„ Software keret vagy az infrastruktúra meghatározása és fordítás ” JDN ,2018. április 23( online olvasás , konzultáció 2018. június 24 - én )
-
Sandy Hacyan, „ A keretrendszer: egy strukturáló fejlesztési alap ” , a journaldunet.com , Le Journal du Net ,2008. április 3(megtekintve 2017. május 2-án )
-
Bizottság a dúsítás a francia nyelv , „ környezet fejlesztése ” , FranceTerme , Kulturális Minisztérium (elérhető 22 január 2020 ) .
-
" alkalmazások kerete " , Le Grand Dictionnaire terminologique , Office québécois de la langue française (hozzáférés : 2020. január 22. ) .
-
(hu) Ken Chazotte, Készítse el saját keretrendszerét a Visual FoxPro-val , Hentzenwerke, 2004, ( ISBN 9781930919532 ) .
-
(in) RJ Townsend Alapítvány Drupal 7: Ismerje meg, hogyan használjuk a Drupal keretrendszer gyorsan építeni funkciókban gazdag weboldalak , Apress - 2010 ( ISBN 9781430228080 )
-
(in) Nicolas Guelfi, Egidio Astesiano és Gianna Reggio tudományos mérnöki elosztott Java alkalmazások , Springer - 2003 ( ISBN 9783540006794 )
-
(a) Douglas C. Schmidt és Stephen D. Huston, C ++ Hálózati programozás: Systematic újrafelhasználás ACE és keretek , Addison-Wesley - 2003 ( ISBN 9780201795257 )
-
(in) Stephen D. Huston, James Johnson CE, Umar Syyid, ACE programozói kézikönyvet: gyakorlati tervezési minták hálózat és rendszerek programozása , Addison-Wesley - 2004 ( ISBN 9780201699715 )
Lásd is
Kapcsolódó cikkek
Külső hivatkozás