Framework

Framework
Page d'aide sur l'homonymie Pour l’article homonyme, voir Framework (logiciel)

Sur les autres projets Wikimedia :

En programmation informatique, un framework est un kit de composants logiciels structurels, qui servent à créer les fondations ainsi que les grandes lignes de tout ou d’une partie d'un logiciel (architecture). En programmation orientée objet un framework est typiquement composé de classes mères qui seront dérivées et étendues par héritage en fonction des besoins spécifiques à chaque logiciel qui utilise le framework[1].

Les framework sont utilisés pour modeler l'architecture des logiciels applicatifs, des applications web, des middleware et des composants logiciels. Les framework sont achetés par les ingénieurs, puis incorporés dans des logiciels applicatifs mis sur le marché, ils sont par conséquent rarement achetés et installés séparément par un utilisateur final.

Des tentatives de francisation du terme ont été faites. On trouve ainsi parfois les termes cadre d'applications, proposé par l'Office québécois de la langue française[2] ou cadriciel - terme en usage depuis au moins 1997[réf. nécessaire].

Sommaire

Description

Un framework est un ensemble d'outils et de composants logiciels organisés conformément à un plan d'architecture et des design patterns. L'ensemble forme un squelette de programme. Il est souvent fourni sous la forme d'une bibliothèque logicielle, et accompagné du plan de l'architecture cible du framework[3].

Avec un framework orienté objets, le programmeur qui utilise le framework pourra personnaliser les éléments principaux du programme par extension, en utilisant le mécanisme d'héritage: créer des nouvelles classes qui contiennent toutes les fonctionnalités que met en place le framework, et en plus ses fonctionnalités propres, créées par le programmeur en fonction des besoins spécifiques à son programme. Le mécanisme d'héritage permet également de transformer des fonctionnalités existant dans les classes du framework[4].

Un framework est conçu en vue d'aider les programmeurs dans leur travail. L'organisation du framework vise la productivité maximale du programmeur qui va l'utiliser - gage de baisse des coûts de construction du programme. Le contenu exact du framework est dicté par le type de programme et l'architecture cible pour lequel il est concu[3].

On trouve différents types de frameworks :

  1. Framework d'infrastructure système : pour développer des systèmes d'exploitation, des interfaces graphiques, des outils de communication. (exemple : Framework .Net, NetBeans, Struts)
  2. Framework d'intégration intergicielle (middleware) : pour fédérer des applications hétérogènes. Pour mettre à disposition différentes technologies sous la forme d'une interface unique.
  3. Frameworks d'entreprise : pour développer des applications spécifiques au secteur d'activité de l'entreprise.
  4. Frameworks de gestion de contenu: Sont les fondations d'un système de gestion de contenu[5] - pour la création, la collecte, le classement, le stockage et la publication de biens numérisés.

Les principaux avantages de ces frameworks sont la réutilisation de leur code, la standardisation du cycle de vie du logiciel (Spécification, développement, maintenance, évolution), ils permettent de formaliser une architecture adaptée au besoin de l'entreprise. Ils tirent parti de l'expérience des développements antérieurs.

Inversion de contrôle

Article détaillé : inversion de contrôle.

Alors que les bibliothèques de classes sont typiquement passives : les opérations des classes sont exécutées sur demande du programme qui les utilise, les framework sont typiquement actifs : le déroulement des opérations dans un programme est dirigé par le framework qu'il utilise, par des mécanismes tels que les fonctions de rappel et les événements, selon le principe "ne m'appelez pas, je vous appellerai".

L'inversion de contrôle fait partie de l'architecture typique d'un framework[6].

Exemples

