分享

如何学习iPhone开发

 xue_dong5437 2010-10-02

如何学习iphone开发

Tags:

/*
且不讨论这个post算不算是tutorial,反正fallhunter还很少写这种纯技术的post。
首先,这并不是
Don’t write tutorials 中所说的tutorial
本文的起因,不过是因为:fallhunter记忆力严重衰退,刚刚解决过的问题转眼就忘了,更别说记住那一大堆url
整理在post里算是个好办法
*/

官网

其实,无论学习什么技术,最开始要去的地方就是它的官方网站,只有在这里,你才能得到最真实最权威的信息。iphone开发的官网为http://developer.apple.com/iphone/, 你最好使用一个safari 浏览器,这里的网页,只有在safari下面浏览效果才是最好的,我用其他浏览器,不时会出现一些显示或布局上的小问题,不要让这些影响你,就用safari吧。

然而官网上的信息也足够多,从哪里开始。上面不是有个”getting started“么,哈哈。这个时候不要急于开始学习开发,而是要尽多去了解iphone的一些background,iPhone Human Interface Guidelines 是个很好的文章,值得了解。如果你有一个iphone或ipod touch,就更好了,多去使用别人的程序吧。iPhone Development Guide 是整个iphone开发流程的介绍iPhone Application Programming Guide 就是正统的教材了,以它为主,参考官网上的各种 reference,  sample code 等就可以啦!

Mac OS X

从官网的信息你会了解到,要做iphone开发必须有一个mac系统!如果资金还允许,去买一个mac的系统吧,这会省去你很多麻烦。如果你像fallhunter一样穷,只有一个pc,如果你的pc性能足够,你可以考虑安装一个mac的虚拟机,否则,你可以想办法在你的pc上装mac:  mac on pc ,不到万不得已,不要这么干,也许你觉得这样很酷,也许你觉得长知识,可毕竟你的目的是学习iphone开发,而不是破解mac。

Object-C

这时候你已经了解,iphone开发用的编程语言不是c,c++,java 而是object-c。虽然很多地方与c/c++相似,却也有很多地方与其不一样。如果你还分不清楚object-c 与 cocoa 的关系,大致可以这样去想: object-c 只是一个单纯的语言,而cocoa则是用object-c写成的iphone基础类库与框架。如果把object-c比作c++, 那么cocoa 大概可以比作MFC,  再者, php 与 zendframework。

既然object-c是一个单纯的编程语言,你在windows下也可以学习与使用它,一个方法是 http://www./ , 但是经过我的实验,好像并不支持 object-c 2.0 中的特性,还是尽量用mac吧

XCode

xcode 是mac下的ide,相当于windows下的visual studio,其强大程度有过之而无不及,估计vs抄了其不少特性。在xcode中编码,简直可以乐不思蜀,这也是为什么apple可以做出伟大产品的一个原因吧,它让写代码都很爽!如果你习惯windows开发,可能还想要个msdn,去help里面找吧,里面带有与官网一样的referenc和文档。

第三方库

虽然iphone sdk里面提供了很强大的基础类库,然而总会有不能满足情况的时候,去google一些第三方库,而不是自己从头开发,这会省掉你很多时间与精力。如果不知道用什么,去 http://www. 问一下。

回到官网

很多时候,我们在开发中碰到问题,并不是因为rp或传说中的宇宙射线,而是我们没有好好读文档。对iphone开发来说,官网的文档相当丰富,质量也很高,即使你从数百个连接中随便拿个文档来看,也可以快速找到方向。因为几乎每一篇文档都会告诉你谁该读这个文档,在读本文档之前你应该读哪些文档,你还可以读哪些文档来了解更多信息,相关的代码和其他文档有哪些,不要忽略这些内容,熟悉它们,以致熟悉整个官网文档的组织结构,即使遇到问题,也可以快速找到相关的文档。对iphone开发来说, read the fucking manual 同样适用。

关于读文档

虽然写代码的时候只会用到api reference,但是读文档的时候不能只看reference,要多读一些类似guide,overview,discuss之类的文档,把其来龙去脉搞清楚,把背后的思想搞清楚,使用的时候才好灵活确定怎么来用如此多的class和api。要从总体上把握,否则只见树木,不见森林。同时,这也是最省时间的方法,可以节省你写不必要的代码的时间,很多系统的api都有很多个层次,你可以在任何一个层次上开始你的代码,如果你选择了底的层次,则需要自己处理很多的逻辑,重复很多工作,而这些可能系统已经帮你封装到了另一个非常简单的api里

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多