2009-02-28 37 views
5

Xuất phát từ nhóm phát triển của Microsoft Tôi hơi bối rối về những ngôn ngữ/môi trường phát triển có sẵn trên máy Mac. Có bất kỳ ngôn ngữ C# nào để phát triển trên Mac ngoài Java mà tôi cũng nên xem xét không? MS làm gì để OSX chuyển đổi thích và tại sao? Tôi đang theo đuổi chiến lược lập trình cấp doanh nghiệp chứ không phải chơi game hay đồ họa để hiệu suất ứng dụng không phải là trình điều khiển tổng thể cho sự lựa chọn nền tảng của tôi.Phát triển trên Apple (nền tảng mới)

Trả lời

3

Có một cái nhìn tại dự án Mono

Trích từ wikipedia

Mono là một dự án do Novell (trước đây bởi Ximian) để tạo ra một tiêu chuẩn ECMA compliant bộ, NET tương thích với các công cụ , bao gồm một số khác là trình biên dịch C# và Thời gian chạy ngôn ngữ chung. Mono có thể chạy trên các hệ điều hành Linux, BSD, UNIX, Mac OS X, Solaris và Windows.

Nhưng tôi thực sự khuyên bạn đi theo con đường ca cao và nhận được Aaron Hillegass cuốn sách "Cocoa Lập trình dành cho Mac OS X"

12

Objective-C với các API Cocoa là con đường để đi. Một khi bạn có những người xuống, cũng có cầu nối giữa Ruby và Python đến Cocoa API. Tôi rất khuyên bạn nên học ban đầu các API Cocoa với Objective-C đầu tiên, mặc dù.

0

Trên một lưu ý liên quan,

Silverlight là một công nghệ dựa trên web "flash như" hỗ trợ trên Windows và Mac và bạn có thể mã hóa bằng các ngôn ngữ .net nhất.

2

Mục tiêu-C, C, C++, Java, Ruby, Python, Php, ... Có rất nhiều lựa chọn ngôn ngữ/môi trường phát triển để sử dụng, bao gồm C# qua Mono như @epatel nói. Tôi sẽ nói rằng sự lựa chọn ngôn ngữ phụ thuộc nhiều hơn vào những gì bạn đang phát triển hơn là nền tảng bạn đang đến.

0

C# khả dụng cho OS X, miễn là bạn sẵn sàng sử dụng Mono. Đối với giao diện người dùng không phải là giao diện người dùng và web, nó phải hoạt động tốt.

Để phát triển ứng dụng dành cho máy tính để bàn, tôi sử dụng REALbasic. Đó là cú pháp và mô hình đối tượng rất giống với Visual Basic.

Đối với lập trình cấp doanh nghiệp, tôi không chắc chắn nếu Cocoa/Objective-C sẽ là điều hiệu quả nhất để bắt đầu; nó khá khác với .NET và/hoặc Java.

5

Tôi cũng vừa mua máy Mac và đến từ nền phát triển .NET. Tôi đã thử một loạt các ngôn ngữ và môi trường khác nhau. Nếu bạn đang viết phần mềm máy tính để bàn OS X, bạn sẽ cần phải sử dụng Cocoa và Interface Builder. IB không có đối tác Windows vì nó bị ràng buộc rất nhiều vào Cocoa. Điều này có nghĩa là bạn sẽ cần phải học Cocoa đồng thời, và nó không phải dễ dàng để làm bằng cách nhìn vào mã.

Mục tiêu-C là ngôn ngữ mẹ đẻ của máy Mac và không được tinh chỉnh như C#. Phải mất một lúc trước khi bạn có thể đọc nó trôi chảy bởi vì các chức năng gọi trông khác nhau. Sử dụng Python hoặc Ruby thay vì Objective-C chỉ thêm một lớp phức tạp cho đến khi bạn học Cocoa, nhưng nó có vẻ khá khả thi sau đó. C# thông qua Mono hoạt động tốt, nhưng tôi không nghĩ rằng toàn bộ cây cầu Cocoa # được thực hiện. Các công cụ C# có chất lượng thấp hơn rất nhiều so với Visual Studio và MonoDevelop cực kỳ xấu xí trên Mac. Tôi quyết định rằng nếu tôi muốn đi con đường này thì tôi cần phải học Objective-C, nhưng đi theo một hướng khác.

Nếu bạn đang viết một trang web thì bạn sẽ linh hoạt hơn rất nhiều.Toàn bộ Python và các nền văn hóa Ruby có sẵn, mặc dù có một số trục trặc với việc cài đặt một số thư viện Python. Đây là con đường tôi đã làm bởi vì tôi đã có một số kinh nghiệm Python cơ bản và các kỹ năng gần như tương thích 100% với Linux. iTerm là một khách hàng tốt hơn so với Terminal. Tôi không thích hầu hết các trình biên tập mã mà tôi đã thử, và bắt đầu với Smultron không nhiều hơn một trình soạn thảo văn bản có thẩm quyền với cú pháp tô sáng. Có chắc chắn tấn tùy chọn.

Bất kể bạn tiếp cận như thế nào, bạn sẽ dành rất nhiều thời gian để học. Tôi đã liên tục vấp phải cú pháp Python nhưng cuối cùng tôi cũng đã đạt được điều đó. Tài liệu SQLAlchemy (Python ORM) hầu như luôn có một cửa sổ trình duyệt đang mở. Tôi cũng bit viên đạn và bắt đầu sử dụng Vim (MacVim cụ thể), mà thực sự là một điều thú vị để tìm hiểu bởi vì luôn luôn có vẻ là một lệnh khác mà không chính xác những gì bạn muốn. (Ví dụ, tôi đã mệt mỏi khi đi đến một dòng, nhấn $ để đi đến cuối, nhấn một để nối thêm, sau đó nhấn enter để bắt đầu một dòng mới vì vậy tôi Googled và phát hiện ra tôi chỉ có thể nhấn o.)

1

Objective-C và Cocoa là cách để đảm bảo. Khá thường xuyên devs sẽ làm cho quan niệm sai lầm rằng Objective-c không phải là "chi tiết", hoặc "như tinh chỉnh". Nhưng tôi có thể đảm bảo với bạn, đó là nhà điện đằng sau một số ứng dụng tốt nhất trong kinh doanh. Có một đường cong học tập đáng chú ý.

0

Tôi sẽ quên mono, nó không hoạt động tốt. Các biểu mẫu/biểu mẫu chậm, lỗi và system.drawing không hoạt động đúng khi bạn phân phối.

Với C# tôi sẽ đi với monomac. Bạn truy cập tất cả các apis mac nhưng trong C#. Nó giống như một ngôi nhà nửa đường. Thay vì biểu mẫu bạn sử dụng NSWindow và thay vì kiểm soát bạn sử dụng NSView. Thay vì vẽ bạn sử dụng ngữ cảnh đồ họa. Nhược điểm là tài liệu là một chút mỏng và chi phí.

Các vấn đề liên quan