Framework - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

Un framework est un espace de travail modulaire. C'est un ensemble de bibliothèques et de conventions permettant le développement rapide d'applications. Il fournit suffisamment de briques logicielles et impose suffisamment de rigueur pour pouvoir produire une application aboutie et facile à maintenir. Ces composants sont organisés pour être utilisés en interaction les uns avec les autres (voir urbanisation).

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[1] ou cadriciel[2].

Un framework fournit un ensemble de fonctions facilitant la création de tout ou d'une partie d'un système logiciel, ainsi qu'un guide architectural en partitionnant le domaine visé en modules. Un framework est habituellement implémenté à l'aide d'un langage à objets, bien que cela ne soit pas strictement nécessaire : un framework objet fournit ainsi un guide architectural en partitionnant le domaine visé en classes et en définissant les responsabilités de chacune ainsi que les collaborations entre classes. Un sous-ensemble de ces classes peuvent être des classes abstraites.

Le déploiement à grande échelle de bibliothèques d'objets exige un framework ; celui-ci fournit un contexte où les composants sont ré-utilisés.

Si l'utilisation du terme bibliothèque logicielle est limité à la librairie proprement dite, le terme de Framework peut être employé par extension pour inclure également l'architecture logicielle préconisée pour cette bibliothèque (organisation en couches, utilisation du MVC...), voire l'environnement de développement bâti autour (Microsoft .NET + Visual Studio...) même si celui-ci est capable de gérer différents Frameworks.

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, Eclipse, NetBeans, Struts)
  2. Framework d'intégration intergicielle : pour fédérer des applications hétérogènes. Pour mettre à dispositions différentes technologies sous la forme d'une interface unique. (exemple : Ampoliros avec ses interfaces RPC, SOAP, XML)
  3. Frameworks d'entreprise : pour développer des applications spécifiques au secteur d'activité de l'entreprise.
  4. Frameworks orientés Système de gestion de contenu

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 partie de l'expérience des développements antérieurs.

Ces frameworks sont en quelque sorte des progiciels extrêmement souples et évolutifs.

Exemples de frameworks

  • Apache Cocoon — un environnement servlet de développement JAVA/XML pour le web, fondation Apache Software
  • Apache Struts — de la fondation Apache Software
  • Catalyst (logiciel) — un framework web open-source écrit en langage de programmation Perl
  • Cocoa — de la société Apple
  • Django — un framework web open-source écrit en langage de programmation Python
  • Dojo -- développement rapide d'applications en Javascript exécutées côté butineur et communiquant avec le serveur avec une granularité inférieure à la page grâce à Ajax.
  • Eclipse — open-source de la fondation Eclipse Foundation Software
  • NetBeans — de la société Sun Microsystems
  • Microsoft .NET — de la société Microsoft
  • MIReG - Framework de métadonnées de l'Union européenne
  • Ruby on Rails — un framework web open-source écrit en langage de programmation Ruby
  • Seaside — un framework web open-source écrit en Smalltalk
  • TurboGears — un framework web open-source écrit en langage de programmation Python
  • Zope — un framework web open-source écrit en langage de programmation Python
  • XNA — un framework de jeu vidéo écrit en C#. Il permet le développement d'application pour plateformes Xbox 360 & PC
Page générée en 0.008 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise