J'ai installé Titanium depuis appcelerator et construit l'application d'exemple "KitchenSink".
Tout fonctionne bien, je me demande simplement où se trouve le code javascript dans une application construite.
J'ai fait un grep sur le projet Xcode et aussi sur l'application résultat telle que je l'ai trouvée dans Library/Application Support/iPhone Simulator/....KitchenSink.app
mais je ne trouve pas de noms de fonctions de .js
ni même les chaînes de caractères utilisées dans l'application.
L'information la plus proche que j'ai trouvée est une réponse ici : Comment fonctionne Appcelerator Titanium Mobile ? mais je ne comprends pas clairement comment le processus fonctionne.
Le code javascript est-il compilé en un code binaire (quel compilateur est alors utilisé ?), ou est-il simplement transformé en un format de données spécial et interprété dans une application en cours d'exécution ?
Mise à jour :
C'est ce que je peux voir dans un répertoire build/Android de KitchenSink :
michal:bin mac$ find . -name table_view_layout\*
./assets/Resources/examples/table_view_layout.js
./assets/Resources/examples/table_view_layout_2.js
./assets/Resources/examples/table_view_layout_3.js
./assets/Resources/examples/table_view_layout_4.js
./assets/Resources/examples/table_view_layout_5.js
./classes/org/appcelerator/generated/examples/table_view_layout.class
./classes/org/appcelerator/generated/examples/table_view_layout_2.class
./classes/org/appcelerator/generated/examples/table_view_layout_3.class
./classes/org/appcelerator/generated/examples/table_view_layout_4.class
./classes/org/appcelerator/generated/examples/table_view_layout_5.class
michal:bin mac$ unzip -t app.apk | grep table_view_layout
testing: assets/Resources/examples/table_view_layout.js OK
testing: assets/Resources/examples/table_view_layout_2.js OK
testing: assets/Resources/examples/table_view_layout_3.js OK
testing: assets/Resources/examples/table_view_layout_4.js OK
testing: assets/Resources/examples/table_view_layout_5.js OK
Je n'ai pas regardé dans app.apk avant, tout ce que j'ai pu voir, ce sont ces fichiers de classe correspondant à chacun des fichiers javascript. J'ai donc supposé que sur Android, le javascript est compilé pour la JVM. Pourquoi ne les trouve-t-on pas dans app.apk ?