phonegap源碼
① 像類似Phonegap這樣的app開發工具還有哪些
PhoneGap是一個用基於Web語言去創建移動跨平台移動應用程序的快速開發平台。像這類的工具還有很多,尤其是國內有很多,我給你舉幾個例子。
1.APICloud
RhoMobile提供了Rhodes,這是一種基於Ruby的開源框架。這個工具讓開發人員可以開發能夠跨一大批操作系統和智能手機運行的原生應用程序。操作系統包括安卓、Windows Mobile、iPhone,幾乎涵蓋所有主流操作系統。
使用RhoMobile提供的框架,你只需要編寫一次代碼。該代碼可以用來為大多數主流的智能手機開發應用程序。原生應用程序很適合與現有的硬體協同運行,所以你可以輕松、快速、准確地完成開發任務。
RhoMobile還為開發人員提供了RhoHub和RhoSync,前者是一種託管型的開發環境,後者可以作為獨立式伺服器軟體來部署,以便確保用戶手持設備上的所有應用程序數據是最新的。
② 如何在Android中結合使用PhoneGap和Dojo Mobile
在編寫本文時,Dojo 的最新的穩定版本是 1.6.1。要立即開始使用 Dojo Mobile 1.7,則需要從一個 Subversion
存儲庫中下載 Dojo Toolkit 最新的版本。svn 命令行工具通常已預先安裝在 Mac OS X 和 Linux® 操作系統上。如果使用
Windows®,那麼您可能需要先下載和安裝這些工具。有關的更多信息,請訪問 Subversion 站點。
假設您已經安裝了 Subversion,並且正在使用基於命令行的工具,那麼您可使用以下命令遷出最新的 Dojo 版本。該命令會下載完整的 Dojo
Toolkit 源代碼,所以預計會花一段時間。
?1svn checkout http://svn.dojotoolkit.org/src/view/anon/all/trunk
dojo-toolkit-readonly
當完成遷出後,您將在一個名為 dojo-toolkit-readonly 的新目錄中擁有 Dojo Toolkit
的完整源代碼。將此目錄復制或移動到您 Web 伺服器上的一個位置,以便您能夠在 HTML 文檔中使用它。將它重命名為更短的名稱,比如
dojo-toolkit,然後就可以開始使用 Dojo 了。
如果願意的話,可以僅下載您想要的 Dojo Toolkit 部分。一些人發現首先下載完整版本,然後丟棄不需要的部分更容易一些。Dojo
的源代碼沒有壓縮且比較大,所以不建議在生產應用程序中使用它。
清單 1 給出了 Dojo 應用程序的基本結構。Dojo Mobile 1.7
中新增了deviceTheme類,它將自動確定要為您使用的設備載入的准確主題。您無需檢測用戶的瀏覽器並提供相關的 CSS 文件。
當完成遷出後,您將在一個名為 dojo-toolkit-readonly 的新目錄中擁有 Dojo Toolkit
的完整源代碼。將此目錄復制或移動到您 Web 伺服器上的一個位置,以便您能夠在 HTML 文檔中使用它。將它重命名為更短的名稱,比如
dojo-toolkit,然後就可以開始使用 Dojo 了。 如果願意的話,可以僅下載您想要的 Dojo Toolkit
部分。一些人發現首先下載完整版本,然後丟棄不需要的部分更容易一些。Dojo 的源代碼沒有壓縮且比較大,所以不建議在生產應用程序中使用它。請參閱
參考資料,了解有關創建自定義 Dojo 構建版本來提升 Dojo 應用程序性能的信息。
清單 1 給出了 Dojo 應用程序的基本結構。
如果將清單 1 中的代碼保存到文件中,在 Web
瀏覽器中打開此文件,將會看到一個灰色背景,再沒有任何內容。這沒什麼用,所以讓我們在應用程序中添加一些內容。本文中的示例使用了非標準的 Dojo Mobile
類,所以需要用dojo.require載入它們。在dojo.require("dojox.mobile");行的後面,添加清單 2 所示的代碼。
人工載入 Dojo Mobile 類
6dojo.require("dojox.mobile.ScrollableView");
dojo.require("dojox.mobile.SwapView");
dojo.require("dojox.mobile.IconContainer");
dojo.require("dojox.mobile.Button");
dojo.require("dojox.mobile.SpinWheelDatePicker");
dojo.require("dojox.mobile.SpinWheelTimePicker");
現在,可以添加 "Hello World" 應用程序的主要代碼。本文中的示例使用了 Dojo Mobile 的聲明式語法,這意味著要使用帶特殊
Dojo Mobile 屬性的常規 HTML 標記,在運行時解析 Dojo Mobile 屬性。在代碼的部分中,添加清單 3 中的代碼。
Hello, World!
First Section
This is a nice standard rounded rectangular label.
Second Section
List Item 1
List Item 2
List Item 3
List Item 4
List Item 5
上述代碼定義了一個ScrollableView,它構成主要的應用程序界面。標準的View類與ScrollableView類之間的主要差異是:標準的View使用標準的瀏覽器機制來滾動頁面。ScrollableView類有自己的滾動機制,可以像原生應用程序一樣固定應用程序中的頁眉和頁腳,滾動它們之間的內容。
在ScrollableView中有一個Heading,它是包含文本 「Hello, World」
的標題欄。通過在這個對象上設置屬性fixed="top",Dojo Mobile
會將這個標題一直留在屏幕頂部,滾動它下面的其他內容。RoundRectCategory對象為圓形的列表或單一列表項定義了一個組標題。第一個類別後面是一個RoundRect框,其中包含一些靜態文本。然後是另一個類別標題和RoundRectList對象,該對象包含一系列ListItem對象。