
您好,我是 Kai Brüning,作为软件开发者参与 ProjectWizards 的产品 开发。
我的重点是更底层的部分,可以说是软件的机房。因此我负责 Merlin Project 的同步方案,并经常在模型层中工作。
-
这里的主要工具自然是 Xcode,也就是 Apple 的集成开发环境。我用 Xcode 不断修改源代码,直到内置编译器成功编译它。除了实际的程序代码之外,还有大量测试代码,由 Xcode 自动执行,从而确保我在修复一个 Bug 时不会在别处弄坏其他东西。Xcode 中还集成了调试器,让我能检查代码的行为并定位错误。用 Xcode 工作大多是愉快的,但它远非完美:我们常常纳闷,为什么 Apple 内部的开发者愿意忍受这样或那样的问题。可供选择的替代方案本就不多,原因之一是 Xcode 免费。
-
我们用 Git 管理源代码,这是 Linus Torvalds 的另一项天才发明。Git 是一个命令行工具,作为图形界面我大多使用 Tower。Xcode 也有 Git 集成,但到目前为止我觉得 Tower 更清晰、功能更丰富。
-
几乎没有哪个开发者能离得开 BBEdit。即便我在 Xcode 中编写源代码,BBEdit 处理超大文本文件的能力,以及众多内置工具(例如用于比较文件的工具)也是不可或缺的。
-
对我们开发者来说,macOS 的 Unix 基础始终是一大优势。通过内置的终端应用,我能访问整个 Unix 工具世界,或者用 Git 命令修复我在 Tower 中无意弄坏的东西。
-
通常路径是从源代码经由编译器和链接器生成机器码,最终只交付机器码。借助 Hopper Disassembler,我可以在一定程度上反向操作,分析他人的代码。当我们无法理解系统框架的某种行为、而 Apple 的文档又一如既往地不够充分时,这常常帮了我们大忙。
-
借助 Parallels Desktop,我可以运行较旧的 macOS 版本进行测试。或者运行 Windows,以了解 MS Project 是如何实现这样或那样功能的。在 VMWare 让质量下滑之后,我们最近从 VMWare 转到了 Parallels。
-
与全公司一样,Slack 也始终在我这里运行,负责内部联络。由于我们(与新冠无关)一直采用分布式办公,Slack 还得替代茶水间,因此相当重要。
-
内置的应用如邮件、iCal、通讯录、预览、Safari 大体上都能完成它们该做的事。我实在太懒,懒得去看其他替代方案。唯独 Safari 例外:在这一点上我坚定地不想用别的,因为我觉得只有 Apple 还算值得信任,能够稍微保护一点我的隐私。
If you have any questions about this blog article or would like to discuss it, we look forward to your contribution in our forum.