开发一个同样功能的软件, macOS 要比 Windows 难吗?

2016-12-19 14:23:02 +08:00
 yoa1q7y

大家都知道,相对来说, macOS 上常用的软件要比 Windows 要少一些。首先 Windows 用户量大这肯定是一部分原因

但是,仅从技术角度,尤其是 API 的易用性与全面程度比较,开发一个同样功能的软件,哪个更容易一些呢?

比如 macOS 上的 QQ 如果要实现全部 Windows 版 QQ 的功能,从使用 Objective-c/Swift 对比 Windows 常用 gui 编程方式,哪个更容易一些,原因是啥?

2814 次点击
所在节点    问与答
8 条回复
bulldozer
2016-12-19 14:31:17 +08:00
mac osx 软件不是少一些,是成数量级的少。而且大多数质量并不好。
DT27
2016-12-19 15:12:56 +08:00
Windows 平台的 VisualStudio 开发软件便易性无敌啊。。。
learnshare
2016-12-19 15:22:52 +08:00
之前的了解, Adobe/JetBrains 规模的公司才有能力开发一套跨平台的东西,来简化 Win/macOS 双平台的开发。一般公司都没有这个人力和能力去做两个平台的开发。

而且, Win 占据份额优势, macOS 用户少之又少;做 macOS 桌面应用开发的人也少; Qt 之类的跨平台工具也并没有那么多开发者。

不过随着 nw.js/Electron 这类基于浏览器,使用 HTML/CSS/JS 来做开发的平台越来越流行,未来可能会有更多公司愿意开发三大桌面平台的应用。
mcfog
2016-12-19 16:05:46 +08:00
1. 难度从来都不是影响软件数量的因素
2. mac 开发者非常稀少,同时懂 mac 和 win 桌面开发的更少(主要是 win 桌面开发分裂的厉害,而且近年来数量也锐减了),能公正地做这个比较的人太少太少了
3. 第一次听说 mac 软件质量不好的说法,有点新鲜
em70
2016-12-19 16:08:13 +08:00
Mac os 软件可以用 Delphi 开发,和 win 软件制作一样容易
levie
2016-12-19 16:22:49 +08:00
单看标题,哪个难其实是很主观的。更熟悉 Windows 编程的肯定认为 masOS 要难,反之亦然。
要找出同时熟悉两个平台的开发者,恐怕也不容易。

如果单单对比 API 的全面程度,我认为 Windows 相对于 macOS 有着绝对优势。
我们需要用到某 API 的时候,常常还需要用到其他相关的 API ,所以我习惯于直接去 google 搜,通常会有比较完整的例子以及注意事项。这时候,对于 Windows 上的,不管怎样奇葩、偏门的需求, google 总能给到我相关的结果,即使没有解决方案,也总是有人已经讨论过了,不用自己再去查文档做无用功。而 macOS 上,即使是比较常规的需求,也常常发现结果很少,甚至可能还没人提问过,然后去文档里找,也通常一无所获……

当然这也可以理解为 macOS 比较规范,防止开发者做出具有“奇怪”行为的应用程序。但我认为只要不影响系统的稳定性,系统 API 还是开放一些好,某种行为是否“奇怪”,交给开发者去决定,交给用户去检验……

以上是我作为 Windows 开发者的一点偏见……-.-
Lonely
2016-12-19 16:26:34 +08:00
xcode 不好用
QAPTEAWH
2016-12-19 17:00:43 +08:00
http://www.yinwang.org/blog-cn/2013/03/07/linux-windows-mac

> 再来比较一下 Windows 和 Mac 吧。我认识一个 Adobe 的高级设计师。他告诉我说,当年他们把 Photoshop 移植到 Intel 构架的 Mac ,花了两年时间。只不过换了个处理器,移植个应用程序就花了两年时间,为什么呢?因为 Xcode 比起 Visual Studio 真是差太多了。而 Mac OS X 的一些设计原因,让他们的移植很痛苦。不过他很自豪的说,当年很多人等了两年也没有买 Intel 构架的 Mac ,就是因为他们在等待 Photoshop 。最后他直言不讳的说,微软其实才是真正在乎程序员工具的公司。相比之下, Apple 虽然对用户显得友好,但是对程序员的界面却差很多。 Apple 尚且如此, Linux 对程序员就更差了。可是有啥办法呢,有些人就是受虐狂。自己痛过之后,还想让别人也痛苦。就像当年的我。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/328622

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX