Zainstalowałem Titanium z aplikacji Appcelerator i zbudowałem przykładową aplikację "KitchenSink".Co dzieje się z kodem JavaScript po kompilacji aplikacji za pomocą Titanium Mobile
Wszystko działa dobrze, po prostu zastanawiam się, gdzie znajduje się kod javascript w zbudowanej aplikacji.
I grep-ed projektu Xcode, a także aplikacji wyników, jak znalazłem go w Library/Application Support/iPhone Simulator/....KitchenSink.app
, ale nie mogę znaleźć żadnych nazw funkcji z .js
plików, nawet tekstów ciąg używanych w aplikacji.
Najbliższa informacja, którą znalazłem, to odpowiedź tutaj: How Does Appcelerator Titanium Mobile Work?, ale nie rozumiem jasno, w jaki sposób działa ten proces.
Czy kod javascript jest kompilowany w kod binarny (który to kompilator jest używany?), Czy jest po prostu przekształcany w specjalnym formacie danych i interpretowany w działającej aplikacji?
Aktualizacja:
To co widzę w katalogu/Android kompilacji z 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
I nie wyglądało na app.apk zanim mógłby widzę byłeś te pliki klas odpowiadające każdemu z plików javascript. Dlatego założyłem, że w systemie Android javascript jest kompilowany dla JVM. Dlaczego nie można ich znaleźć w app.apk?
Może się mylę, ale kiedy wypróbowałem Appcelerator na Androida kilka miesięcy temu, odniosłem wrażenie, że kod javascript nie został skompilowany w ogóle. Zamiast tego został dostarczony z plikiem .apk wraz z javascript-interpreter, który uruchomił kod javascript podczas pracy. Dlaczego w ogóle mieliby zawrzeć kod javascript w pliku APK? –