2011年3月10日星期四

ArcGIS API for Windows Phone开发实例(0):为什么选择Windows Phone?

为什么要了解Mobile GIS?

  GIS技术固然有自己独特的理论知识,但GIS的实际应用离不开IT技术,GIS应用的发展离不开主流IT技术的发展。上面这句话我们可以看做一条公理,公理是不需要证明的。GIS技术的应用,从C/S到B/S,从SOAP到REST,从SOA到云,都印证了这条公理。
  从台式机到笔记本,从上网本到平板电脑和遍地开花的智能手机,移动不仅是IT技术的发展趋势之一,也是所有硬件的发展趋势。
  综上所述,作为GISser的你,没有理由不了解Mobile GIS技术。

ArcGIS移动产品线

  为什么要学习ArcGIS API for Windows Phone?从两个角度来回答:ArcGIS和Windows Phone。ArcGIS目前有5种移动产品,所有产品的介绍,帮助,下载详见这里

  • ArcPad。这是一个开箱即用的软件产品,基于Windows Mobile平台,最新版本是ArcPad 10(支持Windows Mobile 6.5)。特点是数据采集精度高(可到分米级),支持并推荐采用完全离线作业方式,包含丰富的GIS功能,比如图形(有捕捉功能)/属性/符号编辑,图层管理等,界面类似ArcMap,适合GIS专业人员使用,可通过界面或脚本语言进行定制。由于推出早(历经5.X,6.X,7.0,7.1,8.0.10几个版本),功能实用而丰富,收到广大用户青睐,目前全球用户超过100,000。
  • ArcGIS Mobile。是目前ArcGIS应用最广的移动产品之一,基于Windows Mobile平台,最新版本是ArcGIS Mobile 10.0(支持Windows Mobile 6.5)。特点是拥有自己的离线缓存格式,可完全离线使用,也可与ArcGIS Server随时进行各种粒度的缓存同步;基于任务模式,由工作流驱动,非GIS人员可以很快上手;可进行离线数据编辑,属性/空间查询,外业人员协作等任务;具有丰富的定制功能,并提供功能全面的SDK可进行二次开发。软件历经9.2,9.3,9.3.1,10.0几个版本,在国内拥有广大的用户群体。
  • ArcGIS for iOS。包括一个开箱即用的应用程序(ArcGIS for iOS Application,可在App Store中免费下载)和提供二次开发功能的ArcGIS API for iOS。基于苹果公司的iOS系统,可在iPhone,iPad,iPod Touch产品上运行。最初于2010年4月发布,目前应用程序和API版本是1.8。
  • ArcGIS for Windows Phone。包括一个开箱即用的应用程序(ArcGIS for Windows Phone Application,可在MarketPlace中免费下载)和提供二次开发功能的ArcGIS API for Windows Phone。基于微软公司的Windows Phone系统,可在基于该系统的手机上运行。最初于2010年9月发布,目前应用程序和API版本是2.2 beta。
  • ArcGIS for Android。基于Google公司的Android系统。目前ArcGIS API for Android处于public beta阶段,可在ArcGIS Beta Community中免费申请试用。正式版推出后,应该也会有开箱即用的应用程序,照惯例可通过Android Market免费下载。最初与2010年10月内测,今年2月底开始公测。


  以上三个产品(ArcGIS for iOS,ArcGIS for Windows Phone,ArcGIS for Android)是ArcGIS新一代的移动产品,就目前版本而言,大部分功能都是基于ArcGIS Server所发布的地图服务来使用(需要网络环境支持),包括地图操作,GraphicsLayer/FeatureLayer支持,各种Task(Identity/Query/Find/GeoProcessing等)的使用等。可以看出,这三种移动产品与ArcGIS客户端API(ArcGIS API for Javascript/Flex/Silverlight)所提供的功能基本一致,因此它们的概念和开发方式与三种客户端API无异。大家可能比较关心这三种API的离线使用方式,目前来说,理论上可以实现离线使用,但需要自己进行开发定制,可参考iOS中自定义图层的例子。以后的版本中肯定会加入离线模式,但目前无法给出具体的时间表。

