Les biblothèques javascript

Définition : En programmation informatique, un framework ou structure logicielle est un ensemble cohérent de composants logiciels structurels, qui sert à créer les fondations ainsi que les grandes lignes de tout ou d’une partie d'un logiciel (architecture)
Le terme framework est fréquemment utilisé dans des contextes différents mais il peut être traduit par cadre de développement.
Les frameworks se présentent sous diverses formes, qui peuvent inclure tout ou partie des éléments suivants :
• un ensemble de classes généralement regroupées sous la forme de bibliothèques pour proposer des services plus ou moins sophistiqués
• un cadre de conception reposant sur les design patterns pour proposer tout ou partie d'un squelette d'applications
• des recommandations sur la mise en oeuvre et des exemples d'utilisation
• des normes de développement
• des outils facilitant la mise en œuvre
L'objectif d’un frameworks : est de faciliter la mise en ouvre des fonctionnalités de son domaine d'activité. Il doit permette au développeur de se concentrer sur les tâches spécifiques à l'application à développer plutôt qu'à des tâches techniques récurrentes telles que :
• l'architecture de base de l'application
• l'accès aux données
• l'internationalisation
• la journalisation des événements (logging)
• la sécurité (authentification et gestion des rôles)
• le paramétrage de l'application
La mise en oeuvre d'un framework permet notamment :
• De capitaliser le savoir-faire sans "réinventer la roue"
• D'accroître la productivité des développeurs une fois le framework pris en main
• D'homogénéiser les développements des applications en assurant la réutilisation de composants fiables, donc de faciliter la maintenance notamment évolutive des applications
Les difficultés de la mise en œuvre :
• Le temps de prise en main du framework par les développeurs peut être plus ou long en fonction de différents facteurs (complexité du framework, richesse de sa documentation, expérience des développeurs, ...)
• Les évolutions du framework qu'il faut répercuter dans les applications existantes
Distinction : Un framework se distingue d'une simple bibliothèque logicielle principalement par :
• Son caractère générique, faiblement spécialisé. Un framework peut néanmoins être spécialisé, sur un langage particulier, une plateforme spécifique, un domaine particulier : reporting,mapping, etc. ;
• Le cadre de travail (traduction littérale de l'anglais : framework) qu'il impose de par sa construction même, guidant l'architecture logicielle voire conduisant le développeur à respecter certains patterns ; les bibliothèques le constituant sont alors organisées selon le même paradigme.
• Paradigme : Un paradigme est une représentation du monde, une manière de voir les choses, un modèle cohérent de vision du monde qui repose sur une base définie.
Le role des frameworks : Les frameworks sont donc conçus et utilisés pour modeler l'architecture des logiciels applicatifs, des applications web, des middlewares et des composants logiciels. Lesframeworks sont acquis par les informaticiens, 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. La diversité de ces frameworks permet de répondre à de nombreux besoins. Le revers de la médaille est la difficulté de choisir celui ou ceux qui y répondront au mieux.
Pour choisir un framework, les caractéristiques suivantes doivent être prises en compte :
• Adoption par la communauté
• La qualité de la documentation
• Le support (commercial ou communautaire)
• Le support par les outils de développement
Le plus gros défaut des frameworks est lié à leur complexité : il faut un certain temps d'apprentissage pour avoir un minimum de maitrise et d'efficacité dans leur utilisation.
Plusieurs types de frameworks : les frameworks peuvent être regroupés en plusieurs catégories :
• Technique : propose des services techniques récurrentes
• Structurel : propose la mise en place d'une architecture applicative
• Métier : propose des services fonctionnels
• Tests : propose des services pour automatiser les tests unitaires
Exemple: MathJax est un script JS Open Source qui permet un rendu professionnel, accessible et simple des formules mathématiques, même les plus complexes.
Du coup, les formules résistent aux zooms et peuvent être « stylisées ».
La syntaxe utilisée permet à vos lecteurs de copier les formules et de les coller directement dans des outils très utilisées comme Latex, Mathematica ou Mapple. Une menu contextuel est prévu à cet effet.
L’utilisation de MathJax est relativement simple sur tout type de sites web, blogs, forums ou Wiki. Il suffit d’inclure le script JS dans vos pages et d’utiliser l’une des syntaxes proposées

KineticJS est un framework Javascript qui permet de simplifier l’utilisation de Canvas du HTML5. Il permet de gagner du temps dans la réalisation d’animation sous Canvas. Il permet notamment de gérer des groupes et des calques afin de faciliter le travail de développement.