第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Appcelerator Titanium Mobile如何工作?

Appcelerator Titanium Mobile如何工作?

瀟湘沐 2019-11-25 10:26:54
我正在使用Titanium Mobile 1.0構建iPhone應用程序,我看到它可以編譯為本地iPhone二進制文件。這是如何運作的?似乎要分析JavaScript代碼并直接轉換為Objective-C,而沒有像280 North's Objective-J和Cappuccino這樣的超集語言,這將需要很多繁重的工作。
查看完整描述

3 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

Titanium會獲取您的Javascript代碼,對其進行分析和預處理,然后將其預編譯為一組符號,這些符號將根據您的應用程序使用Titanium API進行解析。從這個符號層次結構中,我們可以構建一個符號依賴性矩陣,該矩陣映射到基礎的Titanium庫符號,以了解您的應用程序特別需要哪些API(以及相關的依賴性,框架等)。我以半一般的方式使用“符號”一詞,因為它在語言上有所不同。在iPhone中,該符號映射到一個真正的C符號,該符號最終映射到一個已為ARM / i386體系結構編譯的已編譯.o文件。對于Java來說,它或多或少是一個.class文件,等等。一旦前端可以理解您的依賴關系矩陣,我們便會調用SDK編譯器(例如,用于iPhone的GCC,

因此,一種簡單的思考方式是,您的JS代碼幾乎一對一地編譯為本地的代表性符號。仍然有一個解釋器以解釋模式運行,否則動態(tài)代碼之類的東西將無法工作。但是,它的速度更快,更緊湊,并且?guī)缀跖c您可以得到的純本機映射差不多。

顯然,我們仍然有足夠的空間來對此進行改進。到目前為止,在我們最新的1.0測試中,它與相同的Objective-C直接代碼幾乎沒有區(qū)別(因為在大多數情況下,它已精確地映射到該代碼)。從CompSci的角度來看,我們現在可以開始優(yōu)化人類確實不容易做到的事情-就像今天的GCC編譯器一樣。


查看完整回答
反對 回復 2019-11-25
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

就像jhaynie所說的那樣,該應用程序被編譯為本機代碼,但是仍然有一個解釋器可以運行一些javascript,這使該應用程序非常動態(tài)。



查看完整回答
反對 回復 2019-11-25
?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

如果打包簡單的充足代碼,則會得到?80MB gzip存檔(原始代碼?1kB)。在軟件包中-除其他外-您可以找到我的源html和js文件。軟件包還附帶了很多庫(例如ssl)(因為您可以在此框架內對很多東西進行低級訪問)。

我認為他們采用您的代碼并包裝了某種解釋器軟件和庫。就我而言,這就像將我的html和js代碼打包到僅顯示我的網站的小型瀏覽器旁邊一樣。

但是,只要代碼可以在每個受支持的系統(tǒng)上以相同的方式工作,那就太好了。


查看完整回答
反對 回復 2019-11-25
  • 3 回答
  • 0 關注
  • 394 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號