Depuis plusieurs mois, les ingénieurs d’Apple travaillent activement au développement d’un nouveau bridge Objective-C / JavaScript. Cette nouvelle API répond à deux demandes récurrentes des développeurs iOS et OS X : pouvoir appeler du code Objective-C depuis JavaScript et inversement pouvoir appeler du code JavaScript depuis Objective-C de manière « simple ».
Impact permet de concevoir des « jeux HTML5 et JavaScript », notamment sur iPhone et iPad.
Francisco Tomalsky, le développeur de Cappuccino, explique qu’il s’agit d’une évolution de WebScriptObject et de WebScripting qui se situe au niveau de JavaScriptCore plutôt que de WebKit. Autrement dit, ce n’est pas une nouveauté, mais cette API devrait désormais être plus facile à utiliser pour les développeurs. Du moins quand elle sera utilisable : elle est pour le moment « cachée » dans les entrailles de WebKit et considérée par Apple comme une API privée.
Nigel Brooke de Steamlock Software explique que cette API permet de faire interagir JavaScript et Objective-C en se chargeant du transtypage : appeler du code Objective-C depuis l’interpréteur JavaScript, lire le contenu d’une variable JavaScript avec de l’Objective-C… Autrement dit encore, elle facilite l’utilisation de « composants web complexes » dans une application native. Une pratique assez commune dans les développements multiplateforme comme les jeux utilisant le moteur JavaScript Impact ou les webapps se reposant sur Cordova.
Reste à savoir non pas quand, mais si Apple publiera cette API, c’est-à-dire s’il est dans son intérêt de favoriser les « webapps natives » alors que des partisans de cette approche comme Facebook ou LinkedIn ont fini par passer au natif. Les frameworks tiers facilitant la conception de ces applications hybrides ne manquent pas et peuvent peut-être suffire à donner le change.
[Via @siracusa]