Re: [問題] Mac App 開發的書好像不好找?
※ 引述《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
→
11/14 01:11, , 1F
11/14 01:11, 1F
推
11/14 07:21, , 2F
11/14 07:21, 2F
推
11/14 08:59, , 3F
11/14 08:59, 3F
推
11/14 09:06, , 4F
11/14 09:06, 4F
推
11/14 09:19, , 5F
11/14 09:19, 5F
推
11/14 09:40, , 6F
11/14 09:40, 6F
→
11/14 13:29, , 7F
11/14 13:29, 7F
→
11/14 13:30, , 8F
11/14 13:30, 8F
→
11/14 13:32, , 9F
11/14 13:32, 9F
推
11/16 01:51, , 10F
11/16 01:51, 10F
→
11/16 09:13, , 11F
11/16 09:13, 11F
推
11/23 23:10, , 12F
11/23 23:10, 12F
推
02/05 11:17, , 13F
02/05 11:17, 13F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):