林泰宏在MDCC 2013中国移动开发者大会上发表了名为“移动跨平台开发一步到位”的演讲,分享了移动应用开发过程中遇到的挑战以及如何利用Xamarin平台进行高效的跨平台应用开发。Xamarin 是一款由微软支持的跨平台移动应用开发工具,它可以使用C#语言编写并编译成原生代码,适用于iOS、Android和Windows平台。
在移动应用开发中,企业面临的挑战之一是平台众多且屏幕尺寸各异。由于需要为不同平台开发应用程序,如果采用委外开发或者自行培养开发团队的方式,将会面临高昂的成本和复杂的维护问题。Xamarin 提供了在单一开发环境中同时为iOS和Android等平台编写应用程序的能力,极大地降低了开发者的劳动强度和开发成本。
Xamarin 的运作机制包括直接针对iOS和Android的SDK进行一对一的编程,iOS平台通过AOT(Ahead of Time)编译技术将代码直接编译为ARM机器码,而Android平台则通过JIT(Just In Time)编译技术编译代码。这样可以确保在不同平台上共享尽可能多的代码,而只有与平台相关的部分才需要重写。
Xamarin 的优势在于,任何原本在Objective-C或Java中可以做的事情,都可以用C#语言来完成。开发周期的实时更新能力意味着Xamarin能够与Apple同步更新iOS SDK版本,保证开发者能够使用到最新的技术。此外,Xamarin的编译机制确保了应用程序在执行时期的性能表现优异。
Xamarin 与Visual Studio 2010/2012/2013以及TFS(Team Foundation Server)的高度整合,为开发人员提供了一个成熟的生态系统,使得应用的版本控制、测试和部署变得更加流畅。
MonoProject的历史回顾显示了Xamarin的前身,也就是Mono的演进,包括从2001年开始,直至2012年C# 5.0的推出。MonoProject在2001年首次在O'Reilly conference上发表,随后的几年中,C#语言的各个版本都得到了支持,以及专门针对iOS的MonoTouch和Android的MonoforAndroid的支持。
在移动跨平台开发的最佳实践方面,林泰宏介绍了如何使用Visual Studio开发Android及iOS应用。在API调用方面,可以利用.NET 2.0的SOAP,WCF以及RESTful服务等技术来实现对WebService的访问。
林泰宏在演讲中也提到了.NET框架中的LINQ(Language Integrated Query),以及如何使用EasyXML进行XML的解析,利用Lambda表达式简化代码,以及使用PLINQ(Parallel LINQ)进行并行编程,来提升应用程序的性能和响应速度。
通过Xamarin,开发者可以一次性编写应用程序并编译成多个平台的原生代码,这使得“移动跨平台开发一步到位”成为可能。林泰宏通过实际的开发实例代码,向与会的开发者展示了如何利用Xamarin进行高效的移动应用开发。