在Mac OS X上学习ASP.NET MVC

16

我知道这可能有点疯狂,因为C#是一种Windows语言,但我想开始学习C#主要是因为我对ASP.NET MVC感兴趣。白天我从事Web开发工作,我的办公室完全运行在*nix机器上。开发人员和其他员工都使用Mac OS X,我们的服务器都是Linux的某个变种。

老实说,我只是想尝试一些与PHP、Python或Ruby不同的东西。但问题是我不想放弃我心爱的Mac OS X。我已经稍微看了一下Mono,它似乎正是我所需要的。不幸的是,在Mac OS X上,MonoDevelop非常慢,以至于几乎没法用。(除非我做错了什么,这完全有可能)

所以我的问题归结为:在Mac OS X上编写和编译C#应用程序的最佳方法是什么。(运行代码并不是很大的问题,我可能会获得一些便宜的服务器空间来运行我的ASP.NET MVC应用程序。我并不真的想在Mac OS X上运行任何应用程序。)


你正在运行哪个版本的MonoDevelop?你尝试过昨天发布的最新2.2 RC版本吗? - Tom van Enckevort
正在下载中。在阅读发布说明时,看起来他们可能已经修复了我遇到的缓慢问题:https://bugzilla.novell.com/show_bug.cgi?id=543956 - joshwbrick
8个回答

21
在我作为C#/Windows/ASP.Net开发人员的个人经验中,该平台最大的优势是与工具的集成。话虽如此,要在mono上运行所有内容仍然很困难。Mono将是一个出色的部署平台。但如果你想要学习asp.net MVC,最好的选择是设置虚拟Windows环境并获取免费的Visual Web Developer Visual Studio:http://www.microsoft.com/express/vwd/
另一个原因是,如果你正在尝试学习该平台,大多数资源都将使用某种形式的Visual Studio。尝试学习框架并同时解决平台差异问题非常困难。
我是一名狂热的OS X用户,已经做了几年的C#开发,并在asp.net MVC中完成了几个小项目。

1
我在我的Hackintosh上运行Windows 7虚拟机进行.NET开发,我认为这是最好的方法。 - Jonathan Freeland
3
@Jon:如果这是一个黑苹果,为什么不选择双系统启动? - BFree
1
当我还是一名C#开发人员时,Windows是我的本地操作系统,但由于配置快照和回滚的好处,我仍然在虚拟机中进行开发。 - Matt Garrison

6

我已经考虑过这个问题,这是一个可行的选择,但我个人更喜欢Mac OS X,并希望存在本地解决方案。我已经使用VMWare Fusion运行Windows XP了。我希望有一个Mac OS X本地解决方案。 - joshwbrick
4
虽然你可以使用Mono本地化学习C#,但ASP.NET最好使用Visual Studio进行开发。如果试图将其强行适应其他环境,就会很麻烦(就像在Windows上构建iPhone应用程序一样;虽然可以这样做,但非常麻烦)。 - Rob Napier

3

+1到Min的回答

微软提供的工具(免费和付费)非常出色并且集成得非常好。 我使用Visual Studio的次数越多,就越喜欢它。

我强烈建议在Windows上进行ASP.NET/C#的开发(使用bootcamp或vmware等)。

与未来可能面临的潜在兼容性问题相比,当您想要编码时必须在操作系统之间切换是一个小代价。


2
我想补充一下虚拟化的观点。比如说,如果你选择在 VMWare Fusion 上安装 Windows,你可以使用协同模式运行它。在这种模式下,你仍然可以在 OS X 中使用你所熟悉和喜爱的所有应用程序和系统,使 Visual Studio 看起来就像是一个本地的 OS X 应用程序。但是,VS“看到”的是 Windows 环境,因此你可以获得在 Windows 上开发的好处。

当然,你需要两个操作系统共享资源,但大多数情况下这不是问题(对我来说不是问题,在我的 MacBook 上也是这样运行自己的项目)。

对于虚拟化我是持赞同态度的,但我同样能够熟练地使用Win/*nix/OSX桌面系统。然而,在单个桌面上混合不同操作系统的行为会显得非常混乱。对我来说,协同模式一点也不协同(而且仍然存在很多故障)。 - Matt Garrison

2

1

在 .net 开发中,IDE 是非常重要的。当然你可以使用普通的文本编辑器来完成所有工作,但是除非你只编写后端服务器代码,否则这会变得越来越困难。也许有很棒的基于 Mono 的 IDE,但我无法理解为什么你会更喜欢使用 MacOS,因为你将花费大量时间使用 IDE。

绝对支持虚拟化 Windows 或使用 BootCamp。


你从未使用过拖放工具箱、自动生成数据库链接代码和自动生成代码后台文件吗?手动完成这些工作并不好玩。 - Mr. Boy
@John 我试图更正这个答案,把“BaseCamp”改为“Boot Camp”,因为我认为你想说的是“Boot Camp”。然而,我的编辑被拒绝了,所以如果你确实是想说“Boot Camp”,或许你可以进行改正。 - Julian Mann

1

我同意使用虚拟Windows机器和VS Express,但是当特别针对ASP.NET MVC时,Mono Develop也不错。


-1
你可以在你的Mac上安装一个Linux桌面环境(KDE),并使用Wine(一个Linux Windows模拟器应用程序)来安装Visual Studio Express。KDE桌面环境可以在Mac上运行。现在你不必在你的机器上安装完整的Windows操作系统了。

1
你实际尝试过吗?Wine可能无法模拟所有东西。 - Andy

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