Quelques exemples
Nom Usage Architecture cible Langage Auteur Licence
ActionScript Foundry application web Adobe Flex ActionScript et Java ServeBox
Apache Cocoon application web - servlet ? Java, XML Apache Software Logiciel libre
Apache Struts application web Modèle-Vue-Contrôleur Java Apache Software Logiciel libre
Catalyst logiciel applicatif Modèle-Vue-Contrôleur Perl Logiciel libre
Cocoa logiciel applicatif Cocoa Objective C Apple
Django application web Modèle-Vue-Contrôleur Python ? Logiciel libre
Dojo applet AJAX Javascript Fondation Dojo
FxEngine Framework traitement numérique du signal, plugin Filtres et tubes C++ SMProcess
Grails application web Modèle-Vue-Contrôleur Groovy Graeme Rocher, Guillaume Laforge, Marc Palmer, Dierk Koenig et Steven Devijver
Hibernate persistance Java Persistance API Java (langage) JBoss Logiciel libre
MARF traitement du signal et des langues pipeline Java Serguei Mokhov, Stephen Sinclair
Microsoft Foundation Class logiciel applicatif Modèle-Vue-Contrôleur C++ Microsoft Propriétaire
.Net logiciel applicatif, application web, composant logiciel ASP.NET C#, Visual Basic .NET Microsoft Propriétaire
Ruby on Rails application web Modèle-Vue-Contrôleur Ruby David Heinemeier Hansson et Logiciel libre
Symfony application web Modèle-Vue-Contrôleur PHP Sensio Labs Logiciel libre
TopLink persistance Java Persistance API Java Oracle Corporation
Zend Framework application web Modèle-Vue-Contrôleur PHP Zend Technologies Logiciel libre
Zope gestion de contenu Zope Python Zope Corporation Logiciel libre

Notes et référence

  1. (en)Nicolas Guelfi, Egidio Astesiano et Gianna Reggio, Scientific engineering for distributed Java applications, Springer - 2003, (ISBN 9783540006794)
  2. Fiche terminologique de l'Office québécois de la langue française
  3. a et b (en)Ken Chazotte,Build Your Own Framework with Visual FoxPro,Hentzenwerke - 2004,(ISBN 9781930919532)
  4. (en)Douglas C. Schmidt et Stephen D. Huston,C++ Network Programming: Systematic reuse with ACE and frameworks,Addison-Wesley - 2003, (ISBN 9780201795257)
  5. (en)R. J. Townsend,Foundation Drupal 7: Learn how to Use the Drupal Framework to Quickly Build Feature-rich Web Sites,Apress - 2010,(ISBN 9781430228080)
  6. Stephen D. Huston, James C. E. Johnson, Umar Syyid,The ACE programmer's guide: practical design patterns for network and systems programming, Addison-Wesley - 2004, (ISBN 9780201699715)

Voir aussi

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Framework de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Framework — Framework  термин, имеющий размытое значение. Обычно используется в программировании, обозначая «простую концептуальную структуру, используемую для решения сложной, проблемной задачи». Значение этого термина существенно зависит от контекста его… …   Википедия

  • framework — UK US /ˈfreɪmwɜːk/ noun [C] ► a system of rules, ideas, or beliefs that is used to plan or decide something: a framework for sth »The future trade agenda can provide an important framework for restoring sustainable growth. within the framework of …   Financial and business terms

  • framework — Sir Ernest Gowers (1965) was greatly offended by what he saw as the overuse of the expression within (or in) the framework of, meaning broadly ‘in the context of’. Presumably he grew tired of reading it in successions of official Civil Service… …   Modern English usage

  • Framework — Frame work , n. 1. The work of framing, or the completed work; the frame or constructional part of anything; as, the framework of society. [1913 Webster] A staunch and solid piece of framework. Milton. [1913 Webster] 2. Work done in, or by means… …   The Collaborative International Dictionary of English

  • Framework —   [dt. »Gerüst«], in den 1980er Jahren ein Office Paket von Ashton Tate. Nach der Übernahme durch Borland (1991) wurde die Entwicklung eingestellt. Der Name bezog sich auf die Bezeichnung »Frame« für Fenster, da Framework eines der ersten… …   Universal-Lexikon

  • framework — index building (structure), configuration (confines), configuration (form), construction, content ( …   Law dictionary

  • framework — 1640s, from FRAME (Cf. frame) + WORK (Cf. work) (n.). Figurative sense is from 1816 …   Etymology dictionary

  • framework — *structure, skeleton, anatomy …   New Dictionary of Synonyms

  • framework — [n] foundation, core bare bones*, cage, fabric, frame, frame of reference*, groundwork, plan, schema, scheme, shell, skeleton, structure; concepts 439,479,733 …   New thesaurus

  • framework — ► NOUN ▪ a supporting or underlying structure …   English terms dictionary

  • framework — [frām′wʉrk΄] n. 1. a structure, usually rigid, serving to hold the parts of something together or to support something constructed or stretched over or around it 2. the basic structure, arrangement, or system 3. FRAME OF REFERENCE (sense 2) …   English World dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”