繁体   English   中英

比较Windows和Mac OS X作为开发环境

[英]Comparisons Windows and Mac OS X as development environment

我已经使用Visual Studio(VC ++)和Windows API很长时间了,并且对Linux工具链非常熟悉,但是没有Mac OS X开发经验。

我想听听您对Windows和Mac 作为开发环境的利弊的看法。 但是,由于可能是主观的,如果您能列举一些事实,而不是简单地说“ A比B更好”,我将不胜感激。 特别是,我想听听以下内容:

  1. IDE:Visual Studio与xcode
  2. API:Win32 API(包括基于本机C的Win32 API,MFC,C#)和Cocoa(多数为Objective-C)
  3. 文档:MSDN与??
  4. 工具支持:调试,概要分析,测试等。
  5. 知识库:遇到问题时,容易从任何人那里获得帮助吗? 有很多书吗? (在Windows开发中,有Petzold,Richter等)
  6. 移动应用程序:iPhone与Windows Mobile

恐怕这个话题会引起争议。 但是,我想知道Mac与Windows相比如何提供开发环境。

我试图将答案尽可能地保持非主观性,严格把重点放在事实上。

1-IDE:Visual Studio与xcode

仅看功能集,如今大多数开发人员工具功能都是非常标准的。 每个工具都提供了基础知识,代码突出显示,调试器,分析器等。 有些工具具有其他工具所没有的功能,但基本功能在两个平台上非常稳定。

2-API:Win32 API(包括基于本机C的Win32 API,MFC,C#)和Cocoa(多数为Objective-C)

尽管执行相同的功能,但它们是不同的。 两者都为各自的开发人员提供了构建适用于平台指定样式的应用程序的基础。 两者都允许开发人员偏离“标准”样式的建议。

3-文档:MSDN与??

苹果也有自己的文档集。 这是Apple参考资料库。 http://developer.apple.com/mac/library/navigation/index.html

4-工具支持:调试,性能分析,测试等。

同样,两个套件都包含等效项。 调试器,分析器,测试工具等

5-知识库:遇到问题时,容易从任何人那里获得帮助吗? 有很多书吗? (在Windows开发中,有Petzold,Richter等)

从已出版书籍的总字数来看,我可能会猜测Windows开发的速度超过Mac开发的速度。 也就是说,那里有一些非常好的Mac开发书籍。 对于新开发人员,Aaron Hillegass撰写的“ Mac OS X的可可编程”被视为主要资源之一。

6-移动应用:iPhone与Windows Mobile

我没有针对Windows Mobile进行开发的经验,但是再次,我认为两者都具有相当相似的工具链,因为每个人都相互“借鉴”想法。

话虽这么说,Mac为Mac和iPhone平台提供了一个全面的开发环境,就像Windows为Windows和Windows Mobile平台提供了一个全面的开发环境一样。 一个主要区别是Mac随附了标准Mac开发工具链。 您无需购买其他任何东西(如果您是为该平台开发的,则可以订阅iPhone开发人员计划,但无需购买)。

1-IDE:Visual Studio与xcode

也许并不奇怪,Visual Studio非常类似于Windows,而Xcode非常类似于Mac。 Xcode提供了一个非常干净的界面,并且只有很少的非常大的按钮。 Visual Studio中的代码自动完成功能优于Xcode,但我相信最新版本的Xcode已大大缩小了这一差距。 Xcode非常适合以一致的方式使用工具栏和附件面板,因此,如果您习惯在Interface Builder中使用检查器面板,那么也可以在Pages,Numbers,Keynote,iWeb等中使用检查器面板。 Studio往往非常混乱,即代码编辑器的访问设置不同于报表服务组件的访问设置,而报表服务组件的访问不同于TFS组件等。

OS X还提供了非常有用的菜单搜索栏,它使在Xcode中找到打开断点窗口的命令的位置几乎像记住键组合是什么一样容易。

OS X的UNIX基础以及对Ruby,Applescript和Automator的支持,使您可以轻松使用自己喜欢的任何语言编写Xcode脚本。 非常适合在构建过程中自动执行SCM流程或自动移动文件或您拥有的文件。

2-API:Win32 API(包括基于本机C的Win32 API,MFC,C#)和Cocoa(多数为Objective-C)

因为我几乎没有使用过Windows API,所以我不能说它们,但是Cocoa很棒。 除了人们对Objective-C的任何异议外,很少听到关于API的贬低言论,它们功能强大,易于使用且提供了令人难以置信的一致接口,这使得选择新的Apple框架非常容易。

3-文档:MSDN与??

Apple的文档是干净,写得很好,最新的。 几乎所有的类都将包含指向示例项目的链接。 大多数复杂性的类文档包括示例代码,最复杂的类和框架将具有广泛的书面文档,始终以清晰易懂的英语编写。

命名空间可以使Objective-C成为更好的语言,这有很多原因,但是我喜欢这样的事实,即在Apple文档中搜索“ NSString”将始终返回我要查找的页面。

最重要的是,在尝试使用本文档时,您不必浏览其他Apple产品的广告。 :-D

4-工具支持:调试,性能分析,测试等。

我对使用过的Apple工具感到非常满意,但是由于从未使用过Microsoft的工具,因此我无法评论两者之间的任何区别。

5-知识库:遇到问题时,容易从任何人那里获得帮助吗? 有很多书吗? (在Windows开发中,有Petzold,Richter等)

我在获得有关Visual Studio问题的帮助时遇到了很多麻烦。 但是,这并不是一个公平的比较,因为我们使用的是旧版本的VS。 当我用Google搜索VS问题的答案时,我通常会出现在Experts-Exchange或一些古老的MS博客上。 当我在Xcode / OS X问题上向Google寻求帮助时,我通常会遇到StackOverflow或其中许多撰写良好且最新的Cocoa博客之一。 毫不奇怪,我对自己的OS X / Xcode体验感到非常满意。

此外,在进行OS X / iPhone开发时,我通常可以在Google帮助查询之间工作更长的时间。 一致的类界面,写得很好的文档和错误消息可以解释您做错了什么以及如何解决它,这意味着我很少需要寻求帮助来解决所遇到的问题。 那不是我在Visual Studio中工作的经验。 坚持不懈地工作,因为我已经是OS X开发人员5年以上,并且在Visual Studio中工作了<1。

6-移动应用:iPhone与Windows Mobile

从未接触过Windows Mobile,所以我无法发表评论。

Mac OS X获胜的几个方面:

  • 性能工具(Shark,Instruments等)-Windows上什至没有关闭(可能是Intel的VTune,它远没有Shark的功能)
  • 所有Apple工具都是免费的

补充保罗说的话:

我使用Eclipse和NetBeans(有时是NetBeans)进行跨平台开发,并且两者在Mac上的工作原理(大部分)与PC相同。

带有BSD后端的OSX使您可以通过带有运行Shell脚本和其他漂亮命令行内容的终端访问常规的unix工具集。

  1. 工具支持

我更喜欢OSX,因为通过Macports,我有成千上万的库+源+依赖项。 它比cygwin更集成。 另外,OS X具有合适的终端和内置的X。我不知道为什么Windows仍具有与Windows 3.1相同的终端。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM