现状
无论各方面如何评论,在 Apple 平台下开发越来越丰富。回想几年前如果想要招聘专业在 Mac/iPhone 平台下的开发人员,那几乎是不可能的事情。
Apple 平台下开发的那种狂热,让我觉得很是意外但想想却又是情理之中。Apple 的总市值已经超过微软,同时 ObjC 已经挺进了编程语言的前十。
这种情况让我总不免对比当年的 C# 和 Java -- Apple 平台下的开发,又将会是新的一轮的淘金热。
成本
与其他平台不同,想要在 Apple 平台下开发,需要有一定的硬件成本。首先,最好必须要有苹果的产品(用“黑苹果”使用不是“那么回事”)。同时如果想要 iPhone 下的开发并想要在 App Store 中卖的话,那么又得交份“保护费”。
然后就是其他的软成本。具体这里有篇文章写的很详细,这里主要列出的可能会碰到的技术问题:

- ObjC 语言本身 19%
- 我不了解 ANSI C 12%
- Cocoa 实在太大了 11%
- 内存管理 10%
- 界面 UI 设计和开发 10%
- 我习惯使用 Java 和 C 了 10%
- 如何设计委托模式 8%
- Cocoa 模型等 8%
- 我不了解面向对象编程(OOP) 8%
- 我不清楚文档如何建立 5%
- Cocoa 的(库)绑定等 5%
- Xcode 工具使用 3%
国内开发者还有个必须逾越的鸿沟,就是语言和社区问题。目前,国内 Apple 平台下的开发相关的中文书籍和文档几乎是缺失;国内的专业苹果开发论坛也屈指可数。
值不值得?
那么,该不该花那么多的时间在新平台上。这对于在有其他平台中有相关经验的人而言,这是个博弈的过程。
相对其他“传统的平台”,可以看到即将从事 iPhone 开发的开发者们都是看到 App Store 的直接利益而去。而传统的 8/2 原则在任何时候都会适用。
在即将饱和的市场中打开道口子,并不是件很容易的事情,这往往并不是技术上的问题。
相对在 Apple 平台下开发优势:
- 开发 iPhone 软件能直接带给开发者收益
- Apple 的用户群有相较高的消费能力
- Mac 下的软件相对较少,所以无竞争压力比较小
- Mac OS X 其实就是个 BSD(via)
那么劣势也是相对比较的明显:
- iPhone 其实是个半封闭的系统
- 学习 ObjC 有很大的成本
因此我的观点,如果你想在 Apple 平台下开发
- 你要熟悉 Apple 的产品,也就是首先么成为它的用户
- 做好打“持久战”的准备,学习任何技术切忌浮躁
- 改变目前开发平台下固有的观点,对于而言一切都是新的
- 有必要的时间和精力
再次需要提及的就是切忌浮躁,毕竟做好技术并不是件非常容易的事情,尤其是对于个全新的平台而言。短期内的收益平衡或许会很难做到,但相信一旦坚持下来终究会有回报。
PS,不喜欢 iSSH 占用一个 Dock 图标的用户,可以考虑试试我的修改版本,增加了重新链接、链接通知等功能: http://code.google.com/p/issh-improved/
-- EOF --
Fenng 搞了台 mbp,正在折腾 Mac 常用的软件,我这里也总结下日常我经常使用的 Mac 软件。PS,如果你机子比较老,可以看下我几年前的列表。
偷懒一下,下面的软件就不逐个做连接了,相信搜索他们的名字就能得到想要的结果。
我选择软件的原则
- 尽可能的自动化,并占用资源少
- 界面和功能过于复杂的不用。因为通常一个巨型牛逼的软件都会被两三个“简单”软件打倒
- 不追求版本号,够用就行,哪怕是几年前的“火星”软件
浏览器
我最常用的浏览器是 Chrome,其实系统自带的 Safari 已经足够好用(支付宝控件什么时候能在 Chrome 下使用呀)。使用 Chrome 的原因是有
- 书签能够和其他机子同步
- 速度快
- 真的是习惯了
Firefox 已经被我沦落为开发工具,除了开发平时不会开启这个“巨无霸”。
编辑器
很开心 Mac 下有对应的 Vim 版本:MacVim,这是我用过的最舒服的 Vim 版本,甚至我觉得比 Windows 下的 gVim 还要舒服。
顺便说一下,MacVim 还在开发中,如果下载官方正式版碰到很多诡异的问题,可以尝试下我的编译版本。
其他的如 Coda 、BBEdit 等都尝试过,但是我的真的是太过于“依赖”Vim 了,所以请不要再向我“推销”其他编辑器了。
还有个就是其实系统自带的“文本编辑”也足够我使用,类似 Windows 下的“记事本”一样。
PS,用 Emacs 的达人,可以 Aquamacs Emacs ,据说这玩意也很靠谱。
看图
因为我用的是 10.6.3 的系统,所以一般看图片仅仅是简单的敲下空格,使用 QuickLook 就可以。
在 Mac 还没有我喜欢的 Windows 下的类似 IrfanView 的软件,不过如果单纯是看图片的话,其实 Xee 其实也凑合。
如果需要批量处理图片,那么我会用 ImageMagick,虽然这是控制台下的工具,但学习掌握它绝对不会浪费你的时间。
下载
电驴在 Mac 下有对应的版本,如果想用类似迅雷的工具,那么还是用 Windows 吧。iGetter 以及 SpeedDownload 都是好的下载工具。两者都是收费软件,但 Google 下还是会有惊喜的。
如果是 FTP 软件,那么 Cyberduck 是第一选择,如果觉得“免费的不靠谱”那么推荐使用 Transmit。需要 BT 下载的,推荐使用 Transmission 。
聊天
QQ 有 Mac 下的版本。其他常用的 IM 可以考虑使用 Adium,支持 Gtalk、MSN 等等。不过个人用了一段时间,还是用回 iChat 了,无他就是因为双方的 Gtalk 用户都用 iChat 能够语音聊天。
如果想用旺旺的话,暂时会悲剧下。如果非用 Mac 不可,那么可以考虑暂时使用 iWangWang 顶下。相信 Mac 版本的阿里旺旺会很快就能出来。
UML & 脑图
我的眼里只有一个软件:OmniGraffle,甚至据说很多人因为这个软件而买 Mac 。它能完成的事情实在是太多了,你要亲自尝试下在能了解它的功能。PS,Omni 公司出品的系列软件都可以尝试下,非常的经典。
还有个选择就是 NovaMind ,不过不知道是不是我人品的问题,当节点一多反映就会很慢。
幻灯片 & 文档编辑
这个没话说,Keynote 就能完成我所有的应用了。Office 套件在 Mac 下的选择太多了,但基本上分成三大类:Apple iWork、Microsoft Office for Mac、NeoOffice/OpenOffice。
开发环境
如果要在 Mac 下开发,那么 XCode 是必须安装的。下载个 iPhone 的 SDK 基本上 gcc、make 等工具都全给你安装好了 -- 谁让 Mac OS X 和 BSD 的渊源那么深呢?
说到 BSD ,相信你很希望能使用类似 ports 的软件包更新、安装环境。MacPorts 是个好的选择,但是它实在是太老了。
如果你想尝鲜,那么 Brew 是个非常好的选择,我个人用 Brew 废弃了 MacPorts。
还有比如 Windows 类似 SecureCRT 等的软件功能,通常使用 expect + 终端 就能够搞定。
备份&系统维护
备份通常我用 rsync 和 TimeMachine 组合,其实 Mac 下如果你用 TimeMachine 并记得定时备份的话,数据这快就可以高枕无忧了。
系统维护的软件有一大堆,个人经常使用的是 Onyx、CleanMyMac,其实我并不怎么清理什么“系统垃圾”。
如果悲剧得误删除了数据,那么还可以尝试下 Data Rescue II,它曾经为我挽回了很重要的数据,顺便感谢下。
视频相关
Mac 下的播放器其实是个悲剧,不是因为没有,而因为是像是“全真七子”-- 加起来都打不过 Windows 下的 kmplayer。
目前用着比较舒服的是 MPlayerX、Movist 和 VLC。如果要看高清的话,推荐使用 Plex,用最新的编译版本支持显卡硬解码,温度会降下不少。
如果需要转换视频和音频,那么推荐使用 Any Video Converter Pro、All2MP3、Audio Hijack Pro 等等。
其他工具类
- 输入法我现在用 SunPinyin,尝试过 FIT 和 QIM。但因为 FIT 首次启动比较慢,QIM 是收费软件而且和 Chrome 有小的问题
- 解压缩软件我用的是 Rucksack,因为它是我在它活动的时候免费得到的
- Acorn 和 Pixelmator 都是个非常好的 Photoshop 替代工具,话说 Adobe 的软件在 Mac 都是悲剧
- CopyPaste Pro 是 Mac 下的多重剪贴板增强工具,推荐必装
- Dropbox 在 Mac 下也有对应的客户端
- 想要理财的话,推荐安装 iCompta
- KeyCue 能帮你显示当前软件的所有快捷键
- 对鼠标的加速度不习惯的话,使用 SteerMouse 调整下看看
- Flux 能改变显示器的色温,从而达到保护眼睛的目的,但并不是所有人都喜欢它
最后,Show 下我的 Mac 桌面

