JavaScriptCore
# JavaScriptCore

JavaScriptCore est un framework pour Mac OS X basé sur KJS disponible sous licence publique générale limitée GNU (dite GNU LGPL).

Le WebKit d'Apple est un moteur de navigateur web libre qui constitue le cœur du navigateur web Safari livré en standard avec Mac OS X. Le nom de WebKit est aussi utilisé pour désigner le framework utilisé entre autres par Safari, Dashboard, Mail et d'autres applications Mac OS X comme de nombreux agrégateurs de fils RSS ou encore de gestionnaires de documents (comme celui de Devon Think, …).

Le code source du WebKit HTML et du WebKit JavaScript appartiennent aux branches de développement de la lignée KHTML et des bibliothèques KJS de KDE.

Le WebKit est constitué de 2 « sous-frameworks » : WebCore et JavaScriptCore susceptibles d'être utilisés par les développeurs afin d'ajouter à leur programme des fonctions de navigation web et d'exécution de code JavaScript.

## Le framework JavaScriptCore

JavaScriptCore est un framework (bibliothèque de code ou encore ensemble de routines réutilisables par les programmeurs) qui anime le moteur d'interprétation du code JavaScript dans Mac OS X. JavaScriptCore est basé sur la combinaison des bibliothèques KJS (faisant partie à l'origine du projet KDE) et de la bibliothèque PCRE destinée à la gestion des expressions régulières.

Ces bibliothèques ont été étendues par Apple de plusieurs manières :

* Garbage collector amélioré (gestion optimisée de la mémoire).
* Développement en C++, langage orienté objet.
* Une meilleure portabilité du code en utilisant strictement les bibliothèquesb C/C++ standards et l'implémentation Unicode stricte.
* Support de NPRuntime et du Binding.
* Compatibilité ECMAScript totale et comptabilité avec les dérivées ECMAScript les plus courantes comme JavaScript 1.6 ou JScript.

Ces améliorations et surtout les efforts liés à la portabilité du code constituant ces frameworks ont permis le portage de Safari sous Windows et Linux.

