PeopleSoft PeopleTools移动应用开发
上QQ阅读APP看书,第一时间看更新

1.3 开发工具

本章剩下的内容将主要介绍如何安装构建移动应用所需的各种开发工具。

1.3.1 浏览器

为了有效地测试HTML5应用,访问一个支持HTML5的浏览器是至关重要的。目前,所有主流的浏览器都支持HTML5:Chrome、Firefox、Internet Explorer 10、Safari以及Opera。可以访问http://html5test.com/查看你所喜欢的浏览器的积分卡,或者访问http://html5test.com/results/desktop.html查看目前所有流行桌面浏览器的分数。

既然构建的是移动Web应用,那么为什么还要关注桌面浏览器呢?现代的桌面浏览器包括了许多开发工具和扩展工具,而这些工具在移动设备上是不具备的。在桌面浏览器上可以更容易地测试和调试移动Web应用。

WebKit

WebKit是许多流行的Web浏览器所使用的渲染引擎,其中包括Android、Amazon的Kindle e-reader、Safari、iOS、BlackBerry 10以及许多其他鲜为人知的Web浏览器。直到最近,甚至连Google Chrome Web浏览器都使用了WebKit。WebKit究竟是什么?实际上,它是一个开源的Web解析和布局引擎,而不是一个Web浏览器。WebKit确定了不同元素放置的位置以及是使用WebKit“端口”还是浏览器来绘制这些元素。由于大多数移动设备都共享了相同的渲染和布局引擎,因此不同的移动设备对CSS(Cascading Style Sheet,级联样式表)以及DOM(Document Object Model,文档对象模型)的支持是类似的。作为Web开发人员,不需要关心WebKit复杂的内部结构,只需要知道WebKit很重要就可以了。

如果想要学习更多关于WebKit的内容,可以使用下面的在线资源:

http://www.webkit.org/

http://en.wikipedia.org/wiki/WebKit

http://www.paulirish.com/2013/webkit-for-developers/

如果你的公司对桌面浏览器的使用进行了严格控制,同时公司所使用的标准浏览器不支持HTML5,那么也不用太担心,你仍然有以下选择:

•说服公司领导,以便可以使用支持HTML5的现代浏览器。

•使用带有现代浏览器功能的移动模拟器。

•在VirtualBox中使用现代浏览器。

使用移动模拟器虽然可以提供现代浏览器的相关功能,但却没有包括桌面浏览器所具有的强大的开发工具。然而,通过使用VirtualBox,可以非常容易地启动一个虚拟桌面,而该桌面使用了包含最新Chrome、Firefox或Internet Explorer浏览器的Windows或Linux。而我本人也是虚拟化的超级粉丝。实际上,我就是在VirtualBox VM中完成了本书的编写。虽然我还是一名铁杆的Linux用户(当然是Oracle Enterprise Linux),但为了本书的原稿,还是使用了Microsoft Word。同时,为了配合出版流程,使用了带有Microsoft Word的Windows 7 VM来完成本书的编写。

虚拟开发环境

目前许多公司只允许使用带有Internet Explorer 8的Windows桌面系统。甚至有些使用带有Internet Explorer 6或7的Windows XP系统。这些浏览器都太陈旧了而无法支持HTML5开发。如果你发现自己处于这种情况,可以尝试构建一个虚拟的开发环境。如果你使用过Linux,或者愿意学习使用Linux,那么可以构建自己的开发环境,而无需为软件许可证支付任何费用。首先,从http://www.virtualbox.org/下载Oracle VirtualBox桌面虚拟软件并进行安装。但是请注意,不要下载Extension Pack,除非满足许可证要求。然后创建一个VM(Virtual Machine,虚拟机)。可以在网上找到很多关于创建VM的书面和视频教程。推荐从VirtualBox手册的第1章(https://www.virtualbox.org/manual/ch01.html)开始学起。或者,也可以从不同的供应商那里下载预先构建的VM,比如http://virtualboxes.org/。如果选择下载预先构建的VM,我推荐选择一款轻量级的Ubuntu衍生产品,比如Xubuntu或Lubuntu。相比于其他发行版本,这些版本需要更少的内存和硬盘空间。

一旦拥有了一个可用的VM,下一步就是下载浏览器并进行测试、测试、再测试了。

1.3.2 文本编辑器

