仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4536|回复: 20
打印 上一主题 下一主题

[学习教程] IOS制作之Xamarin:利用C#移植Android操纵体系仓酷云

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:43:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
NSStringNSArrayNSDictionary等这些工具在所有的框架里都会出现iOS大部分类都是继承自NSObject(我还没见过不是继承自NSObject的..)Oracle和Google针对Android中Java的专利成绩激战正酣,与此同时Xamarin正在实验利用C#移植Android操纵体系,完整交换个中的Java代码。固然这Xamarin标明这不会是公司的次要营业,但这仍然会是一个非常风趣的实验,而且关于其拳头产物之一,MonoforAndroid的进一步开展也会有很好的匡助。
Xamarin的前身是Novell公司的Mono团队,客岁从Novell中剥离出来,并具有关于Mono一切的专利及常识产权,其主业务务也是环绕Mono举行的跨平台使用开辟,掩盖iOS(iPhone/iPad),Android等支流挪动设备。利用Mono和Xamarin的产物,开辟职员可以利用C#和.NET开辟各平台上的原生使用程序,并可以跨平台共享除界面以外的代码,削减开辟本钱。
Xamarin暗示,Java并不是是Android上开辟原生使用的独一办法,乃至也不是最好的办法,Xamarin的主力产物MonoforAndroid可让开辟职员创立更高效,更省电的使用程序。与Sun的做法分歧,微软从一入手下手就将C#和.NET假造机提交为ECMA尺度,这些尺度遵守ISO的专利答应,也遭到微软本身公布的,具有功令效率的社区答应掩盖,微软答应不会究查这些尺度中触及的专利成绩。
Xamarin团队在博客里写到:
客岁7月,当Xamarin刚建立的时分,我们在Boston调集了全部团队一同切磋iOS和Android上Mono的演进企图。某日,在停止了一天的查理士河上的皮艇举动以后,我们在饭桌上会商怎样改善Android使用程序的功能和耗电,和怎样让MonoforAndroid变得更好。
最初我们回到了底层成绩上:Dalvik仍是个年老的假造机,它没有经由Mono那样的功能调优,在受限于Java的很多功能限定的同时,也短少如OracleHotSpot那样壮大的后端优化才能。在那次晚饭中,我们的团队迸收回了一个猖狂的动机:不如将Android源代码翻译成C#吧。如许Android就能够得益于C#的高效功效,比方布局体,P/Invoke,真实的泛型,另有我们更加成熟的运转时作为后台。
固然那年7月终极甚么都没有产生,但这个动机深深地印在了我们的脑海里。
把时钟疾速向后拨几个月:MonoforAndroid已取得了使人注目的功效,因而我们再一次入手下手思索怎样改善产物在Android上的功能。假如我们把Java交换成更快的C#,以此制止Dalvik带来的各类限定又会怎样呢?我们可让一个Android手机完整挣脱Java,挣脱Dalvik假造机的限定吗?
我们以为这个点子已猖狂到值得一试了。因而,从一个小项目入手下手,我们以完全翻译Android中的Java部分至C#为方针入手下手行进。我们把这个项目称为XobotOS。
今朝XobotOS的尽年夜部分Android层已完整改写为C#,Xamarin还公然了一幅XobotOS在Linux事情站上运转的截图,个中完整没有Java的存在。
Android的中心代码包括数百万行Java代码,同时Xamarin团队但愿能够坚持同步更新——现实上XobotOS项目是从Android2.x入手下手的,直到往年在Google开源了IceCreamSandwish以后才晋级至Android4.0。因而,独一牢靠的做法仿佛只要Java到C#的主动翻译了,在这个过程当中还必要创立保护各类所需的工具。一入手下手Xamarin团队利用了Sharpen,它的出名案例之一,即是由FrankKrueger将一个JavaApplet程序主动翻译为C#代码,基于MonoTouch打造出一款出名的iOS使用iCircuit,并失掉了苹果官方的保举。Xamarin团队对Sharpen举行了很多改善,让这个Java至C#的代码转化工具变得更加成熟。今朝新版的Sharpen已随XobotOS一同公布,Xamarin团队但愿更多的人能从中赢利,并奉献出本人的力气。
关于Android是怎样从Mono下面取得比Dalvik更好的功能,Xamarin团队谈到:
微软对C#举行了一些改善,年夜年夜简化了代码优化的难度。比方它引进了值范例,下降了小型对象带来的开支;同时虚办法不再默许启用,这下降了假造机的功能优化难度。更进一步的是,Java和C#在泛型完成体例上各奔前程,Java接纳了完整向前兼容的做法,而C#在运转时上构建了撑持。C#的做法更加易懂易用,也更加高效和完整。
从当时起,两种言语和实行情况都在精益求精。C#底本只是一门“稍稍优于”Java的言语,现在二者的差异何止以千里计。从静态编程,到引进异步撑持,另有迭代器,函数式编程组件,拥抱并行化,以致泛型的优异完成。个中大批的功效来自于DonSyme的的研讨,他的F#小组还在持续引领言语开展的新思绪。
更主要的是,Mono作为一个假造机也更加成熟,在已往的十年里举行着不休地改善,如今可谓履历了第八代的优化了。

