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对象。