前段时间深圳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
版权保护:本文为深圳红孩儿科技公司原创(翻译)文章,转载请注明来源深圳红孩儿科技公司
2017-07-11 11:38:41
2018-01-25 09:25:14
2018-06-07 09:19:17
2018-11-03 10:50:25
2019-12-06 14:02:56
2020-09-21 11:36:41
2017-06-02 09:52:48
2017-06-15 10:46:22
2017-07-01 09:26:06
2019-02-22 09:56:28
2017-04-22 11:54:01
2018-08-02 10:25:05
相关文章
RELATED ARTICLES
[深圳app定制]自己做一个app难吗?
[深圳app定制]自己做一个app难吗?互联网现在已经进入了成千上万的家庭,并且作为第一批移动互联网产品,APP现在非常普遍。 各行各业都有自己的APP,甚至改变了人们的生活方式。 随着时代的发展,APP开发仍有很多机会。
实时视频监控app开发维护社会安全
实时视频监控app维护社会安全。为了维护社会稳定和平发展,有关执法部门需要及时查明异常事件发生的时间,并迅速赶到现场处理。因此,基于摄像机的实时视频监控app在各种实际生活中得到了广泛的应用。
[深圳手机app开发]跨境电商APP软件的好处是什么?
[深圳手机app开发]跨境电商APP软件的好处是什么?随着跨境电商试点城市的开放,在政策支持及市场推动下,跨境进口如火如荼开展。如何开发一个既能满足消费者便捷购物,又能满足商家高效管理及社交分销,还能对接海关+物流/保税仓+支付做三单对碰的商城(小程序/原生APP/H5微信商城)......
谁清楚手机app如何开发的?
谁清楚手机app如何开发的?给自己开发一个专属的手机APP,在移动互联网下手机是必备的载体和终端,那么手机APP也就显得尤为重要,开发手机app也成为很多企业和创业者的重要布局。
找app开发公司开发短视频app的注意事项。
找app开发公司开发短视频app的注意事项。因为近几年抖音、快手等短视频的火爆,使视频行业,不管是电影、微电影、短视频也兴盛起来。像APP、小程序这种移动端,受众群体占了很大的比例。
【深圳app开发公司】浅谈直播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
使用我方自主研发的技术在后期可以节省很大一笔费用,在外面都是要接入sdk接口会产生很大一笔费的,有兴趣的来咨询。