Tôi đã cài đặt Titanium từ appcelerator và xây dựng ứng dụng ví dụ "KitchenSink".Điều gì xảy ra với mã JavaScript sau khi ứng dụng được biên dịch bằng Titanium Mobile
Tất cả hoạt động tốt, tôi chỉ tự hỏi mã Javascript sẽ kết thúc ở đâu trong ứng dụng được tạo.
Tôi grep-ed dự án Xcode và cũng là ứng dụng kết quả như tôi đã tìm thấy trong Library/Application Support/iPhone Simulator/....KitchenSink.app
, nhưng tôi không thể tìm thấy bất kỳ tên hàm nào từ các tệp .js
, thậm chí không sử dụng văn bản chuỗi trong ứng dụng.
Thông tin gần nhất tôi tìm thấy là câu trả lời ở đây: How Does Appcelerator Titanium Mobile Work? nhưng tôi không hiểu rõ quy trình hoạt động như thế nào.
Mã javascript có được biên dịch thành mã nhị phân hay không?
Cập nhật:
Đây là những gì tôi có thể nhìn thấy trong một build/thư mục android của 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
Tôi không nhìn vào app.apk trước đó, tất cả những gì có thể nhìn thấy được các tệp lớp này tương ứng với từng tệp javascript. Vì vậy, tôi giả định rằng trên Android javascript đang được biên soạn cho JVM. Tại sao những thứ này không thể tìm thấy trong app.apk?
Tôi có thể sai ở đây nhưng khi tôi thử Appcelerator cho Android một vài tháng trở lại tôi đã có ấn tượng mã javascript không được biên dịch cả. Thay vào đó, nó được vận chuyển với tệp .apk cùng với một trình thông dịch javascript chạy mã javascript trong thời gian chạy. Tại sao chúng lại bao gồm mã javascript trong tập tin apk ngay từ đầu? –