实战Xamarin:用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:用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:用C开发iOS、Android Apps快速上手(xamarin开发教程)

在讲解了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表示,主要有以下两种方式:

  1. 使用Shared Projects(即共享档案方式)来共享代码,并且,可以搭配条件式编译来选择每个平台要编译的代码内存块(如有需要);
  2. 使用可携式类库(Portable Class Libraries,简称PCL),可选择多种平台共享代码,并可搭配界面(Interface)来实现各平台上不同代码但功能相同的部分(IoC-控制反转)。

实战Xamarin:用C开发iOS、Android Apps快速上手(xamarin开发教程)

在这两种方式中,使用PCL是最简单的方法,但同时也存在一些缺点。比如,部分常使用到的类别在PCL中是无法使用的(如File、WebClient等),而有些类别可透过Nuget上下载安装取得。两种不同的方式将会影响到项目整体的架构与写法,开发者应选择最合适有效的方法。

在讲解完开发部分后,James继续讲道,使用Xamarin可以完成各个平台的开发,但UI怎么办?每个平台的UI概念与设计各有不同,就拿iOS和Android来说,最简单的就是iPhone只有Home键,而Android手机却有着返回键。对此,Xamarin推出了Xamarin.Forms,用于创建跨平台用户界面。并以Xamarin.UITest来帮助开发者完成App各项UI测试。

实战Xamarin:用C开发iOS、Android Apps快速上手(xamarin开发教程)

现场合影:

实战Xamarin:用C开发iOS、Android Apps快速上手(xamarin开发教程)

更多精彩内容,请关注新浪微博:@CSDN移动,图文直播专题:2015移动开发者大会。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月20日 上午8:13
下一篇 2024年5月20日 上午8:25

相关推荐

  • 光明区探索特殊工时管理制度改革,为科学城企业提供精细化服务

    近日,光明区人力资源局即时办理深圳市神经科学研究院不定时工作制申请,标志着特殊工时管理制度改革试点在光明科学城正式落地。特殊工时管理制度改革将为科研企业用工管理提供精细化服务,保障…

    2022年5月16日
    394
  • 国家烟草专卖局关于科研项目培训

    国家烟草专卖局关于科研项目培训 科研项目培训是烟草行业提升科研能力、促进技术创新的重要手段。近年来,国家烟草专卖局一直高度重视科研项目培训,不断加强对科研项目的管理和指导,推动烟草…

    科研百科 2024年4月8日
    113
  • 党建管理平台(长沙智慧党建管理平台)_1

    智慧党建 r 党建工作是指以为的特色社会主义事业中的一项重要工作。党的组织建设、思想政治工作、群众工作、制度建设等方面的工作,都属于党建工作的范畴。近年来,随着互联网技术和信息化的…

    科研百科 2024年7月5日
    70
  • 用PCTS理念做好项目管理规划(优秀项目管理者必知)

    谈到项目管理的理念,很多人所熟知的大概是项目管理的三重约束——质量、时间和成本。每一个管理者当然都希望自己的项目可以质量好,时间花费少以及成本低,然而事实往往不尽人意,你必须选择其…

    2022年6月18日
    329
  • 深哈合作|“大疆无人机”翱翔黑土地丨深圳高科技护航“北大仓”

    螺旋桨在一望无垠的田野中荡起一层层绿色波浪,雾化的农药如轻纱般精准播撒一一这是"大疆创新"研发的T20植保无人机的最新展示。如今,黑土地已成为这项来自深圳的高科技产品的最大客户,"…

    科研百科 2024年4月2日
    99
  • 项目进度可视化管理软件

    项目进度可视化管理软件 随着现代项目管理的日益复杂和高效,项目进度可视化管理软件变得越来越重要。这些软件能够帮助项目经理和团队成员更好地监控和跟踪项目的进度,及时发现和解决问题,提…

    科研百科 2024年8月19日
    44
  • 信息系统项目管理师有含金量吗

    信息系统项目管理师是一种拥有很高含金量的职业,因为该职业的应用范围非常广泛,涵盖了信息技术项目管理的方方面面。随着信息技术的不断发展,信息系统项目管理师的需求也在不断增加。 信息系…

    科研百科 2024年8月13日
    39
  • 2024年山大物理交流项目有哪些

    2024年山大物理交流项目有哪些 近年来,随着科技的不断发展和高等教育的不断进步,山大物理交流项目也在不断地更新和扩展。在2024年,山大物理交流项目将会有哪些新的变化和突破呢?本…

    科研百科 2024年11月12日
    0
  • 软件开发的基本流程(软件开发的基本流程是什么)

    在很多人开来,软件开发主要就是开发人员的工作,只要把想法告诉他们,他们就能做出让你满意的软件。当然这种情况是存在的,但是那要么是软件比较简单、要么就是这个开发人员的综合能力非常强。…

    科研百科 2023年4月26日
    254
  • 免费进度计划软件

    免费进度计划软件 随着数字化时代的到来,进度计划软件已经成为了企业管理中不可或缺的一部分。一个好的进度计划软件不仅可以帮助企业更好地管理项目进度,还可以提高员工的工作效率。今天,我…

    科研百科 2024年5月23日
    85