Javascript 並不僅僅只用於網頁和網站程序。你還可以創建實時應用、服務端解決方案、桌面和移動應用。移動應用分爲兩種:瀏覽器裏的網頁應用和本地應用。本地應用通常 更快更強大,因爲它們有訪問文件系統、傳感器、照相機等設備的權限。本地應用通常使用手機指定的語言編寫,例如Objective-C、Java。所以獨 立開發者通常使用HTML+CSS+Javascript的解決方案。幸運的是,感謝最新的技術,我們可以很方便的將網頁應用轉換爲真正的本地應用。
視頻( http://vimeo.com/moogaloop.swf?
clip_id=8730218&server=vimeo.com&show_title=0&show_byline=0&show_portrait=0&color=&fullscreen=1 )
這個恐怖的工具允許你使用所知道的網頁技術通過本地控制爲 iPhone 、 iPad 、 Android (稍後將支持黑莓)創建強大的移動應用。這些技術包括 HTML5 、 CSS3 、 Javascript 、 PHP 、 Ruby 和 Python 。此外,它最近還更新了文檔。
你可以使用任何一個你想用的框架(例如 Mootools 、 jQuery 、 Prototype )並利用上 CSS3 和 Javascript 的最新特性。這是因爲 Titanium 程序實際上運行在聰明的嵌入式 Webkit (即 Safari )窗口中。 從Titanium 1.0 版本開始,除Webkit Webview 外只有Javascript 模擬器。像 米切爾所寫的一樣 :
在 Titanium 0.8 版本中, Webkit 的 Webview 被當作核心使用,周圍是 GPS 、用戶界面、相機和映射到操作系統的數據。而到了 Titanium 1.0 版本,開發者現在可以選擇通過直接綁定到操作系統的 API 爲 iPhone 上的 Objective-C 或者 Android 上的 Java 建立 Javascipt 橋。
如果你學習了 Titanium手機API ,你會發現它使用地理定位或者鼠標手勢是多麼的簡單。你甚至還可以僅僅通過簡單的幾行代碼,就可以把你的 應用連接到Facebook 。
就像 Titanium 一樣, Phone Gap 讓你可以使用 HTML 和 Javascript 來爲多個手機平臺構建應用,包括 iPhone 、 Google 的 Android 、塞班、 Palm 和黑莓。你可以在 這裏 看看上面提到的這些平臺目前支持哪些特性。
坦白的說,我只用過 Titanium ,但是 PhoneGap 看起來也是一個很好的選擇。
另外還有 QuickConnectFamily 和 NibleKit 。第一個相當強大,第二個缺乏文檔同時不支持跨平臺(只支持 iPhone 和 iPod )。我還推薦 iWebkit ,但是它的主頁最近被黑了(我沒有開玩笑 … )。
你可能會對讓你工作更容易的框架感興趣。 例如,如果你希望你的應用有特別的iPhone 界面和外觀,可以試試:
它可以使你輕鬆創建 Webkit 瀏覽器上運行的 iPhone 應用 ( 還可以再使用 Titanium 或 PhoneGap 來創建本地應用 ) 。
除 jQTouch 之外還有一個選擇: IUI 。你可以在 Google代碼 裏找到它。
如果你要選擇一個輕量級和非 jQuery 的框架,可以試試 WebApp ,它被設計來模擬 iPhone 和 iPod Touch 真實的用戶圖形界面。
我們聽到了你的話。另外一個Javascript 框架是什麼?!當使用PhoneGap 開發時,使用現代的 Javascript (例如 Prototype 、 MooTools 、 YUI 、 Ext 、甚至 jQuery ),會導致加載時間變慢。一個最大的原因是這些庫太大,主要是它們包含了大量跨瀏覽器兼容性代碼。到目前爲止,手機平臺上瀏覽器實現和不同的需求很少,所以請考慮 XUI 。
我已經說得夠多了 …
這個框架爲非 Objective-C 開發者設計, Capucchino 引入了 Objective-J 。
Objective-J 是一個基於 Objective-C 的新式編程語言。它同時是 Javascript 的一個超集,這代表着任何有效的 Javascript 代碼也是可用的 Objective-J 代碼。任何熟悉 Javascript 和麪向對象原理的人,學習 Objective-J 不會有任何困難。熟悉 Objective-C 會有一些幫助,但不是必須的。
使用這個框架可以創建和桌面應用一樣棒的手機應用(這要感謝 Titanium )。可以看看一些示例: 280 slides , Mockingbird 或者 Github 問題 。
使用上面的框架你可能無法創建 3D 應用和遊戲。所以有了 iProcessing 。它是一個開放的編程框架,幫助人們使用 Processing 語言開發本地 iPhone 應用。它是 Processing.js 庫和 iPhone 上 Javascript 應用框架的結合。
你還知道另外值得提到的框架?請給我回復。