Xamarin 是一个容许开发人员有效建立可跨 iOS、Android、Windows 应用程序的开发工具集。Xamarin是免费且开源的,遵循 MIT (麻省理工学院许可证)协议,在github上的地址为:https://github.com/xamarin 。官方网站为:http://xamarin.com html
简单的来讲,Xamarin 使咱们可使用 C#,F#,VB.NET 等语言开发原生 iOS、Android、Windows 应用程序。android
开发一个传统的移动开发程序都会有一些流程。好比像打开IDE,拖一些控件,编写逻辑,而后测试,发布。这些很是简单一两个小时就能够折腾完成。 ios
可是,若是要开发一些大型的,商业级的移动应用程序就须要一些专业的开发流程。好比需求分析,UX 设计,UI 设计,开发,可用性测试,性能测试,以及数以千计的设备进行测试,再使用不一样部署方式完成部署。git
建立 UX 原型时,须要考虑应用所面向的各类平台的界面指南,这一点十分重要。github
iOS 使用左滑编辑,Android 使用长按弹出编辑框,不一样平台的设计语言都有差别。编程
设备有不一样的规格,平板,手机,尺寸等,设备也须要进行适配。架构
肯定了 UX 以后,下一步是建立 UI 设计。 虽然 UX 一般只是黑白原型,不过在 UI 设计阶段中会引入并最终完成颜色、图形等。 在良好的 UI 设计上花费时间是很是重要的,一般状况下,最受欢迎的应用具备专业的设计。
与 UX 同样,务必要了解每种平台都具备本身的设计语言,所以设计良好的应用程序在每种平台上的外观可能仍有所不一样。框架
肯定了 UI 以后,下一步就是开发。iOS,Android,Windows 分别须要使用不一样的语言或编程方式进行实现,所以须要三种不一样的开发人员,来承担特定平台的开发任务。工具
测试是应用获得交付过程当中一个重要的环节,一个没有通过测试的应用,质量是很可贵到保障。因此尤其关键。传统开发过程当中,各个平台下单元测试,集成测试,性能测试都是不一样的实现细节。所以跟传统开发类似,一样也须要三种平台的测试人员角色,来承担特定平台的测试任务。性能
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 经过 .NET标准库实现业务逻辑层,模型层,服务访问层,数据访问层,接口层,数据层。一套代码被不一样平台引用。即:多个项目共享代码,重构操做始终更新全部受影响的引用。
下图是 使用 Xamarin Native 和 使用 Xamarin Forms 开发同一宽App的代码对比示意图:
很显然使用Xamarin Forms 技术进行跨平台应用开发,将共享代码比率提高20%,达到很是恐怖的95%。
参考资料:
[1] Xamarin官方英文文档 来源:https://docs.microsoft.com/en-us/xamarin/
若是你以为本篇文章对您有帮助的话,感谢您的【推荐】。
若是你对 .NET 或 Xamarin 有兴趣的话能够关注我,我会按期的在博客分享个人学习心得。
本文地址:http://www.cnblogs.com/hexu6788/p/9916038.html
做者博客:何旭
欢迎转载,请在明显位置给出出处及连接