Tôi thấy rất nhiều thông tin cũ về câu hỏi này, và rất nhiều bài báo bay xung quanh Interwebs, nhưng tôi không thể nói rõ mọi thứ đang ở đâu.
Về cơ bản, tôi muốn viết mã C # mà sau đó tôi có thể biên dịch thành ứng dụng Windows gốc và cũng có thể biên dịch thành ứng dụng Mac gốc (không Parallels, không Wine, v.v.). Điều này có thể được thực hiện?
Các sản phẩm như Xamarin có phải là con đường để đi? Trang web của Xamarin cho biết "Sử dụng cùng ngôn ngữ, API và cấu trúc dữ liệu để chia sẻ trung bình 75% mã ứng dụng trên tất cả các nền tảng phát triển di động." nhưng tôi không thể biết 25% mã ứng dụng dành riêng cho nền tảng có thể đòi hỏi gì ... Tôi cũng không thể biết nếu họ nhắm mục tiêu OSX và Windows, trang web của họ rất tập trung vào thiết bị di động.
[thêm vào sau]
Tóm tắt: Xamarin không được thiết kế để tạo các ứng dụng đa nền tảng - những gì họ cung cấp cho bạn là một cách để viết các ứng dụng Mac trong C #, sử dụng các hoạt động GUI của Mac. Những gì họ khuyên là viết tất cả nền tảng "logic kinh doanh" của bạn, sau đó viết 2 GUI hoàn toàn riêng biệt - một cho Windows, một cho Mac.
C # / Qt dường như đang ở giai đoạn rất sớm (mặc dù nếu có ai đó vấp phải bài viết này vào năm 2016 hoặc sau đó, hãy kiểm tra nó).
Dường như mono sẽ thực hiện đa nền tảng bao gồm GUI, nhưng chỉ khi bạn sử dụng Windows Forms.