HTML5应用由纯文本文件组成。这意味着你的计算机已经拥有了构建HTML5应用所需的所有软件。如果操作系统是Windows,那么可以使用Notepad。而如果使用的是Linux,则可以使用gedit、kate、vim、vi、emacs以及许多其他的文本编辑器。接下来让我们创建一个简单的HTML5 Web页面,来了解一下如何使用纯文本编辑器构建HTML5应用。在文本编辑器中输入下面的代码,然后保存,最后将其加载到你所喜欢的HTML5浏览器中。

    <! DOCTYPE html>
    <html>
        <head>
          <script>
              window.addEventListener("load", function() {
                      var canvas = document.getElementById("greeting"),
                        context = canvas.getContext("2d"),
                        x = 20,
                        y = 20;

                      context.fillText("Hello World! ", x, y);
                  }, false);
          </script>
        </head>
        <body>
          <canvas id="greeting" width="100" height="20"></canvas>
        </body>
    </html>

在加载到Web浏览器之后,应该可以看到如图1-1所示的内容。

图1-1 “Hello World! ”HTML5画布页面的屏幕截图

当提到文本编辑器时,Linux用户比Windows用户有一个优势,因为所有常见的Linux文本编辑器都支持语法高亮。而遗憾的是,Windows Notepad无此功能。如果你也属于Windows用户,那么可能会想要使用一些在Windows中可用的具备高级语法高亮功能的文本编辑器。下面列出了一些常用的文本编辑器:

•Notepad++

•jEdit

•vim

•Sublime

•UltraEdit

•TextPad

•EditPlus

其中,Notepad++可能是最受PeopleSoft开发人员欢迎的免费文本编辑器。而我个人比较喜欢的是jEdit,因为该编辑器具备灵活的插件架构。但对于那些愿意为获得更好的文本编辑器而付费的人来说,Sublime则赢得了更多青睐。

注意:

可以从http://greyheller.com/Blog/editing-enhancements-for-sqr-and-peoplecode下载针对Notepad++的SQR和PeopleCode语法文件。

1.3.3 调试器和浏览器工具

如HTML5示例“Hello World! ”所示,所编写的代码表示了浏览器将要解释的指令。如果可以实时地了解浏览器是如何解释所编写的代码,那么将会为开发工作带来极大的便利。下面列出了一些我经常用来进行在线原型设计和调试的工具:

•内置浏览器工具

•Firebug

•Fiddler

•Weinre

1.浏览器工具

Internet Explorer、Safari、Chrome和Firefox都包含了相关的开发工具,可用来针对当前加载的页面进行检查、调试和执行脚本。在Chrome、IE和Firefox中,通过按键盘上的F12键可显示这些开发工具。而Safari则有点不同。如果使用的是Safari,那么我建议阅读一下下面所示的文章,了解如何启用Safari中相关的开发工具:

http://macs.about.com/od/usingyourmac/qt/safaridevelop.htm

http://www.jonhartmann.com/index.cfm/2011/4/28/Enabling-Safari-Developer-Tools

图1-2显示了在Chrome开发工具中打开的“Hello World! ”HTML5页面的屏幕截图。

图1-2 Chrome开发工具

2. Firebug

通过使用Chrome和Safari的Elements、Network、Sources、Timeline、Profiles、Resources、Audits以及Console选项卡,可以了解所查看页面的所有内容。但如果想要对JavaScript进行原型设计以及单步调试,我比较喜欢使用一个Firefox插件Firebug。通过使用该插件,可以非常容易地测试JavaScript片段以及原型CSS更改。图1-3显示了在Firebug中进行一些CSS原型设计的屏幕截图。

图1-3 在Firebug中进行CSS原型设计

3. Filddler

Fiddler是一个网络调试代理工具。它允许用户窃听浏览器和HTTP(S)服务器之间发生的后端通信。当需要调试Ajax请求和HTTP重定向时,该工具是非常有用的。可以从http://www.telerik.com/fiddler下载Fiddler。图1-4显示了Fiddler的屏幕截图。

图1-4 Fiddler

4. Weinre

Weinre是一种远程Web检查器。它提供了与Firebug或WebKit(Chrome和Safari)类似的工具,但只是针对远程浏览器。当需要调试运行在移动设备上的应用时,使用Weinre是非常方便的。在编写本书时,可以从http://people.apache.org/~pmuellr/weinre/docs/latest/找到关于Weinre的最新信息。

Weinre是基于Node.js运行的。因此,要使用它,应首先访问http://nodejs.org/download/并安装适合自己操作系统的Node.js二进制文件。安装完毕之后,打开命令提示符并输入下面的命令:

    sudo npm -g install weinre

