MacDev 板


LINE

※ 引述《osnq (又可以挂bbs了)》之铭言: : 坊间有的都是iOS develop 的书籍, : 似乎没有Mac App develop 的书? : 我想可能是跟在iOS 上开发比较能有掏金梦吧! : 毕竟Mac App Store 上线才一年左右... : 不过,我还是很想试试Mac App 的开发。 : 不知道我该从哪边开始呢? : p.s. 我本身有在写iOS 的App, 是否二者的开发流程差不多呢? : (难道真的只要在xCode 中,开新的Mac App project 就可以了吗!) : 希望有经验的大大能给点建议,谢谢! Mac OS X 与 iOS 的 framework 设计,都是基本物件与 UI 层 的东西拆开来,iOS 是 Foundation + UIKit 组成 Cocoa Touch, Mac 上面则是 Foundation + AppKit 组成 Cocoa。基本上你已经 会了 Foundation 的东西,就是来看 AppKit 的部份而已。 比较 Mac 与 iOS,iOS 上面其实是一整份重新整理过的 API, Mac 上面其实有很多历史留下来的残渣,比方说第一次遇到一定 会踩到雷的 field editor 这种设计…。 可以先看一下苹果的简单入门文件 http://developer.apple.com/library/mac/#referencelibrary/GettingStarted/RoadMapOSX/chapters/01_Introduction.html 我自己觉得 Mac 与 iOS 开发,大概掌握几件事情: 1. 先把 UIViewController 忘了,虽然 Mac 上面也有 NSViewController 但是 Mac 上面实作 UI,多半是以一个 Window 为起点。但是这 也不代表说要去用 NSWindowController…NSWindowController 又是 NSDocument 架构的一部分。 要开始习惯 Controller 不需要继承自某个系统里头的 Controller class,直接继承自 NSObject,而同一个 controller 也可以管理 好几个 window。 2. 习惯很多东西 Mac 与 iOS 是相反的。iOS 的座标原点是左上角 但是 Mac 是左下角。建立 CGRect 用 CGRectMake,NSRect 则是要 用 NSMakeRect,CGPointMake 在 Mac 上也会变成 NSMakePoint, CGRectContainsPoint 也会反过来变成 NSPointInRect。 3. 很多 UIApplication 处理的工作,在 Mac 上面会变成是由 NSWorkSpace 处理。 4. 要搞懂 NSCell 是什麽。 5. 要搞懂把 target 设到 nil 上是什麽意思,还有怎麽去 validate menu item 与 toolbar item。 6. 有些东西在 iOS 上面很少用到,例如 undo 以及 drag and drop 在手机上面根本没有什麽人去实作 shake to undo 这种事情,但是 写 Mac app 一定得搞懂 undo manager 怎麽用,还有像是写 redo 其实就是要写 undo 的 undo…触控介面不容易做 drag and drop, 但是滑鼠介面中这个却是非懂不可。 7. Distributed Objects 还有 XPC,在 iOS 上面不怎麽容许做 Inter Process Communication,但是 Mac 上面会用到。 8. WebKit,在 iOS 上面的 UIWebView 很多东西是被封印的, 但是 Mac 上面有一大堆东西可以用,很多复杂的 UI 其实可以直接 丢进 WebView 里头做。 -- zonble.net cocoa.zonble.net --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 36.230.150.232
1F:→ nobody1:推 11/14 01:11
2F:推 osnq:看来差距颇大的,谢谢您的建议! 11/14 07:21
3F:推 dryman:推iOS整理过的API真的比较好上手 11/14 08:59
4F:推 popcorny:推!! 11/14 09:06
5F:推 hSATAC:推 最近刚好也在看 Mac 开发 感谢! 11/14 09:19
6F:推 s8911124: 推 11/14 09:40
7F:→ uranusjr:其实差距也没「那麽大」, 至少比跳去其他 frameworks 要 11/14 13:29
8F:→ uranusjr:小得多, 基本的东西也还是互通(MVC 啊 delegate 等等) 11/14 13:30
9F:→ uranusjr:不过 iOS 不是也有 first responder 吗? 11/14 13:32
10F:推 sy305allen:会让人流泪的好文,果然是Zonble,感谢。 11/16 01:51
11F:→ wemee:跪拜 11/16 09:13
12F:推 smartree:虽然想学Xcode很久了,但是还是没有实际行动,谢你的文章 11/23 23:10
13F:推 u0r5656:Zonble大大超强~受益良多 02/05 11:17







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP