`
mmdev
  • 浏览: 12919997 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

iphone 开发学习笔记三

 
阅读更多

经过一段时间的学习,看文档,算是对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语法不同,都给移植增加了工作量。在之后的文章会慢慢介绍。

分享到:
评论

相关推荐

    iphone开发学习笔记(1)--NSLog

    iphone开发学习笔记(1)--NSLog

    iPhone开发基础教程_学习笔记

    iPhone开发基础教程_学习笔记.docx

    iphone开发一年的工作笔记

    这份文档是我从事ios开发一年以来,总结工作中常用到的200余个ios小知识点,并添加可以调试观看的实例代码,方便iso开发者学习和交流,弄清楚这些,基本从事ios开发没什么问题。

    IOS学习笔记

    OS开发学习笔记,包含基本原理讲解及每篇附上的示例程序代码!帮助iOS开发初学者一步一步进阶,分享最新的学习心得和体会! http://blog.csdn.net/column/details/ryan-zone.html

    objective c学习笔记和示例

    苹果的iPhone和iPad应用开发都指定使用同一开发语言:Objective-C语言。这是一种简单的面向对象编程语言,它的基础是C程序设计语言。Objective-C不仅功能强大,而且简单易学。Objective-C已经成为苹果系统下应用程序...

    swift_study:详细信息!Swift iPhone App 开发入门笔记

    swift_study详细信息!Swift iPhone App 开发入门注的示例代码用于学习 Swift 开发

    使用XIB自定义一个UIView

    iPhone开发学习笔记005——使用XIB自定义一个UIView,然后将这个view添加到controller的view。

    CSR8675蓝牙开发板CSR内部培训资料.zip

    5.CSR 86XX 使用 IPHONE电量.pdf 6.CSR8640在USB Mode模式使用Mic.pdf 7.CSR8670_Product_Overview.pdf 1.ADK_2.0_Software_Training.pdf 2.ADK2.0编译BC5MM固件.pdf 3.ADK2.0编译CSR8670固件.pdf 4.Bluetooth_Low_...

    timenote时光笔记(记事本软件) v2.37.zip

    TimeNote为珍惜时间,珍惜往事的人潜心开发的软件,一款具有独立文件与事件预测的跨平台日程管理软件(支持Android、IPhone与各PC平台)。本软件采用独家原创数据解码格式,支持云端异步操作,并能对普遍使用的ICS文件...

    详解iOS学习笔记(十七)——文件操作(NSFileManager)

    默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。Library包含Caches、Preferences目录。 上面的完整路径为:用户->资源库->Application Support->iPhone Simulator->6.1->Aplications Documents...

    Insofta Cover Commander(3d模型制作软件)官方正式版V7.0.0

    广泛应用于电子书、3D文本、名片、手册、笔记本电脑、iMac、iPhone、iPad Pro、Nexus、蓝光光盘等大多数产品,即便是刚接触Insofta Cover Commander的新手也能快速上手,学习成本和使用门槛都非常的低,所以根本不会...

    WatchNotes:手腕上的笔记!

    注意事项 Watch Notes是iPhone和Apple Watch应用程序,它允许用户将笔记从iPhone共享到Apple Watch。... 如果您有兴趣学习开发Apple Watch应用程序,请在下面订阅我的YouTube频道: Twitter上的@azamsharp

    高仿版百度地图基于iOS SDK v2.5.0,功能完善!

    本人不才,当时还不会用Xcode内置的Interface Builder来设计界面,因此这是用纯代码写的,测试机子也只有iPhone4,没考虑其他iPhone的分辨率,在界面上是不适配的,但是代码的话还是值得学习的。废话不说先上代码! ...

    macOS-iOS-iPadOS-Guide

    是适用于Apple系列iPhone产品的高级移动操作系统(OS)。 iOS 14 是适用于Apple系列iPad产品的高级移动操作系统(OS)。 iPadOS 14 取得软件 macOS / iOS / iPadOS开发 在Xcode 12中使用SwiftUI开发 Swift 快速...

    《电动力学(第二版)》(郭硕鸿) 习题答案doc

    《iPhone开发基础教程》.pdf (中文完整版) 使用C++实现录音的源码 一个VC写的数值曲线显示类 ASP.NET 公司框架源码(70%成品) asp.net编写的企业网站,强大的后台支持 笔记本电脑架构硬件揭秘 Visual C++...

    (开题报告)基于Android的日程表管理系统设计与实现--.doc

    目前使用Android系统的手机的数量已经超越iPhone,Android系统已经成为全球使用 量最大的手机系统。 相关数据显示:1.Android用户已经达9亿,不就会达到10亿; 2.仅有10%的国家没有被Android覆盖 3.人才需求仍然...

    wdi_project_2:咖啡厅应用

    团队:三名开发人员; 特雷洛: : 范围: I-用户注册II-咖啡店注册III-咖啡店评级IV-咖啡店地图必要: 用户注册:设计/ oauth图片上传:运营商咖啡馆添加:谷歌API,咖啡馆的自动完成质量:需打勾的框/标记...

    leetcode中国-algorithm-teach:算法教学

    本作品是学习和实践数据结构和算法的一些笔记。 第一部分是一些基本的数据结构和算法的简单介绍,如链表、堆栈、队列、树、排序等。 第二部分是编程问题的分析和总结,大部分的编程问题来自、、、、。 第三部分是...

Global site tag (gtag.js) - Google Analytics