Weinre安装完毕之后,在命令提示符中执行命令weinre,启动Weinre服务器。然后使用Google Chrome Web浏览器导航到http://localhost:8080/,查看Weinre的图形用户界面。此时应该显示了一个带有指令以及Demos链接的Weinre页面。通过该Weinre页面,在一个新的选项卡中打开调试客户端用户界面的链接。此时在Access Points标题下会找到调试客户端的URL。该URL应该指向类似于http://localhost:8080/client/#anonymous的链接。接下来,在一个新选项卡中启动目标Demo之一。此Demo应连接到该调试客户端,从而允许检查元素、查看资源、查看所下载的文件以及在控制台输入命令。为了测试控制台,请输入window.location并按Enter键。很快就会在Web Inspector Console输出中看到一个对象。图1-5显示了Weinre Web检查器的屏幕截图。

图1-5 Weinre Web检查器

1.3.4 集成开发环境

当只需要对文件进行较小的修改或者原型设计一些新东西时,我比较喜欢语法高亮的文本编辑器所具有的轻量级、非结构化的优点。但是当构建一个应用时,则更愿意使用IDE(Integrated Development Environment,集成开发环境)所拥有的可靠功能。我个人喜欢的两款Web开发IDE分别是Eclipse和NetBeans。就我个人而言,Eclipse提供了更完美的用户体验,而NetBeans则提供了更紧密的HTML5集成。虽然可以通过配置Eclipse来完成所需的大部分工作(比如JSLint集成),但NetBeans 7.4却提供了一些即开即用的功能。因此,本书的示例都是基于NetBeans 7.4完成的。

请导航到http://www.netbeans.org/downloads/并选择HTML5 & PHP Download,下载NetBeans。这是最小化的下载,仅提供了构建HTML5应用所需的功能。图1-6是NetBeans下载选项的屏幕截图。

图1-6 NetBeans下载选项

注意:

NetBeans安装程序将会检查系统,查找Java JDK的最新版本。如果没有找到,将导航到下载网址,以便下载并安装。

NetBeans测试应用

接下来,让我们在NetBeans中创建一个HTML5应用,以便确认IDE被正确安装。通过操作系统的应用菜单或者新的桌面图标启动NetBeans。NetBeans显示之后,选择File|New Project。图1-7显示了New Project对话框的屏幕截图。

图1-7 NetBeans New Project对话框

从Categories列表中选择HTML5,然后再从Projects列表中选择HTML5 Application,并命名为ch01_nbtest。请注意项目位置和项目文件夹。后面将使用这些信息创建Web服务器映射。此时的项目文件夹是C:\Users\jmarion\Documents\NetBeansProjects\ch01_nbtest。图1-8显示了新项目的文件系统属性的屏幕截图。

图1-8 NetBeans项目文件系统属性

NetBeans内置支持了多种HTML5模板系统,并提供了一个列表以供选择。当选择了一个网站模板时,项目文件、库以及结构由该模板决定。模板通常给出了一个HTML结构、CSS格式化以及响应式布局。

虽然并不一定要选择一个模板系统,但使用模板系统可以带来极大的便利。模板提供了许多用户体验功能,允许开发人员专注于结构和内容的设计。针对这个测试应用,请选中Download Online Template选项,并选择Twitter Bootstrap 2.3.2模板。图1-9显示了NetBeans模板选项的屏幕截图。

图1-9 NetBeans模板选项

New Project对话框的第4步允许从一个预定义的JavaScript库列表中进行选择。虽然本项目并不会使用其中任何一个库,但也可以随意滚动一下列表,寻找一下你所喜欢的JavaScript库。请注意,可以通过Versions列选择每种库的不同版本。单击Finish按钮,创建一个新项目。此时的项目应该类似于图1-10所示的项目。

图1-10 NetBeans IDE中的新项目

注意:

有时可能会在库列表的下面看到链接“Updated:Never”。如果出现这种情况,推荐的做法是单击该链接,更新库列表。

通过右击项目浏览器中的源文件,或者在编辑器窗口中右击文本并从上下文菜单中选择Run File,可以在Web浏览器中查看预先构建的index.html页面。如果已安装Google Chrome,那么NetBeans将会在使用了NetBeans连接器的Chrome中打开index.html文件。NetBeans连接器允许在NetBeans内部单步调试JavaScript代码和HTML5应用,而无需使用Chrome的开发工具。图1-11显示了Chrome浏览器中index.html文件的屏幕截图。

图1-11 Google Chrome中显示的应用的索引文件

