去年双十一的时候,给自己找了许多理由,冲动消费了一台 MacBook Air 2018。可能是因为自己从开始工作到现在,周围同事大多数人都在用 Mac,一直都很好奇 Mac 到底好在哪里。于是这次终于解决了这个问题,把近期的使用体验写成了博客:
也许未来还会再写。不过目前有这四篇算是告一段落了。
简单来说,我不是很推荐新进入 web 开发行业的人自己花钱买 Mac:硬件性价比低,近年来丧失了硬件上的优势,升级 / 维修也不如 PC,想要体验原生的 Linux 系统容易被专有硬件卡住。软件方面,自定制性(带来的生产力提升)不可能追得上 Linux,流行的跨平台软件更是抹平了系统间的差异。如果是公司出钱,倒还可以买个玩玩。
楼主肯定没从 app store 里装过软件 90% 的评论只是因为 windows / windows like 用多了 价格不是 apple 的问题,没哪个评论家觉得湾流贵的 多的不说了,萝卜青菜 p.s. linux 的 gui 就没一个能打的
我很想就一些具体的观点深入讨论下去,这样我才有可能从自己 Linux 用得太久的偏见里爬出来,从 Mac 上学到新的知识(除了第一篇,后面三篇里零散地都已经有一点)来改善我现有的工作习惯。
比如说,你认为“linux 的 gui 就没一个能打的”。那么,具体要如何才能评价一个 GUI 是否是“能打的”?Linux 的各个 GUI 在这个评价标准里,在完成哪些操作的时候不如 macOS?我很想更多地了解,越具体越好。
比如说切换窗口 / 桌面的动画效果,在 macOS 上我实在没找到在哪关掉。在我看来,关掉不必要的动画效果,可以更省电和省时间,这是对我有益的。但我也不会用“能打”这种流行语来概括,因为省电 / 省时间应该是更容易被其他人认同的价值。用“能打”反而让我的表达更模糊了。
额外地,假如我想要反驳一个人的观点,我肯定会避免使用“90% 的评论”这样的说法。因为这会把具体划分 90% / 10% 的责任落在我自己身上,给我自己增加驳斥对方观点的负担。如果不说明哪些观点属于 90%,那么就等于没有给我自己的观点找到论据。那么我的观点就没有说服力。
直接说出来太羞耻了(
可以从我的 RubyChina profile 找到我的 Github,然后再找 dotfiles 仓库,这个仓库的历史基本就是我的工作时间。
Command 和 Control 的区别哪里不一致了?用 Control 切换输入法好像是某个版本悄悄改的,从更老的系统升级过来会保留 Command+ 空格切换输入法
呃,看来我在文章里写得不够清楚:
因为没有明确的划分,Command + N 这个组合键已经发生了冲突:在全局级是呼出 Notification Center,在应用内是新建窗口。如果不改掉全局级的定义,那么新建窗口的功能就无法用快捷键实现。
试试右边那个 cmd
感觉楼主舍不得自己的多年 Linux 用户经验,对 Mac 带着抗拒心理,总是想找点瑕疵。完美的设备是不存在的,用 Mac 一个理由就够了:不折腾。
我也是多年 Linux 用户,转 Mac 后马上就适应了。我不是 Linux 系统开发,精力应该放在自己工作的领域。
真正的 linux 用户根本不用 gui 而是用 wm(不是黑),建议你下个 i3wm 自己试试效率是不是吊打 windows/mac 的悬浮式 gui,我用 i3wm 开发基本可以不碰鼠标,除非点浏览器,用 mac 的时候手指都要磨烂了。
虽然我现在也用 mac,毕竟方便/娱乐性好,各种配套齐备,但是用 linux 时才是可以最大化开发效率的时期。
另外 lz 提到的快捷键也是,sublime text mac 的快捷键比起 linux 和 win 迷的一批,你说只是 command 和 ctrl 换下还好,问题是 combo 都压根不一样,ctrl+shift+arrow 的 combo 就按不出来,我现在都强行忘记这个快捷键了。
看得出楼主是一个经验丰富的 web 开发者,其实 web 开发的话,有余钱的话,买个 Mac 还是一个绝对正确的选择(至少比买 iPhone 更对)。
因为你要总要时不时测试一下 Safari 的兼容性啊。。而且苹果的机器真的很漂亮,屏幕和续航也好。
键盘,快捷键其实都可以适应,用惯了都一样,MBP 的缺点我觉得主要是,没有核弹厂的 GPU,导致想玩 AI 的话不方便,还有就是 Docker 不是原生支持。
很多年前用 Ubuntu Desktop 工作了一年半,后来还是换到了 macOS .可能 Linux 桌面版对我来说最大的问题还是折腾,对新人推荐 Mac 的原因也是如此。
针对你的吐槽,我总结了一些经验希望对你有帮助:
Command + delete
.官方的键盘快捷键文章可以解除 LZ 的一些困扰。option
有关,和是否使用双指单击无关。你可以先双指,然后按 option
,一样会出现菜单。option
删除通过 App Store 安装的程序。esc
实在是很不方便,或者为 esc
键增加震动?在上家公司的时候,我用 ubuntu 来开发,然后微信没有 linux 客户端。于是我在公共服务器上布了一个 Rocket.Chat,最后成功忽了两个沟通最频繁的同事用这个来和我沟通。
补充一下: 低分屏下 Mac 表现不如 Win,但是胜过 Linux。Retina 屏 Mac 基本就是完爆了(含外接 4K 屏)。用久了 Mac Retina 屏回头去看 Linux GUI 觉得眼要瞎。(不过新 Air 的屏没了解过,无法评价)
另外性能方面 Pro 要远超 Air。转 Mac 最大不适应是习惯系统和快捷键。
习惯之后你会发现 Mac vs Linux 约等于 艺术流 vs 工业风的意思。
不折腾
重点中的重点!后生的时候我真的很多时间,金钱很少。苦苦储蓄下来的也只能勉强买一台 Notebook. 还需要花时间不断比较价钱。Windows: Registry Tweaks, Anti Virus, Firewall, 无限低质素的迷你软件,Linux: Drivers, Set Up, Compatibility, 缺乏大规模商业用软件.......... 出来工作自己赚钱的第一年便买下第一台 Mac, 没有花太多时间做什么设定或者适应,用起来就是一个字,爽!( 不过这可能因为 大学时期的 Lab 已经是 Mac ) 在回想起来以前浪费那么多时间和精力。人越大,才会发觉时间的宝贵。我可宁愿多一两小时睡觉也不愿花时间 Fix 一些鸡毛蒜皮的 Windows 问题。特别是在 Web 开发上..... 网络上大部份 ( 英文 ) 资源也好像断定你是用 Mac 的,尤其是 Ruby Rails.
不折腾这个词本身就有两层含义。
一是不用自己去定制,免得浪费自己宝贵的时间。
二是仿佛你得认他做爹,什么都得听他的,没你的话语权。
这也是安卓 VS 苹果中的一个关键点。对于普通人来说,拿到一台手机,听厂商的话,照着厂商给你定义的使用方式使用就行了。但是对于一小撮人来说,我的手机我做主,那就会变成「折腾」。买个能刷机的,解开 BL,刷上自己惯用的安卓发行版,按照自己的喜好定制启动器、锁屏、按钮条等等……
类似的还有什么群晖 VS DIY NAS……还有波音 VS 空客……还有自动挡 VS 手动挡等等。
具体想不想折腾,还是看人的风格习惯吧。如果你喜欢「让机器听人话」,你可能会更喜欢 Linux 环境。
我是 PC Manjaro+xfce,笔电是 macbookpro 15. 说实话还是 mac 开发不折腾。做软件开发还是要考虑效率,linux 下 企业微信这些用的真是蛋疼。
@046569 @nouse 多谢。我应该会在未来慢慢体验这些。
删除文件的快捷键 command + delete
我在顶部菜单里看了一下,才发现其实是有提示的。但之前我只在右键菜单里观看 / 使用这个功能,而 Finder 的右键菜单里就没有显示命令的快捷键。作为对比,Chrome / VS Code 的右键菜单,都会把功能的快捷键显示出来。
编辑补充:之前我在顶部菜单 Help -> macOS Help 里找到了 macOS User Guide,想看看一些 macOS 上的入门基础知识,但这个 macOS User Guide 的窗口没法用 Command + Tab
切换过去。阅读体验极差。考虑到这个问题并不影响日常使用,而且猜测大多数用户应该也没有看帮助的习惯,我也就没有写进博客里。但我自己也就没再花时间去读这个 Guide(而且我也不知道这个 Guide 里是否有上面说的删除文件的 hotkey)。
如果我自己想要反驳一个观点,我会尽量避免去揣测这个观点的作者的心态。因为我完全拿不出证据来证明对方的心态确实如此,只能承认这是个猜测。而且这在逻辑谬误中属于 ad hominem。
我也不是 Linux 系统开发者,但我的电脑上的软硬件是我完成自己日常工作的工具,如果这些工具能帮我提升效率,节省时间,那么这对我当然是有益的。"不折腾"这个观点我经常看到有提及,但我不太清楚这里是指减少初始设置的时间成本,还是减少后续维护的成本,还是两者兼有?我想要能够正确地理解这个观点的意思,再展开讨论。
Again,虽然我不是 Linux / macOS 系统开发者,但我作为用户,总可以按照我的价值标准(设计的一致性,易用性,完成任务的效率等等)去批评系统的设计。类似地,我不是技术书籍的作者,但我可以写书评,来表达我在读者的视角,对书的内容、写作方法、易读性等方面的意见。把自己的意见传达到社区,让能达成共识的读者共同抵制劣质的书籍作品,让出版业界(但愿)能提升未来出版物的质量。
我可以理解你做出的“精力应该放在自己工作的领域”选择。但我自己也愿意浪费这个时间去写对软件的批评。而你所做的选择并不能用来反驳我的观点。
有几楼说到快捷键“适应了就好了”。我不能同意这种观点。
举这么个例子:用桌面浏览器访问京东 / 淘宝,进入登录页面,页面上首先显示的不是帐号密码的输入框,而是手机客户端扫码登陆的二维码。每次登陆时,都要多付出一次点击,才能用帐号密码登陆。我已经适应了这个设计,但我依然觉得这个设计不好,因为它让我浪费了时间。
也许我应该用 user script 彻底解决这个问题。而不是适应它。
感觉楼主还是年轻...
我在 2013 年购买了第一台 MacBook Air(也是迄今为止花自己钱买的唯一一台 MacBook),在那之前使用了 4 年 Linux 做开发机,而在那之前又花了无数时间在 Windows 上玩游戏、学习。
我对 MacBook 的态度,可以参考我在知乎上的回答: https://www.zhihu.com/question/54577127/answer/140845699
至于我现在用的设备,一台游戏本,一台公司配的开发本(MacBook Pro),一台自己的开发本(Linux on ThinkPad),一台专用于外出携带的便携超极本(Win 10 on ThinkPad)。
根本不用纠结什么好用不好用的,这种问题毫无意义…… 努力赚钱,提高效率,把自己伺候舒服,赚更多的钱,才是硬道理。
Mac 有完整的生态能够兼顾到开发、办公、日常使用,Mac 要搞 AI 玩可以外接 GPU,装 docker 也很方便,在经济条件允许的情况下我还是会推荐 Mac。总之还是没有完美的设备,只有适合自己的。
苹果的快捷键不是能调换位置么?调换一下不就行了(我调换了花键和 option 键位,然后把键盘上按键扣下来换个位置就解决了 快捷键的问题。。。) 没毕业那会没有 mac 自己 windows 电脑做了 ubuntu14.04 双系统开发 rails,qq 和微信不能上还是有点不方便 软件比较少。后来换了 mac 之后觉得 linux 那个界面太丑了。 还是苹果的舒服软件齐全
LZ 其实对 Linux 折腾到很深入了,本人折腾 Linux 差不多 7 年了,这两年也差不多稳定在 i3 + archlinux + vim 不怎么动,但有时刚入职,为了和同事方便交流,先使用 mac。这里一些想法
我用 ubuntu 18.04, 开发还好,其他就不要求了,但有一个问题实在不爽,每次盖上盖子,然后打开盖子,输入密码就登录不了了,登录界面会停在那里,跪求解决方案!!!
#28 #31 我在博客里已经写明了:我在 Linux / Windows 系统上已经把 Alt 和 WinKey 互换了位置。因为我用 WinKey 远多于 Alt。这是我使用 Mac 学到的改进。
但我在 macOS 上,如果要把 Fn 和 Control 键互换功能,用 macOS 自带的系统设置是做不到的 (可以把 Fn 映射成 Control,但不能把 Control 映射成 Fn)。只能求助于 Karabiner。话说回来,因为 Karabiner 只要用 homebrew 的一行命令就可以完成安装,我不会觉得安装这个第三方软件比直接使用系统支持的软件更“费事”。换句话说,我可以接受这一点“折腾”的成本。这点我只觉得是个不够好的默认设置,但既然用户还可以通过第三方软件来配置解决,那么也还可以接受。
我对 MacBook 键盘的最大的不满在于缺少独立的导航键(Home / PgUp / Delete,尤其是 Delete)。具体的理由我已经在第二篇 - 硬件篇里有解释。
用 iOS,用 macOS 不折腾,有哪些功夫折腾不如把时间花在其他能让你赚钱的地方。
简单来说,我不是很推荐新进入 web 开发行业的人自己花钱买 Mac:硬件性价比低,近年来丧失了硬件上的优势,升级 / 维修也不如 PC,想要体验原生的 Linux 系统容易被专有硬件卡住。软件方面,自定制性(带来的生产力提升)不可能追得上 Linux,流行的跨平台软件更是抹平了系统间的差异。
反驳这句总结,这严重扭曲了事实,似乎楼主也极力的在找理由说服自己 Mac 不好别买 ...
macOS iOS 的概念是你好好专注自己本行的工作,好好赚钱,操作系统、软件的事情交给专业商业公司,你付钱就好了。
也建议公司(尤其是 Web 开发工作的公司)为员工提供 MacBook,让他们更专注工作,一台电脑、几个软件才多少点钱?能有人的工资贵?
很多大佬说,与其折腾 Linux,为什么专注于干好本质工作,好好赚钱呢?
我学生时期的时候也是一定程度觉得省钱没上 mac 而折腾 Linux,确实也浪费了很多时间,但是折腾 Linux 是有一种特别的满足感的,这满足感一部分来自于他能让你的软硬件对你服服帖帖,变成你想要的样子(尤其到了 Arch,Gentoo),这种满足感逐渐成为了一种爱好和强迫症。大家搞 ruby 很多时候心态又何不是如此呢?在国内,Ruby 在赚钱找工作上被 Go 和 Java 吊打这个没什么争议吧?所以,Ruby 在赚钱性上不如 Go 和 Java,为什么依然坚守呢?
Just to be clear: 我相信大家说的“不折腾”可以解释为:时间是宝贵的,花时间维护系统 / 解决系统问题,没有产出,不值得。那么我愿意折腾系统,有着同样的原因:时间是宝贵的。我想通过提升效率来降低时间损耗。
至于说折腾投入的时间,和折腾之后提升效率节省的时间,哪个更多?我自己只能承认没有仔细算过这笔帐,甚至,我根本不知道如何算得出来。但我不相信支持“不折腾”的各位有计算过。目前我只能认为:双方都拿不出有说服力的证据,suspend judgement。
系统维护这点我确实没有太考虑。可能是因为用了太久的滚动更新 Linux 发行版,习惯了每天升级一次。现在想想,这种时间如果能节省下来一些,但又能及时用上较新的生产力工具,会好些。前阵子我也在探寻有没有能同时满足这两条需求的 Linux 发行版。Fedora 可能是个不错的选择。
是的。用休眠到内存 / 硬盘替代关机可以节省开关机 / 开关应用的时间。但我不清楚现在 Linux / Windows 在这方面做得如何了。我接下来会尝试一下在自己的主力工作笔记本上能否做到这一点,看看能把 uptime 累计到多久 (如果我不需要重启切换到 Windows 去玩游戏的话)。
3.1 可以虚拟化 / 租用机器体验 Linux 这个事,连同前面 #10 提到的“测试一下 Safari 的兼容性”的事情,让我觉得:Linux 在虚拟化方面有更好的支持,才给了用户这样的机会:不需要买与其捆绑销售的硬件。以前我专职做前端开发的时候,需要测试 IE6 的年代,也可以直接用虚拟机来跑起 Windows XP。前阵子我尝试在虚拟机里运行 macOS,困难重重,最终放弃(也许是我自己的问题,未来会再试)。那么我们是应该功利性地,因为 Apple 的不开放的策略去买 Mac,还是应该支持给用户留有自由选择机会,对虚拟化支持更好的 Linux / Windows?
3.2 拿 Linux 作为日常常用的系统来熟悉 / 练习,相比于:有需求的时候才访问一个远程的 / 虚拟化的环境,而这个系统也同样需要管理 / 配置,与原生系统间同步数据。虽然说能用,但也带来了额外的维护成本。
ss -tpln
,非常好记。4.1 我很想听一些具体的例子来支撑这样的观点。比如说,Sketch 是个优秀的 UI 设计软件。前端开发如果能直接打开 Sketch 文档,和设计师合作时可以直接从中读取 UI 尺寸(甚至直接生成 CSS)。如果 Sketch 的诞生是因为 macOS 的 GUI 开发平台有优势,那么我会同意:这是个 macOS 的加分项。
4.2 我工作中用到的软件大多数都是跨平台软件。我不知道它们能否算作是“Linux 软件”。至于说 Linux 独有的软件 / 功能,我尝试列出几个具体的例子来:
macOS iOS 的概念是你好好专注自己本行的工作,好好赚钱,操作系统、软件的事情交给专业商业公司,你付钱就好了。
Funny you should say that.
作为程序员,我的本行的工作是设计并实现软件给人使用。软件的设计就包括有 UI 的部分,软件的 API 也可以认为是另一种形式的 UI —— 只有程序员才会用的 UI。所以我的职业刚好需要我做出更好用的 UI,满足用户的需求。虽然我不是做桌面软件开发的,但 UI 设计的价值与原则是通用的:帮新用户成长为熟练用户,降低用户的认知负荷,设法为用户节省时间,诸如此类。
退一步讲,即使我的工作与软件设计无关,那么作为用户,我也可以发表评论。就像撰写电影评论的人,可能他们自己也没有拍过电影,但这不妨碍他们用影评来表达观点,影响舆论。
高德纳在写《计算机程序设计艺术》这本书的时候,书商把他书中的数学式子排得太难看了,因此发明数学排版软件 TEX,和字形设计系统 METAFONT。
为什么不对说他“好好专注自己本行的工作,好好赚钱,操作系统、软件的事情交给专业商业公司,你付钱就好了。”
看你说了那么多楼,基本 get 到了,本质就是在说你在 Linux 折腾的时间比较久,熟悉了,想把原先的操作或 DIY 的习惯/经验,原封不动搬到 Mac 上来,失败了。
我想说那基本是不可能的,因为即使都是类 unix,Mac 和 Linux 毕竟还是两个不同的东西,设计哲学上就不一样。就像安卓 vs IOS 一样,如果只用过其中一种,即使别人再吹另外一种,你看起来好像也不错,但是去深度尝试的话仍然各种不习惯,因为是会带着原先的思路去操作的。
对比开发语言,如果一个只学过 Java/PHP 且用过 n 年的人,让他来用 Ruby,看起来很美,可是为什么生态里面各种奇怪的东西,为什么要 balabala,连个解决方案都找不到,你看我原来的语言多好,(比如你吹你是最屌的元编程,但是连个变量的变量都没有),其实本质上就是你习惯了原来的系统的设计哲学 + tips 合集而已。但是如果用过多种平台/多种语言工作的人一般不会觉得有什么问题。
另外由于用了好多年,所以各种解决方案都积累起来了,所以即使有些解决方案都是蹩脚的,但是踩过坑了熟练了,也就不觉得有什么不妥了。
所以要切换平台,基本上还是评估切换成本,然后对比切换前后总体收益是正还是负,切换后总会各种不爽,但是总体正收益的话,还是可以考虑的。比如 Ubuntu 再好,对我而言把桌面或服务器都切换过去,收益是负的。而桌面环境的话,非 IT 专业的各种软件还是 Windows 更丰富,我能列出一堆各种好用的大小软件。@huacnlee 所说的 Mac 上的 Office 能比 Windows 好用,肯定是不对的,微软在桌面办公积累那么了多年,比如 Excel 中使用 VBA,或 Excel 和 Access 的结合,Mac 都是没法比的。
而大部分时候,切换平台最重要的原因,只是因为我们最需要的那个功能/软件,在别的平台无可替代而已
楼主从标题到发文都有明显的前提条件,这也只是他自己的使用体验罢了。。。看看就好。。。
另建议楼主可以放下经验体验一下 MacOS,这不也是学习任何新事物的基本方法论么
我也是 Linux 很久最后转 Mac/Win 了。Linux 从 Fedora Core 5 开始折腾,经历过 Fedora,Ubuntu,Arch,Suse,都是做过主力桌面的。发表下个人观点:
桌面系统我们需要一个成熟稳定的东西,来把精力放在更重要的事情上。使用这个桌面的用户和为其开发的开发者数量将是硬指标。在这一点上,Win 远大于 Mac 远大于 Linux(桌面)。但是在开发者领域 Mac 和 Win 的比例就没有那么悬殊了,具体不好说。选 Mac 的理由就是 Unix 系统外加完善的 GUI。其实 Mac 也有不稳定的时候,比如 macOS 10.11 和 10.12 对 4K 屏幕兼容性问题(鼠标指针漂移)就困扰了我好几年。但总的来说 macOS 我从 10.6 用下来,基本稳定。尤其是在电池、温度、功耗上的平衡是令我想当满意的,尤其是 Haswell 之前是别家两倍的续航,那真是提前进入下一个时代。
从硬件性价比上,mac 的确不是最佳的。但是这一块通常不是太大的问题,因为一来生产工具预算充足一些,钱也买不来稳定 GUI+Linux 跑在 Windows 笔记本上。二来如果考虑到某些因素可能性价比不是那么差,例如 iMac 的 5K 广色域屏,如果单买也很贵。
另外,作为开发肯定推荐 Pro,目前的话,用的 8 代,13 寸性能也很强劲,轻薄程度还不错吧。像我手里的 2014 款的话,当年的 13 寸,低压版 CPU 性能就要比标压差很多。
从软件上来说,说到动画,这个就是适应。有人觉得炫酷,有人觉得烦,但没必要太纠结。实际上 macOS/iOS 的设计理念,动画往往是给人以提示作用,而非酷炫,只是别家图形界面用文字的,这边改为动画了而已。这一点我是 iOS 开发多年,这是他自己 HIG 说的。
快捷键方面,我的看法也是适应大于更改。mac 快捷键是有不少槽点,比如我以前 Photoshop 每天按一万次的 command option shift s,这就一点也不“快捷”。但是系统没有完美的。我在做移动开发那几年,需要同时操作 vim 来写后段代码,Xcode 来写 iOS,Android Studio 写 Android。而我因为 IntelliJ Idea 用过一阵子,快捷键又是默认的,所以我脑中同时要在三套快捷键之间切换。这三个工具基本鼠标都是配角这个大家应该没意见。是的很繁琐,甚至有些变态,但是回想下,能最有效同时运行这三个的,只有 mac 系统。那时候甚至 windows 的 Android 模拟器执行效率都大不如 mac,后来才赶上。
我有理由相信,macOS 是除 Windows 开发外的首选系统。
一直是 Ubuntu 用户,最近换了新公司,用了一周新公司发的 Macbook Pro,先说结论吧,要我自己掏钱去买,我估计是不会买的。Mac OS 当前对我来说有一些问题,总结起来就是“动画太拖拉,自定义程度太低了”。 它的动画,特别是全屏软件后的桌面之间的切换动画,太拖泥带水了,最重要的是,竟然没有关掉的地方,让我极度不适应,切换窗口的速度完全跟不上操作速度,这导致全屏软件到新桌面的状态对我来说完全不可用,现在我都是 IDE 用窗口最大化的状态在一个桌面来开发,目前看来还行。 体验了一星期,给我的感觉就是,我的 Ubuntu 快如闪电,Mac OS 慢如老牛还没办法优化,这只是纯指的 UI 交互方面给我的感觉。 而 mac OS 上将 ctrl 和 command 分离的操作方式我觉得还不错,因为我是 Emacs 快捷键用户,这对我来说很舒服,最近打算试着改造下 Ubuntu,看能不能达到这种效果。