各位有什么其他的好软件推荐,欢迎不吝提供。
-- EOF --
iTunes 下的显示专辑封面往往被看作是鸡肋,到不是因为它的功能不好用,而是因为很多时候它都找不到中文歌曲的专辑封面。

于是乎,就利用周末的时间用 Python 写了这样的一个脚本,用于自动从豆瓣找专辑封面并嵌入至 mp3 文件中。使用方法相对简单,下载压缩包以后,命令行
python getCover.py *.mp3
即可。
这里要说面下
- 脚本是 Python 2.x 的版本,3.1 下测试过没法用,Mac 下自带的默认就是 2.x 版本的,懒得转换了。
- ID3 的信息必须清楚,因为搜索 豆瓣 上的专辑插图是以此为依据的(当然,你也可以改下源代码)
- mp3 的 ID3 标签必须是 id3v2 和 utf-8 编码(详细有关 id3 方面的问题,可以参考这里)
- 对应的 mp3 文件可写
Windows 下可以用 千千静听 批量转换 mp3 文件的 id3,如果在 Mac 平台下,可以考虑使用 ID3Mod 这个工具。
脚本在 Mac 下测试通过,理论上说 Windows 以及其他平台都可以正常使用。如果在使用过程中碰到问题,欢迎联系我。
最后,感谢 付超群 推荐那么好的库。
-- EOF --