2010-10-24 40 views
2

我想知道Adobe如何讓Photoshop跨平臺?我知道Photoshop完全是用C++編寫的,但是GUI呢? Adobe使用GUI工具包嗎?Adob​​e如何讓Photoshop跨平臺?

+0

我不完全肯定是誠實的,但如果有幫助,值得查找[諾基亞的Qt框架](http://qt.nokia.com/products/)。我已經看到它在幾個跨平臺圖形應用中使用,如[Nuke](http://www.thefoundry.co.uk/products/nuke/)。 (我不會說Photoshop使用Qt,Adobe可能會推出他們自己的) – 2012-05-03 18:53:26

回答

4

對於任何本地編譯的跨平臺項目,解決方案通常只包含專門爲特定平臺編寫的稱爲「包裝器」的代碼的一小部分。這些包裝可以直接與平臺進行交流。

這使得Photoshop等多平臺的應用程序,但它不一定建立在Adobe沒有編寫包裝的平臺上。

+0

是的,你是對的,我現在明白了,我在這裏找到了一個「包裝函數」的例子http://en.wikipedia.org/ wiki/Wrapper_function,但我認爲Wrapper功能是一個非常漫長而艱難的軟件跨平臺解決方案!謝謝Shmoopty =) – Freeseif 2010-10-25 00:10:32

1

編寫跨平臺軟件很繁瑣,但這裏有一些簡單的規則。

通常,您需要使用底層OS /環境的抽象,以便您的代碼取決於此抽象而不是操作系統本身。這被稱爲橋樑模式。瞭解您添加到程序和OS之間橋樑的更多功能對於移植軟件來說越困難,這一點很重要。在Adobe的情況下,他們使用操作系統(微橋)相對較小的一部分,因爲他們有自己的用戶界面和文本處理,所以他們只需要捕捉鼠標/鍵盤輸入,並能夠在窗口中繪製。

+0

這就是爲什麼隔離模型和查看邏輯非常重要。我確定他們的大多數操作邏輯都是建立在他們自己的內部C++ API上的,並且來自黑盒邏輯的端點被綁定到特定於操作系統的GUI類中。 – 2014-06-30 17:22:45