V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
bunorte
V2EX  ›  iDev

只会前端开发的人怎样学iOS开发?

  •  
  •   bunorte · 2012-09-06 13:57:01 +08:00 · 6202 次点击
    这是一个创建于 4468 天前的主题,其中的信息可能已经有所发展或是发生改变。
    就会点前端的HTML,CSS,jQuery之类的东西,如果想学iOS开发的话,要怎么做?是不是首先要买台苹果电脑?
    12 条回复    1970-01-01 08:00:00 +08:00
    PrideChung
        1
    PrideChung  
       2012-09-06 14:20:21 +08:00   ❤️ 2
    是的,买台Mac是肯定的,除非你有那心思去折腾 Hackintosh。然后不用说了就是看右侧的资料。
    我再推荐一点教学视频,一个是Stanford老头的公开课视频,iTunesU上就可以下载到,免费。不过因为是上课的录像,讲得有点罗嗦。另一个是 Lynda.com 的 iOS SDK Essential Training,典型的收费教学视频,简单明快,不过需要 $25/月,如果实在不想花钱,VeryCD上面有下载,但是貌似是11年的旧版,可能会脱节。

    无论如何,不推荐看iOS5之前(2011年10月以前)的资料来入门,iOS5以后出现了相当多有用的新特性,例如新项目默认启用ARC自动引用计数,现在可以不用自己手工写内存管理的代码,要是还跟着旧的教学资料写手工管理内存的代码,甚至连编译都无法通过。

    最后再推荐一个我最近关注的论坛: http://www.iphonedevsdk.com/
    chrisyipw
        2
    chrisyipw  
       2012-09-06 14:29:58 +08:00
    理论上可以弄一台黑苹果,不过建议买一台 Mac 吧,2009 年起产的 MacBook Air/Pro 都满足 iOS 开发,囊中羞涩的找一台二手的就可以,尽量找新产的。如果是想要 Pro,那就更应该找二手的,因为不少人都升级了 SSD,比新的再升级 SSD 要便宜不少。

    然后就找一本薄的入门书看看吧,里面的开发技巧可以无视,因为很多都过时了,主要是快速了解 OS X 和 Xcode 的简单使用,之后去苹果开发者社区看文档、看 sample code,很快就会。

    因为你是从前段开发过来的,建议先从 UIWebView、PhoneGap、jQuery Mobile 有关的东西入手,有需要再慢慢脱离 HTML 迁移到 Objective-C 的开发。
    ewangke
        3
    ewangke  
       2012-09-06 14:34:00 +08:00
    请问楼主会iOS开发的人怎么学前端?
    iOS我可以教你,但你要教我前端。:)
    Echoldman
        4
    Echoldman  
       2012-09-06 14:38:20 +08:00
    设备、社区、教程什么的 @chrisyipw @PrideChung 已经说的很明白了,但是要特别注意指针、内存管理、多线程,这些可能会被忽略。无论是引用计数和更高级的ARC,都要把原来搞明白。否则,后面可能会有无数的崩溃,但是却找不到原因。
    PrideChung
        5
    PrideChung  
       2012-09-06 14:46:53 +08:00
    @chrisyipw 我觉得PhoneGap那一类Hybrid App SDK根本就不算是iOS开发,只不过是把Web开发延续到了iOS系统上。无论是iOS还是Android,我都是提倡一上来就学Objective-C/Java,别去折腾那些二奶SDK和二奶语言,例如什么Corona,那些东西都是用来加快开发速度或者实现跨平台的,但文档少例子少,出了点问题连问的人都找不到,对系统不熟悉学这些东西只会更头大。
    总是有类似的问题 “我想学Ruby On Rails,是不是先要学PHP?" 然后就扯着扯着就扯到了计算机导论,这又不是大学选课还有个先修课程。LZ既然是个前端攻城狮,基本的编程素养肯定是有的,没必要绕圈子,两点之间有比直线还短的么?
    chrisyipw
        6
    chrisyipw  
       2012-09-06 15:25:32 +08:00
    @PrideChung ObjC 是可以和 JS 交互的,对于__前段开发__背景来说,PhoneGap 之流是很好的切入点,简单的成品,会有成就感以支持深入学习。

    至于(HTML5)算不算 iOS 开发,见仁见智,我是认为 iOS 开发不是局限于 Objective-C,而是指任何为 iOS 服务的产品,至于是 ObjC 还是 RubyMotion 亦或是 HTML5,并不是重点。

    另外「LZ既然是个前端攻城狮,基本的编程素养肯定是有的」,不敢同意,前端里懂 jQuery 和懂 JavaScript 是两码事,前者更多是 DOM、Ajax 的处理,是 JS 的库(类似你说的二奶 SDK),后者才有可能扯上算法等编程基础,然而 LZ 只提了 jQuery,因此我才推荐把 PhoneGap 作为转换的切入口。

    PS:二奶 SDK 我深感同意,第一个用 PhoneGap 的 iOS 项目是想方便跨平台迁移,撑不到一周立刻回去 ObjC 开发。但是二奶语言就不同意,看了 RubyMotion 是真的觉得很赞,可惜价格太坑爹……
    chrisyipw
        7
    chrisyipw  
       2012-09-06 15:33:31 +08:00   ❤️ 1
    补充一下,@Echoldman 提到「指针、内存管理」的问题:

    指针其实还好,一般 Xcode 都会给出警告,把警告信息在 stackoverflow 搜一下基本可以解决,千万不要想成是 C/C++ 那种难以操控的指针。

    内存管理,有用 ARC 的话,跟着官方文档走就可以了,Xcode 有分析的功能,可以分析哪里有潜在的问题,需要注意的是 Core Foundation Objects,比如 CFArray、ABRecord 等,这些都要手动维护,如果是想做一个动用系统资源的 app,就必须去看看,比如通讯录的记录就会用到 ABRecord。
    walkingway
        8
    walkingway  
       2012-09-06 16:32:07 +08:00   ❤️ 1
    还是先从基础的object-c学吧,object-c的书都是手动管理内存为主的,虽然有ARC了,但了解下内存管理也没坏处,打基础么。一楼说的iOS SDK Essential Training verycd上已经有2012年的版本了,我看过,网上有英文字幕,讲的还是挺清楚的,还有斯坦福老头的视频中英字幕貌似都有了。

    当然跟着自己做一个东西出来也是很必要的。
    Numbcoder
        9
    Numbcoder  
       2012-09-06 17:12:02 +08:00
    @PrideChung
    @chrisyipw
    @walkingway
    感谢你们了!

    iOS 开发和 Mac 开发差距大嘛?
    PrideChung
        10
    PrideChung  
       2012-09-06 17:43:07 +08:00
    @walkingway 不推荐看旧的教程就是因为手动管理内存这部分,要是在不了解ARC的情况下用最新版本的Xcode新建项目,然后跟着那些旧教程一样[xxx retain] [xxx release] 肯定是要吃瘪的。现在有了ARC这种逆天的玩意,内存管理作为进阶内容迟些再学也没问题,有个基本概念就够了。

    另外网易公开课的中文版真心不推荐看,翻译那什么东东,第一集前半段还有模有样的,后面一讲到语法 @interface,@implement 等关键字,居然直接给翻译成 @接口 @实现 @属性 @综合 @结束……好几次把class(类) 翻译成了”课程“还是”上课“什么的,不知道是字幕君本身非IT专业还是谷歌娘的卖萌渣翻,总之还不如直接在iTunes上下了啃生肉。

    @Numbcoder iOS和Mac主力编程语言都是Objective-C,Foundation,Cocoa等基础的框架也通用。当然在Mac上的选择余地更大,你可以用wxPython等跨平台GUI库,使用Python来写程序。其他差别主要是在系统提供的API,界面开发,和系统环境上了,Mac App可以在后台运行,不是在Appstore发布的App不用被沙盒限制等等,差距还是有的。
    walkingway
        11
    walkingway  
       2012-09-06 18:11:57 +08:00
    斯坦福老头的教程我看的是720P的+外挂字幕 http://www.cocoachina.com/bbs/read.php?tid=102265 是cocoachina网友自己翻译的,还行,比网易那个要好。配合英文字幕一起看足够了。
    foru17
        12
    foru17  
       2012-09-07 00:19:47 +08:00
    @PrideChung 两点之间,最短的线段飘过...........
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2852 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 113ms · UTC 06:24 · PVG 14:24 · LAX 22:24 · JFK 01:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.