快速开发跨平台应用之Xamarin技术
Xamarin 介绍
Xamarin 是一个允许开发人员有效创建可跨 iOS、Android、Windows 应用程序的开发工具集。Xamarin是免费且开源的,遵循 MIT (麻省理工学院许可证)协议,在github上的地址为:https://github.com/xamarin 。官方网站为:http://xamarin.com
简单的来说,Xamarin 使我们可以使用 C#,F#,VB.NET 等语言开发原生 iOS、Android、Windows 应用程序。
传统移动开发流程
开发一个传统的移动开发程序都会有一些流程。比如像打开IDE,拖一些控件,编写逻辑,然后测试,发布。这些非常简单一两个小时就可以折腾完成。
但是,如果要开发一些大型的,商业级的移动应用程序就需要一些专业的开发流程。比如需求分析,UX 设计,UI 设计,开发,可用性测试,性能测试,以及数以千计的设备进行测试,再使用不同部署方式完成部署。
创建 UX 原型时,需要考虑应用所面向的各种平台的界面指南,这一点十分重要。
iOS 使用左滑编辑,Android 使用长按弹出编辑框,不同平台的设计语言都有差异。
设备有不同的规格,平板,手机,尺寸等,设备也需要进行适配。
确定了 UX 之后,下一步是创建 UI 设计。 虽然 UX 通常只是黑白原型,不过在 UI 设计阶段中会引入并最终完成颜色、图形等。 在良好的 UI 设计上花费时间是非常重要的,通常情况下,最受欢迎的应用具有专业的设计。
与 UX 一样,务必要了解每种平台都具有自己的设计语言,因此设计良好的应用程序在每种平台上的外观可能仍有所不同。
确定了 UI 之后,下一步就是开发。iOS,Android,Windows 分别需要使用不同的语言或编程方式进行实现,因此需要三种不同的开发人员,来承担特定平台的开发任务。
测试是应用得到交付过程中一个重要的环节,一个没有经过测试的应用,质量是很难得到保障。所以尤为关键。传统开发过程中,各个平台下单元测试,集成测试,性能测试都是不同的实现细节。因此跟传统开发相似,同样也需要三种平台的测试人员角色,来承担特定平台的测试任务。
Xamarin 架构
Xamarin 的核心包含以下及部分:
xamarin-android : 提供 Android SDK的原生开发包,用.NET托管语言如C#,F#等可以进行 Android 应用程序开发。github地址为:https://github.com/xamarin/xamarin-android
xamarin-macios : 提供 Mac,iOS,tvOS和watchOS的原生开发包,用.NET托管语言如C#,F#等可以进行 Mac,iOS,tvOS和watchOS 应用程序开发。github地址为:https://github.com/xamarin/xamarin-macios
Xamarin.Forms : 提供完整的跨平台UI工具包。用C#可以进行完全原生的 Android,iOS 和通用Windows平台应用程序开发。github地址为:https://github.com/xamarin/Xamarin.Forms
通过Xamarin 能减少应用程序总代码量
从上图我们看到,Xamarin 通过 .NET标准库实现业务逻辑层,模型层,服务访问层,数据访问层,接口层,数据层。一套代码被不同平台引用。即:多个项目共享代码,重构操作始终更新所有受影响的引用。
Xamarin Forms 将共享代码量提升为95%
下图是 使用 Xamarin Native 和 使用 Xamarin Forms 开发同一宽App的代码对比示意图:
很显然使用Xamarin Forms 技术进行跨平台应用开发,将共享代码比率提升20%,达到非常恐怖的95%。
总结
如果你觉得本篇文章对您有帮助的话,感谢您的【推荐】。
如果你对 .NET 有兴趣的话可以关注我,我会定期的在博客分享我的学习心得。
本文地址:http://www.cnblogs.com/hexu6788/p/9921518.html
作者博客:何旭
欢迎转载,请在明显位置给出出处及链接