前段时间深圳APP开发公司红孩儿科技的工程师在工作机上装了Mac OS X,这主要是因为我最近需要开发iPhone应用程序。虽然Xcode,Objective C一定是开发iOS应用程序的主流,但是经过一番考虑,我还是决定尝试一下使用MonoTouch进行开发。MonoTouch是Novell公司基于开源的Mono平台构建的一套iOS开发环境,使用MonoDevelop作为代码编写工具。不过目前的MonoDevelop较之Visual Studio可谓“萤火之光比皓月之明”,甚至还有无法输入中文的低级问题。因此,至今我所有在Mono上运行的代码其实都是用Visual Studio写的,这次自然也不例外。不过,这似乎并不是件非常直接的事情……
什么是MonoTouch
Mono是由Novell提供的.NET跨平台执行环境,无论别人如何进行FUD,我使用下来对Mono的感觉很不错,自认为也有足够的理由来支持我的观点,如今无论是微软Mix大会还是社区类型的NDC 2010都有Mono的内容(尤其是后者)。在我看来,如果没有尝试过Mono就发表的猜忌就很难令人接受了。
Mono使用的授权方案允许第三方基于它上构建商业应用程序,MonoTouch便是其中的典型(还有哪些?自己看吧)。MonoTouch是Novell公司的产品,可以让开发人员在.NET环境下开发iOS应用程序(包括iPhone 4和iPad),支持最新的iOS SDK 4.1。这样.NET开发人员就可以利用现有的知识来开发iOS应用程序,如.NET 3.5中的绝大部分类库以及C# 3.0。例如,之前有同事抱怨Android里的API没法方便地使用SOAP协议(似乎iOS下也有不便),但是在MonoTouch中,一切的一切都是最常见的Add Web Services,或是用WCF的svcutil.exe便可直接生成代理。我们同样可以复用大量.NET平台下的开源类库,只要基于MonoTouch重新编译一遍就可以了。在NDC 2010中“深入MonoTouch”演讲中便演示了在MonoTouch中使用Json.NET、FlickrNet及CoolStorage三套类库的做法。
除了.NET 3.5中的类库之外,MonoTouch也提供了访问iOS API(即Cocoa Touch)的.NET接口(尤其是在UI方面)。在这方面MonoTouch不是一味地直接暴露出Cocoa Touch的功能,而是在一定程度上将它的API改写为更倾向于.NET程序员的形式。例如UIView的Frame属性为System.Drawing.RectangleF类型,而不是Cocoa Touch中原本使用的CGRect。当然,尤其是UI方面,MonoTouch还是使用了传统iOS应用程序的架构,包括它的MVC驱动方式。因此,即使您使用MonoTouch,最好也要能够看懂简单的Objective C代码,因为SDK提供的文档和大量的示例都是用它来实现的。
众所周知,Mono使用JIT(Just-in-Time)编译来执行IL代码,JIT代表了在运行时动态生成原生代码,但是iOS不允许这么做。因此,MonoTouch实际上是使用了AOT(Ahead-of-Time)编译方式,真正部署在机器上时已经是原生代码了。此外,MonoTouch还提供了一个Linker,它只会将SDK及我们自己编写的代码中,真正使用到的部分静态链接至应用程序中,这削减了应用程序的体积。从中我们可以看出,使用MonoTouch开发出来的应用程序,其实和普通使用iOS SDK开发出的应用程序并没有什么区别,都是完全独立运行的。当然,这也是因为MonoTouch将一个Runtime塞入应用程序内部的关系,这会给应用程序的体积带来大约5MB的增长,压缩后(也就是用户真正需要下载的体积)大约是3MB。
除了MonoTouch以外,用于Android开发的MonoDroid也已经进入了beta阶段,已经向一些开发人员提供试用版本了。这意味着,在不久的将来,C#及.NET类库将成为Windows Phone,iOS,Android三大移动平台上的跨平台开发工具。
如果您想了解更多关于深圳APP开发/深圳APP开发公司/深圳APP定制开发/直播APP开发等信息内容,详情请访问红孩儿科技官方网站:http://www.hhekj.com 此文章是由深圳市红孩儿信息技术有限公司原创,转载请注明信息来源。
咨询热线:赵先生:18719456473 叶先生:15999536000 段先生:13714194103
固话:0755-23610392 QQ:1678838862 QQ:1124225524
版权保护:本文为深圳红孩儿科技公司原创(翻译)文章,转载请注明来源深圳红孩儿科技公司
2019-08-21 09:47:56
2020-04-10 11:24:07
2021-08-19 15:17:56
【深圳APP定制开发】智慧园区管理APP开发为我们带来了哪些便捷?
2022-03-10 15:06:25
2017-04-18 15:01:52
2017-09-23 10:45:28
2019-08-31 14:11:29
2019-04-16 11:57:51
相关文章
RELATED ARTICLES
app开发公司属于什么行业?
app开发公司属于什么行业?由小到大说,软件开发是软件行业,信息产业,服务业。在移动互联网横行的今天,大量的用户对APP已经不再陌生,为了赶上互联网的发展,很多企业都开始着手定制计划开发属于自己的APP。
2020年制作app软件要多少钱?
2020年制作app软件要多少钱?根据2020你那的最新数据,虽然收到疫情影响,app开发热度也丝毫不减。开发一款APP软件,需要考虑的因素很多,界面功能简单和界面复杂的app开发起来也是两个价格,少则十万以下,多则就上百万,主要还是根据功能需求和开发周期来定。
三分钟带你了解智能硬件APP开发小知识
随着5g和物联网技术的发展,各种智能家居,智能穿戴设备等走入人们生活,给大家带来更加智能,舒适的的生活。而智能设备一般是通过智能APP来实现集中控制管理的。所以,智能硬件的开发,绕不开智能APP开发的这道坎,这对很多APP开发公司来说,是一次挑战也是机遇。现在,深圳红孩儿科技就带大家了解一下智能硬件APP开发的小知识。
深圳APP开发公司红红孩儿信息技术开发球衣APP
您想了解更多关于深圳APP开发,深圳APP开发公司,深圳APP定制开发,直播APP开发|APP开发公司|人工智能|AI等信息内容,详情请访问红孩儿信息技术网站:http://www.hhekj.com
深圳APP定制开发公司开发记账APP
您想了解更多关于深圳APP开发,深圳APP开发公司,深圳APP定制开发,直播APP开发|APP开发公司|人工智能|AI等信息内容,详情请访问红孩儿信息技术网站:http://www.hhekj.com
深圳APP开发车之讯APP
您想了解更多关于深圳APP开发,深圳APP开发公司,深圳APP定制开发,直播APP开发|APP开发公司|人工智能|AI等信息内容,详情请访问红孩儿信息技术网站:http://www.hhekj.com
深圳APP开发婚庆APP
深圳APP开发行车记录仪APP
如果您想了解更多关于深圳APP开发,深圳APP开发公司,深圳APP定制开发,直播APP开发|APP开发公司|人工智能|AI等信息内容,详情请访问红孩儿科技网站:http://www.hhekj.com
使用我方自主研发的技术在后期可以节省很大一笔费用,在外面都是要接入sdk接口会产生很大一笔费的,有兴趣的来咨询。