iphone开发学习笔记三

来源:未知 责任编辑:智问网络 发表时间:2013-11-10 20:13 点击:

经过一段时间的学习,看文档,算是对Mac OS,Objective C有了一些基本的了解,直正要学会iphone 开发还是要通过实战。在选择开发工具,对于选择XCode+Objective C 还是用 MonoTouch 几经反复,经过激烈的心理斗争,最终选择两种都支持  . 我的目标是将地图开发包移植到 iPhone (iOS)和 Mac OS上,原始代码是Java 和 C# ,似乎选择 MonoTouch 是个正确的选择,而且事实上.Net 平台上C#代码基本上可以不用修改在MonoTouch 编译通过,移植工作量很小,似乎没什么挑战性。另外经过几周的Objective C和 Cocoa Touch学习,对于开发人员来说XCode+Objecitve C实在不是什么好用的开发环境,Objective C本质上还是C,重新回到用C写代码真是不习惯,满脑的指针又回来。。。
但用MonoTouch 基本上没什么工作量,也就不能较深入的了解iOS,另外用MonoTouch也有两个比较大的缺点:一是编译后可执行程序较大,iphone不带.Net 运行环境,MonoTouch 编译后的程序需要包含MonoTouch运行环境,我查到网上一个资料,一个简单的”Hello world”,用Objective C写,最后大约50k,而用MonoTouch大约是5M. 另一个缺点可能是致命的,不是技术上的而是来自Apple限制,Apple在新的开发者协议中明确指出在iphone写程序只能是C,C++,Objective C或是JavaScripts,有点变态的规定,尽管Apple很难强制执行这个政策,但对用MonoTouch开发iphone 4还是一个很大的风险。最终我还是决定两个都支持。其实主要是支持Objective C 接口。MonoTouch 接口支持工作量很小。
下面就说说移植的工作量,在后面的文章中陆续介绍在移植中碰到的问题及解决方法,C#和Objective C是两种异常迥异的语言,.Net Framework 和 Cocoa Touch Framework 也大不相同。移植工作是一个非常有挑战性的工作:)。
下图是引路蜂地图开发包的包之间关系图。其中绿色为对外开放的API.
所用的平台API涉及到 String, Collections ( Array, Hashtable etc) (Util), Network (Http etc) ,Ajax (Json), 文件操作 (RMS),加密解密 (Crypto),二维图形 (Drawing) ,最后是地理信息系统(GIS)。
这些平台API在 .Net Framework 和 Cocoa Touch 实现不同,C#和 Objective C语法不同,都给移植增加了工作量。在之后的文章会慢慢介绍。

 \

 





摘自 引路蜂移动软件
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Lexical or Preprocessor Issue 'xxx.h
    • ios学习笔记(二)xcode 4.3.2下实现基本交互
    • ios版本的helloworld
    • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
    • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
    • IOS类似iphone通讯录TableView的完整demo【附源码】
    • UITableView一些方法
    • [iPhone中级]iPhone团购信息客户端的开发 (二)
    • 如何为Iphone应用创建启动界面
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1