Bootstrap页面应该是一个从视觉上极具吸引力的页面。但是目前的页面并不是很漂亮,这是因为没有包含对引导CSS文件的引用。请在head节的最后一个meta标签下输入下面所示的代码,从而添加该引用:

    <link rel="stylesheet" href="css/bootstrap.min.css"/>

注意:

在HTML5中,type特性是可选的。此处之所以没有写是为了节约带宽。每个字节都会占用带宽。

当在NetBeans HTML编辑器中输入文本时,可以注意到该编辑器是如何智能地根据上下文提示元素、特性和值。诸如NetBeans或Eclipse之类的IDE的另一项强大功能是自动格式化。按下组合键Alt+Shift+F,就可以根据标准HTML格式模板对编辑器的内容进行格式化。

1.3.5 Web服务器

有时一些代码会包括Ajax请求。Ajax是一种数据传输机制,允许在移动Web页面和后台Web服务器之间进行透明的通信。这些请求必须由一台Web服务器运行,并且只能与起源域进行通信。如果想要对使用了Ajax的本地Web页面进行测试,则需要拥有一台本地Web服务器。可供选择的Web服务器有很多。我最熟悉的是Apache httpd(并且是免费的)。后面,我们将PeopleSoft内容反向代理到一个Apache httpd域中,以便响应Ajax请求。到时所使用的指令将适用于Apache httpd。

跨域资源共享

有时,浏览器会要求开发人员将所有的内容代理到相同的域中,以便遵守“Domain of Origin”安全策略。“Domain of Origin”策略的目的是消除跨站脚本漏洞。目前,流行的浏览器都支持一种被称为CORS(Cross-Origin Resource Sharing,跨域资源共享)的跨域机制。可以通过http://en.wikipedia.org/wiki/Cross-origin_resource_sharing了解更多关于CORS的相关内容。由于PeopleSoft Integration Broker并不支持CORS,因此可以有两种选择:

•将Intergration Broker内容代理到另一个域中。

•通过一个反向代理服务器启用CORS。

Apache Software Foundation并没有针对httpd的最新版本分发二进制文件。因此,需要找到Apache httpd的一个二进制分发版本。我比较喜欢从https://www.apachelounge.com/download/下载相关版本。安装Apache Lounge的过程实际上就是将一个压缩文件解压到C:\中。可以从所下载的压缩文件的ReadMe.txt文件中找到完整的安装说明。本书示例中所使用的Apache指令涉及Apache版本2.4(在注释中有版本2.2的语法)。

配置虚拟目录

虽然NetBeans项目存在于一个文件夹中,但Web服务器却被配置为可提供来自不同文件夹的内容。因此需要为NetBeans项目的Web根文件夹分配一个Web服务器虚拟目录。首先找到NetBeans项目的Web根文件夹。通过右击NetBeans项目资源管理器(位于左上角区域)中的Site Root文件夹并从上下文菜单中选择Properties,从而确定根文件夹。该对话框显示了Project Folder和Site Root Folder。Web根文件夹是这两个属性的串联。根据图1-12所示,可以看到Web根文件夹为C:\Users\jmarion\Documents\NetBeansProjects\ch01_nbtest\public_html。

图1-12 Project Properties对话框

接下来,在Apache Web服务器的conf目录中创建一个新的配置文件。当前的配置文件位于c:\Apache24\conf,但你的配置文件可能位于另一个不同的位置。将新文件命名为ch01_nbtest.conf,并向其中添加以下内容:

    # ch01 NetBeans Test configuration

   Alias /ch01_nbtest "C:/Users/jmarion/Documents/NetBeansProjects/\
   ch01_nbtest/public_html"
   <Directory "C:/Users/jmarion/Documents/NetBeansProjects/ch01_nbtest/\
   public_html">
      Options Indexes FollowSymLinks
      AllowOverride None
      # Apache 2.2 directives
      # Order allow, deny
      # Allow from all

      # Apache 2.4 directives
      Require all granted
   </Directory>

注意:

对于印刷的书页来说,代码片段中的路径太长,所以我故意将路径划分为多行显示,并且在每行的末尾使用了Apache conf文件行继续符“\”。如果将整个路径都放置在一行中显示,那么就不需要在配置文件添加这个特殊字符了。

当创建配置文件时,请使用你自己的NetBeans项目的路径替换书中NetBeans项目的路径。书中所写的路径仅供参考。请确保在文件路径中使用斜线,而不是使用标准的Windows文件路径反斜杠。

