【技术贴】聊聊ArcGIS Runtime for Xamarin

聊聊ArcGIS Runtime for Xamrin

ArcGIS Runtime forXamarin是 Runtime Quartz系列的新成员,至此Quart系列拥有了7个产品,今天要聊ArcGIS Runtime SDK for Xamarin就必须先提一下 Xamarin,对于Xamarin 他的读法是 [zæmərɪn],可能很多人对他都很陌生,不知道是做什么,怎么会和ArcGISRuntime 扯上关系,在这里我给大家梳理一下。

什么是Xamarin

其实Xamarin并不是一个新的技术,Xamarin始创于2011年,旨在用C#开发跨平台移动应用,使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的原生应用开发,包括iOS、Android、WindowsPhone和Mac App。Xamarin由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与·NET框架的开源、跨平台实现。如今已经成为是世界上知名的跨平台开发软件工具,遍布120个国家,客户超过15000家知名企业。


之前用Xamarin开发Android ,iOS 等应用确实挺吸引众多C#开发者,但是由于其高昂的开发者账号价格,让很多人望而却步,不过现在想要用Xamarin的开发者是赶上好时候了,微软于今年2月份以5亿美元收购了Xamarin,并且在今年的微软Build2016大会上 劲爆性的宣布Xamarin 全面开源,免费,跨平台,将Xamarin集成到VS2015 中,同时提供Android,iOS模拟机,以及方便的云平台测试调试环境。这将意味着凡是苹果,android, linux,Iot ,Hololens设备上都能运行C#代码,这是非常强大可怕的威力。


Xamarin 嫁给了微软,迅速成为了微软体系结构主打产品之一,动作之大,行动之迅速。很明显传递出了一个微软将大力支持的信号,相信未来一定会更好。

 

 

跨平台,Xamarin 是这样做的

无论是企业还是个人跨平台方案在实际工作中都是十分迫切的,目前众多的跨平台方案中,使用Html,Web是通常的做法,但是这种性能通常比较慢,使用Qt跨平台需要会开发者会c++,所以Xamarin就脱颖而出,因为Xamarin就是天生的移动跨平台方案,拥有众多优势不言而喻。

Xamrarin 跨平台方案有俩种,一般的Xamarin解决方案,和Xamarin form,

看下面的图,简单的说就是一般的Xamarin解决方案只可以共享数据层和业务的代码,UI的需要做专门的原生定制,也就是说数据层,服务层,业务层是一套代码,但是UI是三套原生的UI界面。

 

通过实践Xamarin UI层不能共享其实对提高的开发效率,代码维护的工作量还是没有达到理想的状态,鉴于此Xamarin推出Xamarin Forms 解决方案,该方案简直是从头到脚的共享,非常赞。

Xamarin带来的好处再上一张图,


说了以上这些是不是有朋友想跃跃欲试,那需要有什么的技能才能开发Xamain呢,还是上一张图,


就是这么简单,Android 的界面Xml 文件基本不用改一点代码,直接拷贝到Xamarin里,就能用,简直无缝开发迁移。

ArcGIS Runtime 与 Xamarin

都说娱乐圈比较乱,IT也不含糊,这不ArcGIS Runtime 在微软2月份收购Xamarin后,也迅速和Xamrain好上了,3月份推出了ArcGIS Runtime SDK for Xamain 技术预览版,6月份推出Beta1,

至此ArcGIS Runtime 借助Xamarin跨平台的能力,完全实现了用C#开发Android和iOS应用,甚至是跨平台应用。

 

值得一提的Xamarin版本是Runtime Quartz 7个版本系类里第二个支持3D的版本,虽然他出现的最晚。为什么他会这么强大呢,其实结合我今天介绍的简单一想就知道了,第一个支持3D的版本是ArcGIS Runtime for .Net , 而Xamain几乎可以使用现.Net平台上的所有技术,故它是第二个支持也是顺理成章的事情。

ArcGIS Runtim for SDKfor Xamarin API 方面其实与.Net 版本并无太大出入,下面俩张图一张是Xamarin的API,一张是.Net的API。

 


ArcGIS Runtime forXamarin 功能方面,下图这些传统的Runtime功能自然不在话下


而且还支持最新的移动地图包(mmpk),矢量切片,流畅的3D:

移动地图包,注:在ArcGIS Pro 里将数据的符号配置好了以后,生成移动数据包,移动端一行符号渲染代码都不用写,就可以呈现出ArcGIS Pro 设置好的配色方案,相当于把Pro 看做一个可视化的配置符号化界面,是不是很爽,强烈推荐。

 

矢量切片的支持也毫无压力。


经过测试Xamarin版Runtime 3D 展现也非常给力,下图分别是法国弗雷斯特军港和倾斜摄影一个教堂。

 

为什么ArcGIS Runtime 可以开发Hololens应用

回答这个问题其实很简单。Hololens是微软的增强现实黑科技AR(Augmented Reality) ,而ArcGIS Runtime 首字母缩写是AR,所以就可以开发,是这样的吗?答案当然不是,这或许是一种巧合。正确的原因是Hololens上运行的应用程序是UWP程序,而ArcGIS Runtime 可以开发UWP程序,ArcGIS Runtime的UWP API 是六月份新出的,所以能借助Hololens能开发AR也是水到聚成的事情。(对UWP不了解,请百度)

ArcGIS Runtime SDKfor Xamarin 版本发布日程表,目前是Beta1,2016年第三季度会发第一个商业正式版,在期待几个月吧。

 

结束语,ArcGIS Runtime forXamarin用一句话概括就是,可以使用C#开发ArcGIS 跨平台的移动产品,移动端产品其实并不只是Android ,iOS手机应用,还可以包括苹果手表,苹果电视,Android 手表,电视,Pad,Surface,智能头盔,眼镜,甚至是Iot。未来是移动的时代,物的时代,也是Xamarin的时代。

前段时间建立一个 ArcGIS移动跨平台 Xamarin QQ群 422645517,欢迎加入学习讨论。


 

展开阅读全文

没有更多推荐了,返回首页