订阅移动开发RSS CSDN首页> 移动开发

【MDCC 2015】实战Xamarin:用C#开发iOS、Android Apps快速上手

发表于2015-10-14 13:00| 次阅读| 来源CSDN| 0 条评论| 作者唐小引

摘要:10月14日,Xamarin实战课程在MDCC 2015移动开发者大会上举行,Xamarin技术专家、台湾资深微软技术讲师James Tsai现场详解如何用C#开发iOS Android Apps快速上手,从零开始深度教学Xamarin的运作方式、使用方法等。

【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的运作方式、优势、使用方法等。


图:Xamarin技术专家、台湾资深微软技术讲师 James Tsai

首先,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 = "网络上的数据为\r\n\r\n" + 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%2FvwcRzxThT2dReijClLUcs%3D&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表示,主要有以下两种方式:

  1. 使用Shared Projects(即共享档案方式)来共享代码,并且,可以搭配条件式编译来选择每个平台要编译的代码内存块(如有需要);
  2. 使用可携式类库(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移动开发者大会

【热门活动】现购两套Xamarin产品即赠iPhone 6S或Apple Watch,详情访问CSDN软件商城:http://mall.csdn.net/product/500

咨询专线:010-57410251

0
0
  • CSDN官方微信
  • 扫描二维码,向CSDN吐槽
  • 微信号:CSDNnews
程序员移动端订阅下载

微博关注

相关热门文章