为什么选择Windows Phone?

  现在最流行的手机操作系统有三种iOS,Android和Windows Phone。关于这三种操作系统究竟谁好谁坏,仁者见仁,每个人都有自己的答案。如果你是苹果的忠实粉丝,那么你可能对Android或Windows Phone系统不屑一顾,没关系,Android和Windows Phone用户也是这么想的。简单介绍一下。
  iOS。苹果公司的操作系统,用于其所有移动设备之上(iPhone/iPad/iPod Touch)。操作体验极好,界面华丽(容易吸引mm和领导),应用程序丰富;软硬件环境统一,用户群体相对固定,忠实度高;开发使用Objective C语言,难度相对较大。
  Android。Google公司的手机操作系统。07年底推出,占有率迅速上升,目前是市场占有率最高的智能手机系统。系统本身基于Linux,开源(软件版本多,定制版本多);集成google各种产品,包括gmail,gtalk,latitude等;应用软件丰富,用户群体广泛,以google的忠实用户为代表;开发基于Java语言。
  Windows Phone。微软公司2010年10月推出的新一代移动操作系统,用以取代即将被淘汰的Windows Mobile。不同于封闭的iOS和稍显混乱的Android,它的硬件环境统一,操作体验好;MarketPlace在不到半年的时间里,应用程序已达10,000个(我写文章这会是9643个);目前的生产厂商有HTC,Dell,三星,LG,还有即将加入的Nokia。
  你可能有很多理由不选择微软,但不管你喜欢不喜欢,它就在那里,不离不弃。这里给出选择Windows Phone的几个理由,供参考。
  1、微软的云+端战略。Windows Azure是微软自己的云平台,至于它的优劣,可以自己搜索。但有一点是肯定的,这是微软不惜重金打造的战略平台,在未来数年内会主导微软其他产品的发展方向,而微软也会不遗余力的推广它。端是指客户端,包括电脑,电视和移动端的手机,也就是Windows Phone了,所以其推广和宣传力度可知。
  2、Windows Phone上有两种开发架构,Silverlight和XNA。Silverlight和WPF是微软下一代的开发技术,而XNA是微软XBOX平台上的游戏开发技术。也就是说,不论是Silverlight的程序还是XNA的程序,基本上拿来就可以在Windows Phone上运行,效果不打折扣,这得益于微软统一的平台策略。给我们带来的直接好处就是,对于熟悉Silverlight或WPF的同学来说,Windows Phone的开发门槛几乎为零,而这两者所能够实现的功能,大家也是有目共睹,毋庸置疑。
  3、Windows Phone的娱乐性。XNA开发出的游戏得到了全球资深游戏玩家的一直认可,因为主流游戏平台就是PC+XBOX+PlayStation。如果你看过去年微软TechEd上Windows Phone的游戏演示(点这里),那你一定不会再留恋iOS上的极品飞车了。

讲座内容

  本系列文章内容以去年微软TechEd上的演示demo为例,从零开始,教你一步步完成这个Windows Phone应用程序实例。如果你学习过ArcGIS API for Silverlight,那么很好,你会在这里学到有关Windows Phone的开发知识;如果没学过,也没关系,本系列也会再次讲解API中所有的相关概念和内容。
  每篇文章内只提供相关代码和说明,希望在学习的过程中大家多思考为什么,而不是简单追求拷贝粘贴看效果。好了,该说的也都说了,如果你选择继续信任并使用Windows Phone,请继续关注;如果你对ArcGIS API for iOS感兴趣,请看barry.z的系列教程,如果你对ArcGIS API for Android感兴趣,请看牛魔王的系列教程

没有评论:

发表评论