现在,需要告诉Apache使用我们的配置。为了避免将所有的开发配置都放置到httpd.conf文件中而产生混乱,可以将这些配置分别存储于不同的文件,并在Apache的主配置文件中包括这些配置。打开Apache配置目录(conf目录)中的httpd.conf文件,滚动到文件底部,添加下面所示的代码行:

    Include conf/ch01_nbtest.conf

修改完之后,通过cmd提示符执行下面的命令,启动Apache(假设Apache 2.4被安装到c:\Apache24)。

    c:\Apache24\bin\httpd.exe

使用Web浏览器并导航到http://localhost/ch01_nbtest,测试虚拟目录配置。如果看到了测试的index.html页面,则表示配置正确。

1.3.6 安装模拟器

使用现代的HTML5 Web浏览器可以非常好地测试HTML5移动应用。然而,如果只是想确定网站是否可以在目标设备上正常工作,那么在真实设备以及可能的设备模拟器上测试Web页面则是非常好的主意。

1. Android

Android是一个可以在多种操作系统上运行的完善的开发环境。在学习第9章之前,并不需要使用全部的Android开发工具集。只需要安装Android SDK Tools即可。但是如果想要构建原生Android应用,则最好下载完整的程序包。首先导航到https://developer.android.com/sdk/index.html,然后找到Download the SDK ADT bundle按钮。图1-13是此刻该按钮的屏幕截图外观。

图1-13 SDK ADT bundle下载按钮

仅使用Android SDK Tools

本章中的示例演示了如何安装Eclipse和Android工具包。如果不打算构建原生Android应用,或者已经拥有了一个Eclipse实例,那么只需安装Android SDK就可以获得模拟器。在Android SDK下载页面(不要选择那个较大且明显的下载按钮),搜索标题DOWNLOAD FOR OTHER PLATFORMS。单击该链接,将会打开ADT Bundle and SDK Tools Only部分。滚动到SDK Tools Only部分的底部,并选择下载与自己操作系统相匹配的工具包。由于本书是基于Windows编写的,因此选择adt-bundle-windows-x86-20131030.zip。下载完毕之后,解压文件或者直接运行安装程序(根据所下载的文件而定)。

ADT SDK以一个压缩文件的形式分发。为了安装该工具,需要首先将压缩文件解压到计算机上的合适位置。通常做法是将此类程序放置到程序文件目录中。在Android安装目录中,可以找到一个名为SDK Manager.exe的程序。运行该程序来下载一个模拟器平台。在首次运行时,SDK Manager会自动选中多个平台。建议在此基础之上下载匹配目标设备的平台版本。书中的示例使用了Android 4.2.2平台。图1-14显示了已选中多个要下载的平台的SDK Manager。可以使用Install按钮下载并安装所需的文件。顺便告知一下,下载过程可能会花费几分钟时间。

图1-14 已选中平台的SDK Manager

注意:

启动模拟器的最快方法是通过命令行启动。建议将Android SDK工具以及平台工具的目录都添加到操作系统的PATH环境变量中,这样一来在输入命令时就没必要输入这些目录的完整路径了。

下载完毕后,请从Android SDK Manager菜单栏中选择Tools | Manager AVDs。AVD是Android Virtual Device的首字母缩写。一般来说,需要创建一个配置文件来标识将要模拟的设备类型。当Android Device Manager对话框出现之后,单击New按钮,创建一个新的虚拟设备配置文件。为该设备配置文件命名,并设置其参数,以便匹配目标设备。请确保相关的参数设置都在开发计算机的硬件限制范围内。一些较新且较大的设备可能会消耗标准开发笔记本电脑的大量RAM。图1-15是Create new Android Virtual Device对话框的屏幕截图。

图1-15 Create new Android Virtual Device对话框

可以通过Android Device Manager或者从命令行来启动新的AVD。如果使用命令行,则需要输入命令“emulator -avd模拟器名称”。下面所示的命令被用来启动名为NexusOne的AVD:

    emulator -avd NexusOne

通过打开模拟器的Web浏览器并导航到一个移动页面,可以对模拟器进行测试。http://maps.google.com/http://m.google.com/都是众所周知的移动页面示例。在测试的过程中,请确定Android模拟器可以访问本地开发工作站。通过模拟器的Web浏览器尝试连接到http://10.0.2.2。从模拟器的角度来看,该地址就是开发工作站的IP地址。

