La semaine dernière, nous évoquions le fait qu’Apple travaillait sur un nouveau moteur JavaScript. Jusqu’à présent, WebKit FTL JIT était présenté comme un projet expérimental permettant d’adresser les problématiques relatives au JavaScript d’une nouvelle manière. La grande nouveauté de ce moteur, c’est qu’il utilise LLVM comme compilateur Just In Time (JIT)
Hier, sur WebKit.org, WebKit FTL JIT a officiellement été présenté. Indiscutablement, le ton a changé concernant WebKit FTL JIT, qui est présenté comme le grand projet du moment. Filip Pizlo d’Apple indique que WebKit FTL JIT a été activé dans les nightly builds de Webkit pour iOS et OS X. Vu le timing, on ne serait guère étonné de voir ce moteur dans les prochaines versions de Safari pour OS X 10.10 et iOS 8.
Ce nouveau moteur dispose d’une nouvelle architecture : FTL pour Fourth Tier LLVM, possède une architecture à quatre niveaux contre trois pour la précédente. L’intérêt d’utiliser LLVM (Low Level Virtual Machine), c’est qu’il permettra de créer une machine virtuelle.
Cette partie du moteur de JavaScript ne sera appelée que dans certains cas. La compilation par LLVM nécessite du temps de calcul. Par conséquent, le moteur JavaScript l’appellera uniquement pour des tâches complexes où il sera beaucoup plus performant que les « autres moteurs ». Tout l’art d’un moteur JavaScript réside notamment dans le fait de recourir au bon élément pour exécuter du code.
Au final, l’idée est toujours la même : offrir des performances qui se rapprochent du code natif. Ce toujours plus de performances, Apple en a non seulement besoin pour que son navigateur web reste performant, mais aussi en tant qu’éditeur. La Pomme réalise sur le web des projets de plus en plus ambitieux. Le travail effectué par les développeurs d’Apple concernant iWork.com est assez impressionnant de ce point de vue.