【问题标题】:Developing on Apple (new platform)在 Apple 上开发(新平台)
【发布时间】:2010-10-10 13:42:10
【问题描述】:

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

【问题讨论】:

    标签: c# macos development-environment


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我也刚买了一台 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。)

      【讨论】:

        【解决方案3】:

        看看Mono 项目

        引用wikipedia

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

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

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

            【讨论】:

              【解决方案6】:

              在相关说明中,

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

              【讨论】:

                【解决方案7】:

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

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

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

                【讨论】:

                  【解决方案8】:

                  我会忘记单声道,它的效果不是很好。分发时速度慢、有问题,并且 system.drawing/forms 无法正常工作。

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

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2010-11-29
                    • 2013-06-09
                    • 2018-08-30
                    • 2013-12-27
                    • 1970-01-01
                    • 1970-01-01
                    • 2015-10-20
                    相关资源
                    最近更新 更多