Android模拟器调试技巧 当开始为移动设备构建HTML5应用时,可能希望看到Android Web浏览器发出的HTTP请求和响应。查看请求的一个简单方法是将Fiddler设置为模拟器的代理服务器。首先需要在Fiddler中启用远程连接,启用步骤为:启动Fiddler,并从菜单栏中选择Tools|Fiddler Options。在Fiddler Options对话框中切换到Connections选项卡,并检查Allow remote computers to connect左边的复选框是否被选中。更改完设置之后,重启Fiddler。图1-16显示了Fiddler Options对话框的屏幕截图。

图1-16 Fiddler Options对话框

当Fiddler做好了接收远程连接的准备之后,使用下面所示的命令启动模拟器,从而指示模拟器通过Fiddler发送所有的HTTP(S)请求。

    emulator -avd NexusOne -partition-size 256-http-proxy 127.0.0.1:8888

更快的Android模拟器

Android开发的其中一个问题就是迟钝的Android模拟器。Intel提供了一个名为HAXM的硬件加速的Android CPU模拟器,它在支持Intel VT的主机上使用Intel VT加快了Android模拟。另一种加速方案是使用Android-x86项目。Android-x86构建了ISO磁盘映像,从而允许在x86架构上安装Android操作系统。针对Android-x86的一个重要使用案例就是在VirtualBox VM中运行某一版本的Android系统。如果想要学习如何在VirtualBox中运行Android-x86,可以访问http://www.android-x86.org/documents/virtualboxhowto/

或者也可以按照下面的步骤配置模拟器的代理设置:打开Settings应用,然后导航到Wireless & Networks | More | Mobile Networks | Access Point Names | T-Mobile US。将Proxy设置为与运行Fiddler的计算机(比如台式机或笔记本电脑)的IP地址相匹配的值,并将Port设置为8888。当使用这种方法时,在关闭Fiddler之前需要清除模拟器的代理设置,否则模拟器将无法连接到外部资源。

注意:

命令行有时会使用可能不会按照预期工作的透明代理。我就经常发现重要标头丢失的情况,比如主机标头。

DNS解析 有时可能需要通过主机名而不是IP地址来引用开发工作站。如果在模拟器的Web浏览器中输入工作站的主机名并看到错误“Webpage not found”,那么请在工作站上打开命令提示符,并执行下面所示的命令序列。该命令序列将IP地址/主机名映射添加到模拟器的主机文件中。但遗憾的是,每次启动模拟器时都需要执行该序列:

    adb remount
    adb shell
    root@android:/ # echo '10.0.2.2 dev.example.com' >> /etc/hosts
    echo '10.0.2.2 dev.example.com' >> /etc/hosts

注意:

如果接收到一条错误消息,告知系统是只读文件系统,那么请执行adb remount。

确定按照下面的内容更改主机文件设置:

    root@android:/ # cat /etc/hosts
    cat /etc/hosts
    127.0.0.1                 localhost
    10.0.2.2 dev.example.com
    root@android:/ # ping dev.example.com
    ping dev.example.com
    PING dev.example.com (10.0.2.2) 56(84) bytes of data.
    64 bytes from dev.example.com (10.0.2.2): icmp_seq=1 ttl=255 time=2.69 ms
    64 bytes from dev.example.com (10.0.2.2): icmp_seq=2 ttl=255 time=1.13 ms

最后,在模拟器的Web浏览器中加载本地Web服务器,从而确认相关设置。此时的本地开发工作站的主机名为dev.example.com。请确保使用你的主机名更改上面所示的命令。

2. BlackBerry

如果打算为BlackBerry设备提供应用,那么可能需要下载一个BlackBerry模拟器。BlackBerry提供了多种模拟器版本以供下载。其中大多数版本都是自包含下载。BlackBerry 10模拟器实际上就是VMWare VM。因此需要下载并安装VMWare Player来运行VM。可以从https://developer.blackberry.com/develop/simulator/下载BlackBerry 10模拟器。请按照下面的指示下载模拟器安装程序(依次搜索“Install the Simulator”和“Get the Simulator”链接),然后运行安装程序。

3. Windows Mobile

在编写本章时,已经可以从http://www.microsoft.com/en-us/download/details.aspx? id=5389下载Windows Mobile Developer Tool Kit版本6.5.3。但你只需要标准的工具包,而不是专业的程序包。

4. iOS

如果想要运行iOS(iPad和iPhone)模拟器,则必须拥有一台Mac。如果打算为iPad或iPhone构建解决方案,那么拥有一台Mac开发机是至关重要的。在编写本章时,可以从https://developer.apple.com/xcode/获取Xcode IDE。