在Windows上开发Mac OS X应用程序?

9

很简单的情况。我是一名软件工程师,主要使用 Delphi 和 C# 进行软件开发。Delphi 对于桌面应用程序非常好,而 C# 结合 ASP.NET 用于 Web 应用程序则更加理想。然而,我正在考虑自学更多关于 Mac 软件开发的知识。Xcode 和 Cocoa 是开始的环境。

学习新语言对我来说不是问题!

但是,在开始在 Mac 上编写代码之前,我首先需要购买一台 Mac。它们价格相对较高,所以在我确定需要哪种Mac产品之前,这个购买决定可能需要几个月时间。因此,为了帮助我,我想知道没有必须拥有Mac的情况下如何学习更多关于Mac开发的知识!

例如,OS X 是否可在 VMware 环境中工作?开发工具是否也可用于 Windows?是否有 OS X 库的清晰 API 概述?

还是说我应该先购买一台 Mac,玩几个星期,然后再决定如何为其开发软件?换句话说,我现在应该开始花费,还是几个月后? :-)

10个回答

15

4

Mac OS X可以在VMWare中运行...

不幸的是,XCode仅适用于Mac OS...

有一些版本的Max OS可以在x86机器上运行。您可以避免购买Mac PC,但必须支付操作系统和XCode的费用...

编辑:XCode是免费的


它一直都是免费的吗?几个月前我检查过,我记得它的费用是100美元...但这可能是我的错误。 - Svetlozar Angelov
2
目前没有任何商业版本的OS X可以直接在普通PC上运行。 - Chuck
1
你所想的100美元费用可能是99美元/年的iPhone开发者计划会员费。 - Coxy

3
如果想要为Mac开发,你肯定需要一台Mac电脑。即使是Java也需要本地测试。
话虽如此,Mac电脑价格不算太贵,而且还可以运行Windows系统。
如果在拥有Mac电脑之前想要学习和开始编程,我建议使用Java或.NET,特别是Delphi Prism。
请看这里我个人使用Delphi Prism的第一个实验:

http://leaukiprog.blogspot.com/2009/07/delphi-prism-first-experiment.html

你可以编写一个Windows程序,将GUI代码和其他代码分开,并稍后使用本机Cocoa GUI替换Mac上的Winforms GUI。
我发现Pascal是从.NET访问本机API的好语言。一切看起来比C#更清晰,我认为。
据我所知,Delphi Prism的新版本将于25日发布。

我对最新的Delphi版本并不太印象深刻。不过,既然我自1994年以来一直在使用Delphi,之前还用过Turbo Pascal,所以我猜迟早都得升级。 - Wim ten Brink
Delphi不等于Delphi Prism。前者是针对Win32的Object Pascal加上VCL(虽然它很快就会支持64位,并且他们计划跨平台),而后者是针对.NET的Object Pascal(没有VCL)。我在15年没有使用Turbo Pascal之后才开始使用Delphi(两者都用)。 - Andrew J. Brehm

3

您也可以了解GNUstep项目。这将让您在跳入Objective-C之前稍微体验一下,尽管使用的是GNU库而不是Cocoa。


2
如果你使用RealBasic或Lazarus编码,你可以为Mac OS和Windows(在Lazarus的情况下还可以为Linux)运行和编译应用程序。 RealBasic在Mac平台之外并不那么流行,也不是免费的。 Lazarus仍然有些粗糙,但基本上是Delphi的免费版本。
Lazarus正在努力开发下一个主要版本的FPC的本地COCOA端口(尽管这可能只会在2011年发布)。

2
良好的Mac(或iPhone)软件是一种艺术品,它反映了Mac(或iPhone)用户的文化和品味。由于Mac是一个高端平台,用户往往更加敏感于应用程序的触感和光泽。因此,要成功地为Mac / iPhone编程,甚至正确理解Cocoa框架,您必须理解Mac用户体验。尽管许多来自Windows或其他UNIX世界的人试图跳过这一步,但他们这样做是冒着风险的。
所以,作为一名Mac开发人员(也写其他UNIX操作系统),我的建议是购买一台Mac并开始使用,如果可能的话全职使用。Mac Mini完全足够进行开发,并且仅需几百美元,包括操作系统在内。请考虑在Windows上,这通常低于完整VS许可证的价格。其他所有内容(Xcode,库等)都是免费的。
一旦您拥有了Mac并开始理解事物的感觉,您会发现有许多开发选项。除了Cocoa框架 - 可以通过Python(通过内置的PyObjC桥接器)、Ruby(通过MacRuby或RubyCocoa)使用之外,还有许多其他选项。Nokia的Qt和Mono都是可行的。通常,使用Qt或Mono编写的跨平台应用程序在Mac上不受喜欢,因为它们没有“本地”感(见上文),但实际上问题并不在于框架。如果您掌握了Mac用户体验,即使使用跨平台框架,您也可以编写出一款非常流畅的Mac应用程序。您只需要打算编写Mac应用程序,而不是让Windows应用程序在Mac上工作即可。

我编写的大多数应用程序都有简化的用户界面。我正在大量使用后台进程和(Web)服务。对于 Web 服务,提供与使用相同服务的 Windows 应用程序类似的 GUI 界面非常有趣。(当然,我可以将它们转换为完全基于 Web 的应用程序,但这些应用程序总是缺乏客户端应用程序所需的功能。) - Wim ten Brink
2
+1 "好的Mac软件...(编辑)反映了Mac用户的文化和品味" - 真的很正确。 - stefanB
1
只是想为公司内游戏关卡设计程序修复一些错误(与文件解析器和验证器有关),这是我朋友在工作中使用的。结果发现需要购买 Mac 并加入“苹果文化”方可实现这个目标,真是让人“感慨”。 - Ski

1

Mac使用Objective C语言。API非常有用,而且有许多在线教程可供学习。您将使用Xcode,这是Mac版本的Windows Visual Studio和Linux Glade。

我喜欢制作跨平台应用程序。只需几个小时,我就可以在Mac上原型设计一个应用程序,并发布到网上。然后再花一两天时间将其移植到Windows系统。


你如何在Mac上进行原型设计,然后将其移植到Windows? - Andrew J. Brehm
奇怪,我使用Objective Pascal。 - Marco van de Voort

1

Mac看起来很贵,但如果你看看你为这些钱得到了什么,它其实并不贵。

是否购买完全取决于您。我保证您会在编程之外的许多有趣体验中享受它。如果您想要一台便宜的Mac,只需花500美元购买Mac Mini,然后将其连接到您已经拥有的显示器上。

我建议在Mac OS X上进行操作,而不是Windows,但同样:这取决于您。

P.S. 您可以使用VMWare,但如果您的内存少于4GB,我认为它会很慢。


实际上,我有一台运行 Vista-64 位且带有 12 GB RAM 的四核处理器电脑。不太担心事情会变慢。;-) - Wim ten Brink

0
如果你选择二手的话,Mac其实并不贵。我之前因为全新Macbook的价格而望而却步,所以花了350英镑买了一台2007年底的型号,并额外加装了1GB内存。
价格合理,对于开发来说也更方便!

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接