5

来自 Microsoft 开发团队,我对 Mac 上可用的开发语言/环境有点困惑。除了 Java,我还应该考虑在 Mac 上使用类似 C# 的语言进行开发吗?MS 到 OSX 的转换更喜欢什么,为什么?我追求的是业务级编程策略,而不是游戏或图形,因此应用程序性能不是我选择平台的整体驱动因素。

4

8 回答 8

11

带有 Cocoa API 的 Objective-C 是要走的路。一旦你完成了这些,在 Ruby 和 Python 与 Cocoa API 之间也有桥梁。不过,我强烈建议您首先使用 Objective-C 学习 Cocoa API。

于 2009-02-28T22:12:07.557 回答
4

我也刚买了一台 Mac 并且来自 .NET 开发背景。我尝试了一堆不同的语言和环境。如果您要编写 OS X 桌面软件,您将需要使用 Cocoa 和 Interface Builder。IB 没有 Windows 对应物,因为它与 Cocoa 紧密相关。这意味着您将需要同时学习 Cocoa,而通过查看代码来做到这一点并不容易。

Objective-C 是 Mac 的原生语言,它不如 C# 精致。您需要一段时间才能流利地阅读它,因为调用函数看起来不同。在您学习 Cocoa 之前,使用 Python 或 Ruby 代替 Objective-C 只会增加一层复杂性,但之后似乎相当可行。C# via Mono 工作正常,但我不认为整个 Cocoa# 桥都已实现。C# 工具的质量比 Visual Studio 低很多,MonoDevelop 在 Mac 上非常难看。我决定如果我想走这条路,那么我需要学习 Objective-C,但我选择了不同的方向。

如果您正在编写一个网站,那么您将拥有更多的灵活性。整个 Python 和 Ruby 文化都是可用的,尽管在安装一些 Python 库时会遇到一些麻烦。这是我选择的路线,因为我有一些基本的 Python 经验,并且技能几乎 100% 兼容 Linux。iTerm 是比终端更好的客户端。我不喜欢我尝试过的大多数代码编辑器,并从 Smultron 开始,它只不过是一个非常称职的带有语法突出显示的文本编辑器。肯定有很多选择。

无论您如何处理它,您都将花费大量时间学习。我经常偶然发现 Python 语法,但我终于掌握了它。SQLAlchemy (Python ORM) 文档几乎总是有一个打开的浏览器窗口。我也硬着头皮开始使用 Vim(特别是 MacVim),这实际上是一件有趣的事情,因为似乎总有另一个命令可以完全满足您的要求。(例如,我厌倦了去一行,按 $ 到最后,按 a 追加,然后按 enter 开始新行,所以我用 Google 搜索发现我可以按 o。)

于 2009-03-04T16:25:15.610 回答
3

看看Mono项目

引用自维基百科

Mono 是由 Novell(以前由 Ximian)领导的一个项目,旨在创建符合 Ecma 标准、与 .NET 兼容的工具集,其中包括 C# 编译器和公共语言运行时。Mono 可以在 Linux、BSD、UNIX、Mac OS X、Solaris 和 Windows 操作系统上运行。

但我真的建议走 Cocoa 路线并获得 Aaron Hillegass 的书“Cocoa Programming for Mac OS X”

于 2009-02-28T22:08:26.990 回答
2

Objective-C, C, C++, Java, Ruby, Python, Php, ... 有很多语言/开发环境可供选择,包括 @epatel 所说的通过 Mono 的 C#。我想说语言的选择更多地取决于你正在开发什么,而不是你来自什么平台。

于 2009-02-28T22:13:29.863 回答
1

Objective-C 和 Cocoa 是肯定要走的路。开发人员经常会误以为 Objective-c 没有“那么详细”或“没有微调”。但我可以向你保证,它是业内一些最佳应用程序背后的动力源。有一个明显的学习曲线。

于 2009-03-05T03:18:20.580 回答
0

我会忘记单声道,它的效果不是很好。分发时,缓慢、错误和 system.drawing/forms 无法正常工作。

使用 c# 我会使用 monomac。您可以使用 c# 访问所有 mac api。这就像一个中途的房子。使用 NSWindow 代替 Forms,使用 NSView 代替控件。您使用图形上下文而不是绘图。缺点是文档有点薄而且成本很高。

于 2013-01-10T11:19:15.610 回答
0

只要您愿意使用 Mono,C# 可用于 OS X。对于非 UI 和 Web 的东西,它应该可以正常工作。

对于桌面应用程序开发,我使用 REALbasic。它的语法和对象模型与 Visual Basic 非常相似。

对于业务级编程,我不确定 Cocoa/Objective-C 是否会是最高效的开始;它与 .NET 和/或 Java 完全不同。

于 2009-03-01T00:47:49.803 回答
0

在相关说明中,

Silverlight是一种基于 Web 的“类闪存”技术,支持 Windows 和 Mac,您可以使用大多数 .net 语言进行编码。

于 2009-02-28T22:12:21.067 回答