|
26-06-08 / 01:21 : WebKit : Objective-C depuis du javascript (cjed) | Le framework Objective-C WebKit d'Apple (open source, et sert de moteur à Safari) permet de manipuler des objets Objective-C depuis du javascript. Pour ce faire ils sont wrappés dans un objet de type WebScriptObject. Ce dernier assure la conversion de type entre les deux langages (nombre javascript <--> NSNumber, etc.).
Mais attention, ceci n'est évidemment possible que dans le contexte d'une application Cocoa (donc sur MacOSX uniquement), le WebScriptObject ne pouvant être récupéré que depuis une vue (Cocoa) de type WebView (en lui envoyant un message windowScriptObject et en bindant dans cet objet/wrapper javascript des objets Objective-C sur des clés, pour pouvoir ensuite les récupérer côté fonctions javascript).
Cette possibilité est surtout utile lorsque des applications Cocoa font appel à des plugins qui se basent sur un langage de script, qui doit communiquer avec elles. C'est le même procédé que l'appel d'Objective-C depuis Java (mais bridge déprécié), Python et Ruby.
Il est également possible de faire l'inverse, ie d'appeler du javascript (ou tout autre langage de scripting) depuis de l'Objective-C.
On peut lire un article sur le sujet sur le site vacuous virtuoso, et récupérer un exemple sur le site ADC. | | Commentaires | Poster un commentaire | |
|