Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
232 L’art du développement Android
Vous pourriez l’appeler autrement : ce qui importe est que l’appel à set() et le code du
script utilisent le même nom.
Lorsque vous cliquez sur le bouton Go!, vous obtenez le résultat de la Figure 21.2.
Ceci étant dit, il y a quelques précautions à prendre.
Premièrement, tous les langages de script ne fonctionneront pas. Ceux qui implémentent
leur propre forme de compilation JIT (just-in-time) – en produisant le pseudo-code Java à
la volée –, notamment, devront sûrement être modifiés pour produire du pseudo-code
Dalvik à la place. Les langages plus simples, qui interprètent seulement les fichiers de
script en appelant les API d’introspection de Java pour se ramener à des appels de classes
compilées, fonctionneront probablement mieux. Même en ce cas, certaines fonctionnalités
du langage peuvent ne pas être disponibles si elles reposent sur une caractéristique de l’API
Java traditionnelle qui n’existe pas avec Dalvik – ce qui peut être le cas du BeanShell ou
de certains JAR tiers avec les versions actuelles d’Android.
Deuxièmement, les langages de script sans JIT seront forcément plus lents que des applications Dalvik compilées ; cette lenteur peut déplaire aux utilisateurs et impliquer plus de
consommation de batterie pour le même travail. Construire une application Android en
BeanShell uniquement parce que vous trouvez qu’elle est plus facile à écrire peut donc
rendre vos utilisateurs assez mécontents.
Troisièmement, les langages de script qui exposent toute l’API Java, comme BeanShell,
peuvent réaliser tout ce qu’autorise le modèle de sécurité sous-jacent d’Android. Si votre
application dispose de la permission READ_CONTACTS, par exemple, tous les scripts
BeanShell qu’elle exécutera l’auront également.
Figure 21.2
L’IDE AndShell exécutant
un script BeanShell.
Livre Android.book Page 232 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 247/391

Suivant