IOS开发学习问题请教:IOS7都要出了,右侧书单还实用吗?IOS跟OS X开发差别大吗? 有一定开发经验的是不是应该看没那么入门的书,或直接看developer.apple.com的教程就好?

2013-06-22 13:34:24 +08:00
 akinoniku
如题,我有php, python, java(android), js, html5的开发经验,如果要看书应该看哪一本?

想开发一个简单的信息发布restful app(比如twitter, 糗百客户端那种简单的app)

一周的业余时间能入门开始开发吗?

十分感谢。
5832 次点击
所在节点    iDev
18 条回复
seeskyline
2013-06-22 13:37:38 +08:00
直接花个把礼拜看下objective-c与cocoa touch的书,之后直接动手编码就OK了。
akinoniku
2013-06-22 13:38:56 +08:00
@seeskyline 谢谢

iOS 开发实用书单
› iPhone App Development: The Missing Manual
› Cocoa and Objective-C: Up and Running
› Cocoa Programming for Mac OS X

请问这三本书还适用于IOS6+吗? 好像都挺旧了
seeskyline
2013-06-22 13:43:56 +08:00
@akinoniku 其实iOS5,6,7的每一次变化不大,这个你可以学好objective-c语法和基本的sdk之后去查看相关文档,了解下新版本新加的和废弃的接口就可以了。sdk学习当然最好学习最新的,这个看官方API文档就可以了。
akinoniku
2013-06-22 13:55:57 +08:00
@seeskyline 明白了,谢谢
shiweifu
2013-06-22 13:57:33 +08:00
学学Objective-C 语法,看看斯坦福老头的视频就能上手了。

推荐俩适合学习的客户端项目:
https://github.com/gaosboy/iOSSF
https://github.com/TonnyTao/DoubanAlbum
akinoniku
2013-06-22 14:00:42 +08:00
@shiweifu =v= 有实例可以学习,太感谢了
akinoniku
2013-06-22 14:02:26 +08:00
@akinoniku
@seeskyline

顺便问一句, iPhone 5 的开发,MBA 2011 4G内存 会不会有点不够
offspring
2013-06-22 14:04:09 +08:00
@akinoniku 没问题
PrideChung
2013-06-22 14:06:39 +08:00
我学iOS开发就没买过一本书,斯坦福老头+WWDC视频+raywenderlich.com就够了,iOS进化太快,两年前的书都嫌旧。
akinoniku
2013-06-22 14:17:34 +08:00
@offspring 谢谢

@PrideChung 看书应该比较快(天啊我太浮躁
funcman
2013-06-22 14:43:05 +08:00
我初学。我觉得,你现在做iOS开发,能接触到的,貌似除了XCode比较新,硬件参数比较新,库上还是用5之前的。因为要考虑到老机器老版本。

一天之内就可以写个demo,毫无问题。但是写完整的东西,遇到的坑应该不是一两周能搞定的。
毕竟这东西和PC不一样。
akinoniku
2013-06-22 14:50:06 +08:00
@funcman 唔。。我相对的没什么PC开发经验,都是web的,而且我只在大学上课的时候学过C,没用过C做任何项目,对内存管理没什么概念,估计会学的比较难受。
funcman
2013-06-22 15:24:02 +08:00
@akinoniku 内存管理没什么神秘的。申请了就得释放,谁来释放以及什么时候释放。C都是自己手工完成。新的语言基本上都有自己的一套方便的东西。

一个对象实例,会在出生时,申请一份内存空间。当这个对象完成它的使命时,就可以释放掉它占用的空间。对象存在作用域中,一般来说,出了作用域,这个对象就不需要了,可以删了。还有种情况,这个对象有其它作用域中的引用。就是说其它作用域中,有指向同一内存空间的一个东西。那么这时候,这块内存空间就不能随便释放了。必须等到没有东西指向它(即引用它)时,它才可以被释放。那么怎么知道有没有东西引用这块内存呢,就可以用个计数器。内存刚申请时,计数器为1,引用一次,加1。释放时(主要是出作用域时的隐性释放),先给计数器减一,等计数器为0时,才真的去释放这块内存。这就是内存管理上的引用计数技术。在ObjC中,有设计好的计数器和语法方便你使用这一技术。而C++这种原始的语言,需要自己写计数器,需要手工减1(也可以用一些语法特性把这事弄简单点)。

Java则使用了重型的扫描式垃圾回收,所以它的内存释放总是不那么及时。

引用计数是目前最好的内存管理技术,方便、高效、可控。而且,没有这个技术,想实现离散的对象控制,只能用别的GC技术了。

不过,自动引用计数是5开始才有的东西。5之前得自己动手。
PrideChung
2013-06-22 15:41:52 +08:00
@funcman

iOS4也能用ARC,只是不支持weak引用

ARC is supported in Xcode 4.2 for OS X v10.6 and v10.7 (64-bit applications) and for iOS 4 and iOS 5. Weak references are not supported in OS X v10.6 and iOS 4.

鉴于iOS6的高占有率,我最近自己做的项目已经要求最低iOS 6.0了,不再考虑兼容问题。本来选择iOS开发就是不想像Android一样苦逼地守着一个过气版本做适配,iOS7正式出来以后我也很可能会放弃iOS6的支持。
akinoniku
2013-06-22 16:02:14 +08:00
@funcman 谢谢,说的非常清晰


@PrideChung IOS5或以下的应该多数都是越狱用户吧
PrideChung
2013-06-22 16:30:30 +08:00
@akinoniku 一般不是越狱的就是不怎么在意手机的,反正都不是好伺候的主。特别是有些越狱的不给钱就算了,装了个360手机病毒(我没打错字)害得app闪退了回过头来还给你的app打1星,独立开发者经不起这么折腾,干脆通过要求最新的系统版本来躲开他们。
我在做外包的时候也发现了类似的规律,那些出价小气的,对项目不怎么关心的客户往往最难伺候。
krafttuc
2013-06-23 10:53:47 +08:00
@PrideChung 握手!看完CS 193P,再加点资料就可以动手做了,应用开发贵在时间啊。
dongk
2013-07-04 16:45:15 +08:00
推荐一本 Beginning iOS 6 Development ,我在Mac Kindle上看的,边看边敲代码,遇到看不懂的代码就查一下Objective C语法手册。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/73233

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX