2009-12-11 12 views
16

Tôi nhận ra điều này hơi điên, C# là ngôn ngữ Windows và tất cả, nhưng tôi muốn bắt đầu học C# chủ yếu là vì tôi quan tâm đến ASP.NET MVC. Tôi làm việc như một nhà phát triển web theo ngày và văn phòng của tôi hoàn toàn chạy trên các máy * nix. Các nhà phát triển và tất cả các nhân viên khác sử dụng Mac OS X và các máy chủ của chúng tôi đều là một số biến thể của Linux.Học ASP.NET MVC trên Mac OS X

Thành thật mà nói, tôi chỉ muốn thử một cái gì đó khác với PHP, Python hoặc Ruby. Việc bắt được là tôi không muốn từ bỏ Mac OS X. Tôi đã nhìn Mono một chút và có vẻ như chính xác những gì tôi đang tìm kiếm. Thật không may MonoDevelop là rất chậm đến mức vô dụng trên Mac OS X. (Trừ khi tôi đang làm một cái gì đó sai đó là hoàn toàn chính đáng). Vì vậy, câu hỏi của tôi tóm tắt cho điều này: Cách tốt nhất để mã hóa và biên dịch các ứng dụng C# trên Mac OS X. (Chạy mã không phải là vấn đề lớn, tôi có lẽ sẽ chỉ nhận được một số không gian máy chủ giá rẻ để chạy ứng dụng ASP.NET MVC của tôi trên. Tôi không thực sự muốn chạy bất kỳ ứng dụng nào trên Mac OS X.)

+0

Bạn đang chạy phiên bản MonoDevelop nào? Bạn đã thử phiên bản 2.2 RC mới nhất đã được phát hành hôm qua chưa? –

+0

Tải xuống ngay bây giờ. Trong khi đọc ghi chú phát hành, có vẻ như họ có thể khắc phục sự cố chậm chạp mà tôi gặp phải: https://bugzilla.novell.com/show_bug.cgi?id=543956 – macinjosh

Trả lời

21

Theo kinh nghiệm của riêng tôi như là một C#/Windows/ASP.Net phát triển sức mạnh vĩ đại nhất của nền tảng này là sự tích hợp với các công cụ. Điều đó nói rằng rất khó để có được tất cả chạy trên mono. Mono sẽ là một nền tảng triển khai tuyệt vời. Nhưng nếu bạn muốn tìm hiểu asp.net MVC đặt cược tốt nhất của bạn là thiết lập môi trường Windows ảo và tải studio trực quan nhà phát triển web trực quan miễn phí: http://www.microsoft.com/express/vwd/.

Lý do khác là nếu bạn đang cố gắng tìm hiểu nền tảng, hầu hết các tài nguyên sẽ sử dụng một số biến thể của Visual Studio. Tôi tìm thấy nó khá khó khăn để thử và tìm hiểu một khuôn khổ và phải đấu tranh với sự khác biệt nền tảng cùng một lúc.

Tôi nói điều này như một người dùng OS X avid đã thực hiện phát triển C# trong nhiều năm và đã thực hiện một số dự án nhỏ trong asp.net mvc.

+1

Tôi chạy một máy ảo Windows 7 trên Hackintosh để phát triển .NET và thấy đây là phương pháp tốt nhất. –

+3

@Jon: Nếu đó là một hackintosh, tại sao bạn không chỉ khởi động kép? – BFree

+1

Khi tôi là một C# dev, Windows là hệ điều hành gốc của tôi và tôi vẫn phát triển trong một máy ảo vì những lợi ích của các snapshot cấu hình và rollback. –

6

điều gì về việc chạy máy ảo Windows trên máy Mac của bạn?

thấy http://www.parallels.com/eu/products/desktop/

+0

Tôi đã nghĩ về nó và đó là một lựa chọn khả thi, nhưng cá nhân tôi rất thích Mac OS X và đã hy vọng một giải pháp bản địa tồn tại. Tôi đã sử dụng VMWare Fusion để chạy Windows XP. Tôi đã hy vọng cho một giải pháp bản địa Mac OS X. – macinjosh

+4

Trong khi bạn có thể học C# bằng cách sử dụng mono nguyên bản, ASP.NET thực sự được phát triển tốt nhất bằng cách sử dụng Visual Studio. Bạn thực sự sẽ chiến đấu với hệ thống cố gắng để đánh lừa nó thành một thứ khác (giống như cố gắng xây dựng các ứng dụng iPhone trên Windows; bạn có thể làm điều đó, nhưng thật là đau). –

3

+1 đến Min's answer.

Các công cụ mà Microsoft cung cấp (miễn phí và mua) là tuyệt vời và tích hợp rất tốt. Tôi càng sử dụng Visual Studio, tôi càng thích nó.

Tôi khuyên bạn nên thực hiện dev cho ASP.NET/C# trên Windows (bootcamp hoặc vmware hoặc w/e).

Có để chuyển đổi giữa các hệ điều hành khi bạn muốn mã là một mức giá nhỏ để trả so với các khả năng tương thích mà bạn có thể gặp phải trong tương lai.

1

Phát triển trong .net có định hướng IDE khá cao. Tất nhiên bạn có thể làm tất cả trong một trình soạn thảo văn bản cũ nhưng nó trở nên khó hơn và khó hơn trừ khi bạn chỉ viết mã máy chủ back-end. Có lẽ có những IDE đơn sắc tuyệt vời nhưng tôi không thể thấy lý do tại sao bạn muốn sử dụng MacOS khi tất cả thời gian sẽ được chi tiêu bằng cách sử dụng IDE anyway.

Chắc chắn bỏ phiếu cho Windows ảo hoặc sử dụng BootCamp.

+1

-1 để "Phát triển trong .net là khá cao IDE theo định hướng" – asyncwait

+0

Bạn đã không bao giờ được sử dụng kéo và thả hộp công cụ, tự động DB liên kết mã thế hệ, tự động code-đằng sau tập tin thế hệ? Làm điều đó bằng tay không vui. –

+0

@John Tôi đã cố gắng sửa câu trả lời này và thay đổi "BaseCamp" thành "Boot Camp", đó là những gì tôi nghĩ bạn muốn nói. Tuy nhiên, chỉnh sửa của tôi đã bị từ chối, vì vậy có thể bạn có thể thực hiện sửa đổi, nếu bạn thực sự muốn nói Boot Camp. –

2

Tôi muốn thêm vào đối số ảo hóa. Nếu bạn đã đi cho một cài đặt Windows trong VMWare Fusion, ví dụ, bạn có thể chạy nó trong chế độ kết hợp. Trong chế độ này, bạn vẫn nhận được tất cả các ứng dụng và hệ thống mà bạn biết và yêu thích trong OS X và làm cho Visual Studio xuất hiện như thể là một ứng dụng OS X gốc. VS, mặc dù, "nhìn thấy" môi trường Windows, vì vậy bạn có được những trang phục phát triển trên Windows.

Tất nhiên, bạn có chi phí có hai hệ điều hành cạnh tranh cho tài nguyên, nhưng phần lớn thời gian này không phải là vấn đề (không phải với tôi, dù sao, và tôi chạy dự án của riêng mình ở nhà theo cách này một chiếc MacBook khiêm tốn)

+0

+1 để ảo hóa, nhưng tôi có thể sử dụng các máy tính để bàn Win/* nix/OSX tốt như nhau và sự pha trộn và kết hợp của các hành vi hệ thống trên một máy tính để bàn duy nhất là lộn xộn. Chế độ kết hợp là bất cứ điều gì nhưng kết hợp với tôi (và nó vẫn còn rất nhiều trục trặc). –

1

Tôi đồng ý với một máy ảo cửa sổ và VS Express, nhưng Mono Develop không phải là xấu khi đặc biệt nhắm mục tiêu ASP.NET MVC.

-1

Bạn có thể cài đặt máy tính để bàn Linux trên máy Mac (KDE) và sử dụng rượu (ứng dụng trình mô phỏng cửa sổ linux) để cài đặt Visual studio express. Máy tính để bàn KDE chạy trên một mac. Bây giờ bạn không phải cài đặt một cửa sổ os hoàn chỉnh trên máy tính của bạn.

+1

Bạn đã thực sự thử điều này chưa? rượu vang có thể không cạnh tranh với mọi thứ. – Andy