【CSDN现场报道】10月14日-16日,“2015移动开发者大会 · 中国”(Mobile Developer Conference China 2015,简称MDCC 2015)在北京新云南皇冠假日酒店隆重举行。本次大会由全球最大中文IT社区CSDN和中国最具关注度的全方位创业平台创新工场联合主办,以“万物互联,移动为先”为主题,邀请国内外业界领袖与技术专家共论移动开发的热点,在实践中剖析技术方案与趋势。
10月14日,Xamarin实战课程在MDCC 2015移动开发者大会上举行,Xamarin技术专家、台湾资深微软技术讲师James Tsai现场详解如何用C#开发iOS Android Apps快速上手,从零开始深度教学Xamarin的运作方式、优势、使用方法等。
首先,James介绍了何为Xamarin、如何运作、有着哪些优势。在移动开发风生水起的今天,为什么开发者需要使用像Xamarin这样的跨平台应用开发工具?对此,James讲道:透过良好的设计可共享约70%的代码,而任何原生可做的都可以用C#达成,还可以与iOS或Android同一日推出更新,支持直接编译为原生机器码等。
使用Xamarin开发,iOS将以AOT的方式编译,Android以JIT方式编译,而通过Xamarin编译后产生的文件为原生平台的ARM机器码,并且,Android和iOS皆为1对1的方式对应至原生SDK。
在讲解了Xamarin知识之后,James结合Visual Studio进行了Xamarin开发案例实战操演。
private void connectButton_Click(object sender, EventArgs e) { WebClient webClient = new WebClient { Encoding = System.Text.Encoding.UTF8 }; webClient.DownloadStringCompleted = (s, eventArgs) => { String displayStr = String.Empty; if (eventArgs.Error != null) { displayStr = \”取得失败\”; } else { displayStr = \”网络上的数据为rnrn\” eventArgs.Result; } RunOnUiThread(delegate { Toast.MakeText(Application, displayStr, ToastLength.Long).Show; }); }; webClient.DownloadStringAsync(new Uri(\”http://nj.poms.baidupcs.com/file/64212f95e7dc12c370267c4db21bd321?bkt=p2-nj02-553&fid=3614594464-250528-281395175151683&time=1444747436&sign=FDTAXGERLBH-DCb740ccc5511e5e8fedcff06b081203-TJAZy/vwcRzxThT2dReijClLUcs=&to=nb&fm=Nan,B,T,ny&sta_dx=0&sta_cs=0&sta_ft=txt&sta_ct=0&fm2=Nanjing02,B,T,ny&newver=1&newfm=1&secfm=1&flow_ver=3&pkey=140064212f95e7dc12c370267c4db21bd3212ec303bf000000000270&sl=74842190&expires=8h&rt=pr&r=177283650&mlogid=6631922319043664421&vuk=3614594464&vbdid=1816272510&fin=HotelList.txt&fn=HotelList.txt&slt=pm&uta=0&rtype=1&iv=0&isw=0&dp-logid=6631922319043664421&dp-callid=0.1.1\” , UriKind.Absolute)); }
那么,在Xamarin中,是如何实现将代码共享至各个平台,再加上良好的程序架构设计,共享最多约70%左右的代码呢?James表示,主要有以下两种方式:
- 使用Shared Projects(即共享档案方式)来共享代码,并且,可以搭配条件式编译来选择每个平台要编译的代码内存块(如有需要);
- 使用可携式类库(Portable Class Libraries,简称PCL),可选择多种平台共享代码,并可搭配界面(Interface)来实现各平台上不同代码但功能相同的部分(IoC-控制反转)。
在这两种方式中,使用PCL是最简单的方法,但同时也存在一些缺点。比如,部分常使用到的类别在PCL中是无法使用的(如File、WebClient等),而有些类别可透过Nuget上下载安装取得。两种不同的方式将会影响到项目整体的架构与写法,开发者应选择最合适有效的方法。
在讲解完开发部分后,James继续讲道,使用Xamarin可以完成各个平台的开发,但UI怎么办?每个平台的UI概念与设计各有不同,就拿iOS和Android来说,最简单的就是iPhone只有Home键,而Android手机却有着返回键。对此,Xamarin推出了Xamarin.Forms,用于创建跨平台用户界面。并以Xamarin.UITest来帮助开发者完成App各项UI测试。
现场合影:
更多精彩内容,请关注新浪微博:@CSDN移动,图文直播专题:2015移动开发者大会。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。