Tôi đến từ nền tảng lập trình Windows khi viết các công cụ, nhưng đã lập trình sử dụng Carbon và Ca cao trong năm qua. Tôi đã giới thiệu bản thân mình với Mac bởi, tôi thừa nhận nó, ẩn từ lập trình UI. Tôi đã cơ bản wapping mã OpenGL của tôi trong một cái nhìn, sau đó ở trong vùng thoải mái của tôi bằng cách sử dụng nền tảng OpenGL C++ mã bất khả tri của tôi như bình thường.Tư vấn docking cửa sổ cho Mac
Tuy nhiên, bây giờ tôi muốn bắt đầu chuyển một trong những ứng dụng phức tạp hơn của tôi sang Mac OS.
Thông thường tôi sử dụng phương pháp tiếp cận MDI tiêu chuẩn của Visual Studio, rất tuyệt vời, nhưng rất giống với Windows. Từ việc sử dụng máy Mac chủ yếu bây giờ trong một thời gian, tôi không có xu hướng thấy loại phương thức này được sử dụng cho giao diện người dùng Mac. Ngay cả Xcode cũng không hỗ trợ ý tưởng về các giao diện kéo và thả/cập nhật. Tôi nhìn thấy docked xem với tấm splitter, nhưng đó là về nó.
Điều gần nhất mà tôi đã thấy với phương pháp Visual Studio là Photoshop CS4, điều này khá hay.
Vậy sự đồng thuận chung về điều này là gì? Có cách nào giống như Mac để đạt được điều tương tự mà tôi chưa từng thấy? Nếu không, tôi vui khi viết một người quản lý cửa sổ ở Cocoa bản thân mình, để cuối cùng tôi có thể nghiên cứu về những gì trông giống như một API tuyệt vời.
Lưu ý, tôi không muốn sử dụng QT hoặc bất kỳ thư viện đa nền tảng nào khác. Toàn bộ vấn đề là tôi muốn tạo một ứng dụng Mac trông giống như một ứng dụng Mac, hãy để ứng dụng Windows trông giống như một ứng dụng Windows. Tôi luôn luôn tìm thấy các thư viện đa nền tảng có xu hướng mất hiệu ứng này, và khi tôi nhìn thấy một giao diện người dùng Mac bản địa, với sự chuyển tiếp và hình ảnh động ưa thích của Cocoa, tôi luôn luôn mỉm cười. Nó cũng là một lý do tốt cho tôi để học Cocoa.
Điều đó đang được nói, nếu có thư viện Cocoa nguồn mở để làm điều này, tôi rất muốn biết về điều đó! Tôi rất muốn xem làm thế nào người khác đạt được điều này, và sẽ giúp làm mịn đường cong học tập Cocoa.
Chúc mừng,
Shane
CẬP NHẬT: Tôi quên đề cập đến một điểm quan trọng. Tôi hỗ trợ các plugin, có thể có giao diện người dùng riêng để hiển thị các thông tin cụ thể về plugin khác nhau. Tôi không biết plugin nào sẽ được tải và tôi không biết giao diện người dùng của họ sẽ sống ở đâu, nếu tôi không hỗ trợ kết nối. Tôi muốn nghe suy nghĩ của mọi người về điều này, cụ thể: Làm cách nào để hỗ trợ kiến trúc chế độ xem plugin, nếu giao diện người dùng không thể thay đổi? Tôi đặt chế độ xem plugin ở đâu?
Xin đừng nhầm lẫn với "câu trả lời" dưới đây. Các cửa sổ có thể gắn trên máy Mac đã tồn tại trong một thời gian dài. (Cả Adobe và Google đều làm cho các ứng dụng có cửa sổ có thể gắn kết, nhưng bạn không thể làm điều đó? Đó là sự cố.) Vấn đề thực sự là không có hàng trăm công ty làm cho các thành phần của bên thứ ba cho Mac giống như dành cho Windows. Dưới đây là một bài viết và một số mã có thể giúp bạn bắt đầu với các bảng màu có thể gắn trên OS X - http://apptree.net/dockables.htm –
Vâng, tôi nghĩ nơi cần có các cửa sổ có thể gắn được, chúng rất khó để đánh bại. Một ví dụ cổ điển là Eclipse vs XCode (4). Tôi có thể đặt các cửa sổ bất cứ nơi nào tôi muốn trong Eclipse, trong khi tôi đang bị hấp dẫn trong XCode. Cảm ơn bạn đã liên kết, tôi sẽ kiểm tra. – Shane