Tôi phát triển phần mềm ứng dụng khách phong phú trên Mac OS X và Linux. Tôi muốn chuyển một ứng dụng sang Windows và không phải là người dùng các sản phẩm của Microsoft, tôi không quen thuộc với Windows nói chung.Tôi nên chọn API Windows nào cho ứng dụng khách phong phú?
Điều tôi quen thuộc với:
Trên Mac OS X, tôi có tùy chọn Ca cao và C hoặc Carbon mục tiêu và C/C++. Trên Linux, tôi có tùy chọn GTK + và C/C++ hoặc Qt và C++. Tôi thích Cocoa trên Mac OS X và GTK + trên Linux. Giao diện Builder cho Cocoa và Glade cho GTK + làm cho cuộc sống của tôi dễ dàng. Đó là thú vị để tạo khách hàng phong phú trong các hệ điều hành này.
Lớp lõi của tôi hoặc "mô hình" trong MVC, được viết bằng nền tảng C++. Các lớp giao diện người dùng, hoặc "xem và điều khiển" trong MVC, được viết bằng ngôn ngữ "ưa thích" và GUI API cho mỗi nền tảng tương ứng.
C++ là ngôn ngữ tôi quen thuộc nhất. Tôi sử dụng thư viện Tăng cường rộng rãi. Đặc biệt là con trỏ thông minh, chủ đề và thư viện mạng asio. Đối với Unicode, bản địa hóa, vv, tôi sử dụng các thành phần quốc tế cho Unicode (ICU).
Câu hỏi 1: Ngôn ngữ "ưa thích" và GUI API cho nền tảng Windows tương thích với các lớp mô hình đa nền tảng của tôi là gì?
Câu hỏi 2: Làm cách nào để truy cập vào các lớp mô hình đa nền tảng của tôi?
Ví dụ: trên Mac OS X, tôi truy cập các lớp mô hình của mình thông qua các lớp trình điều khiển. Các lớp điều khiển được thực hiện trong Objective-C++. Objective-C++ là sự kết hợp của C++ và Objective-C. Xem đối tượng "nói chuyện với" đối tượng điều khiển trong Objective-C trong khi bộ điều khiển đối tượng "nói chuyện với" đối tượng mô hình trong C++.
Trên Linux, tất cả các lớp được triển khai trong C++.
đúng, không có cách nào để viết mã chỉ dành cho cửa sổ khi bạn có thể giữ cho nền tảng chéo. tất nhiên, tôi muốn Qt hơn GTK + (không có hiệu suất trên không, hoặc GUI mistmatch!), nhưng câu hỏi được đề cập đã thích GTK +, vì vậy chỉ cần giữ nó. – Javier