Office 2013 的 UI 是什麼語言寫的?


作為該組員工我簡單透露一點:

Windows、Metro、Windows Phone,Android、Mac和iOS都用的是原生的東西來寫GUI的。

其中Metro和Windows Phone完全就是同一個工程,因為Universal App的支持。之所以在不同的屏幕上有不同的排版,其實是用MVVM做了好幾套GUI在裡面。譬如說最近Build的視頻,你把一個手機上的Word投射在外界的屏幕上就變成了Surface上的Word,就是這個意思。程序會根據屏幕的物理屬性來判斷到底要用哪一套GUI。

至於怎麼寫出好幾套GUI,其實有很多種做法。你可以單獨做,也可以用幾十年前就有的、前端界最近一直在吹的響應式設計,然而WPF的data binding+visual state比起HTML的media query簡直就像汽車和自行車的區別。

你可以簡單的理解為,使用C++來共享所有邏輯代碼,然後只需要在每個平台上都把GUI重新做一遍,就搞出來了。


推薦閱讀:

作為程序員,自己在Github上的項目被很多人使用是什麼體驗?
消滅星星(Popstar)遊戲是怎麼開發實現的?難不難?
IEEE 754格式是什麼?
Android開發和前端開發,該選擇哪個?
Minecraft開發圈內應不應該開發出降低門檻的程序?

TAG:微軟Microsoft | 軟體 | 編程 | Office2013 |