<br>
Xamarin以为这些都是影响功能的要素。比方,因为布局体和泛型的影响,一个复杂的二叉树功能测试即可以看出Java和C#二者间存在明显的功能不同:

<br>
Xamarin公布,他们已在GitHub上公然了XobotOS的源代码,任何人能够自在实验。不外他们也谈到,公司的方针是供应最好的挪动使用开辟平台,因而XobotOS不会是公司的重心,不外这仍然是一次非常风趣的体验,一些手艺产出也能够融进将来的产物以内,比方:



  • 间接会见Skia图形引擎:今朝MonoforAndroid经由过程Java来会见上层图形类库,而经由过程XobotOS中的代码,即可以跳过这其中间人,利用Mono的P/Invoke手艺间接会见Skia的原生衬着代码。
  • Java到C#的转换工具:新版Sharpen已随XobotOS一同公布。
  • 将Java代码交换为C#代码:关于一些功能敏感的部分,可使用C#来取代Java以调换更好的效力,这个研讨项目标一些特征将会融进将来的产物傍边。
Xamarin创立XobotOS研讨项目标目标,一是好玩,二是对产物有实其实在的收益。他们暗示:
关于一个创业公司来讲,专注当然主要,但偶然候也必要实验一些猖狂的设法来推进本身行进——说不定有一天,Google也会感激我们呢!
更多有关Mono的信息,请会见InfoQ上的具体内容。
网名为老赵,洋名JeffreyZhao,写有手艺博客“老赵点滴”。存眷前沿手艺,并努力于开源社区与微软平台的组合优化。

关于UIView的子类有很多UIButtonUITableView这个都需要各个击破看看文档从名字上就很容易理解是做什么的UIViewController是管理View和Model的类(@张开说UIViewController是用来管理view的,管理model的类自己写,当然,model也可以用UIViewController来管理,不过恐怕成为不好的代码。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-21 13:12:27 | 只看该作者
自从苹果公司开放iOS SDK以来,大量的国内外的软件开发者将关注的目光聚集在苹果的iOS平台上。由于iPhone和iPad自一出现就给人带来了颠覆性的感觉
活着的死人 该用户已被删除
板凳
发表于 2015-1-30 19:00:30 | 只看该作者
特别是在校的学生,都存在一个小小的尴尬——虽然学习iOS开发的热情高涨,但由于没有多余的银子购买昂贵的Mac电脑而踟蹰不前。其实,针对初学者,如果想进入iOS开发的天地
乐观 该用户已被删除
地板
发表于 2015-2-6 15:03:47 | 只看该作者
同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。
柔情似水 该用户已被删除
5#
发表于 2015-2-6 15:04:02 | 只看该作者
到大三时,学院与我去培训的机构成立了实习基地,并让我们寒假去实习了一段时间,感觉还不错,于是在大四的时候去培训了
因胸联盟 该用户已被删除
6#
发表于 2015-2-12 06:41:45 | 只看该作者
iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
蒙在股里 该用户已被删除
7#
发表于 2015-3-2 23:37:41 | 只看该作者
培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。
海妖 该用户已被删除
8#
发表于 2015-3-5 08:23:06 | 只看该作者
其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。
透明 该用户已被删除
9#
发表于 2015-3-12 02:03:49 | 只看该作者
重要的是,放眼全球也的确找不到第二个如苹果iOS平台这样健壮、完整、先进而且为开发者带来真实收益的开发平台来。
愤怒的大鸟 该用户已被删除
10#
发表于 2015-3-12 06:12:42 | 只看该作者
培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。
简单生活 该用户已被删除
11#
 楼主| 发表于 2015-3-13 11:08:37 | 只看该作者
开始的时候甚至想放弃,不过想想自己的未来,只能咬牙坚持,课下就不停的缠着老师。放学就补基础,这些基础的东西没有速成的,只有刻苦努力。我是后来发现的,转变自己的心态,不要读书看资料当成一种痛苦
若相依 该用户已被删除
12#
发表于 2015-3-20 19:13:46 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
小妖女 该用户已被删除
13#
发表于 2015-4-12 05:22:55 | 只看该作者
看《iPhone 4与iPad开发基础教程》,跟着一步步来
山那边是海 该用户已被删除
14#
发表于 2015-4-15 06:25:10 | 只看该作者
看《iPhone 4与iPad开发基础教程》,跟着一步步来
飘飘悠悠 该用户已被删除
15#
发表于 2015-4-21 14:34:48 | 只看该作者
在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。
不帅 该用户已被删除
16#
发表于 2015-4-23 18:38:37 | 只看该作者
近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,
变相怪杰 该用户已被删除
17#
发表于 2015-5-3 12:53:09 | 只看该作者
中国如今已然发展成为一个软件大国,软件人才的数量跃居全球之首。当然,在苹果平台的开发领域,也保持了相当强劲的发展势头。然而,很多初入iOS开发门槛的开发者,
分手快乐 该用户已被删除
18#
发表于 2015-6-12 19:31:04 | 只看该作者
看完这个你就可以有多种选择来踏入做应用的阶段
爱飞 该用户已被删除
19#
发表于 2015-6-13 17:14:29 | 只看该作者
AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
若天明 该用户已被删除
20#
发表于 2015-7-3 01:17:05 | 只看该作者
从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-26 19:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表