日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

從Windows的角度看Mac OS X上的軟件開發(fā)( 六 )


盡管如此,GUI是造就Mac OS X在外觀上與其他平臺不同的最大要素 。與之相伴的是OS X對于用戶體驗近乎執(zhí)著的追求 。
OS X在GUI上并沒有一個特別的子系統(tǒng) 。通常我們用接觸到的API來區(qū)分 。好比說如果用的是Carbon我們會稱為HIToolkit,如果用的是Cocoa則會說是AppKit(Cocoa主要是由非GUI的Foundation──不要和CoreFoudation搞混了──以及提供GUI組件的AppKit所組成的) 。Apple的開發(fā)工具中并沒有類似Visual Basic一類把接口畫完、在組件上點兩下鼠標(biāo),把程序填進(jìn)去就完成應(yīng)用程序的工具或流程 。最接近的是Interface Builder (IB)這套工具 。IB做出來的.nib文件其實就是封存好的GUI對象,生成之后再回Xcode將必要的連結(jié)關(guān)系拉完,程序代碼填上(通常量不會很多)就完成程序了 。IB會是Xcode以外,OS X開發(fā)者最常用的工具 。
OS X提供的GUI組件特色為細(xì)膩、一致、直觀 。這并不代表OS X的GUI無法做復(fù)雜的設(shè)定和客制化 。但是相較之下,OS X的應(yīng)用程序更傾向于善用或組合現(xiàn)有的視覺元素,而較少自創(chuàng)新的custom control 。這一點和Windows上,尤其是小型工具程序,喜歡一種程序就創(chuàng)造一種視覺風(fēng)格,或是大量提供使用者可更換的skin,有著相當(dāng)大的文化差異 。雖然Apple自家的軟件跟微軟相似,喜歡提前使用下一個版本才出現(xiàn)的視覺風(fēng)格或元素,有時讓開發(fā)者覺得難以捉摸,但大體上遵守Apple自家的HIG (Human Interface Guideline)還是常態(tài) 。
我們提到了文化差異;OS X在視覺上的細(xì)膩,以及對用戶體驗的追求,造就了一種高要求的文化 。這可以說是一種正向循環(huán) 。我們或許很少聽說哪個Windows開發(fā)者會為了icon向左偏了1 pixel而大改特改,或是要求自己的軟件要在視覺及操作上符合哪個規(guī)范的一致性 。但OS X的開發(fā)者真的會談?wù)摬?yán)肅看待這件事情(著名的icon設(shè)計商IconFactory以及獨立軟件商Panic是著名的兩個代表),同樣的也有相當(dāng)多OS X使用者以同樣嚴(yán)苛的標(biāo)準(zhǔn)看待他們使用的軟件,甚至可能寫信告訴你,指出你的軟件在用戶體驗或視覺設(shè)計上的缺陷(筆者就曾經(jīng)收到使用者來信,指出筆者的一個軟件在pull-down menu中使用的icon「語意」不合乎用戶對該種GUI組件的期待) 。又好比說,從OS X 10.5 Leopard開始,icon最大可以大到512x512,Apple也強(qiáng)烈建議開發(fā)者要準(zhǔn)備這么大的尺寸(除了原有的16x16、32x32、128x128之外) 。這當(dāng)然無形中提高了開發(fā)的挑戰(zhàn) 。Windows在XP以前僅支持16x16、32x32、48x48,直到Vista才開始加大到64x64和256x256 。
另一個與GUI不直接相關(guān),但卻影響用戶體驗的,是OS X的本地化(localization)系統(tǒng) 。這一點也是和Windows不同的地方 。OS X因為有bundle的設(shè)計,因此能讓一個應(yīng)用程序同時包裝各種不同語系的資源文件,同時開發(fā)多語系程序在OS X上也相對容易(通常是以提供各種不同版本的.nib bundle放進(jìn)應(yīng)用程序bundle中Content/Resources/底下以語系區(qū)域來區(qū)分的子目錄中就完成了 。Windows程序設(shè)計一向以"resource file"概念來管理icon及本地化等「外部」資源,名稱相似,開發(fā)方式卻不那么一貫而直觀;另外,OS X的語系是可以按照順序fallback的,例如要是繁體中文語系檔找不到,而用戶在語言設(shè)定中將簡體中文設(shè)定在繁體中文的后頭,那么OS X便會嘗試套用簡體中文語系檔),結(jié)果是OS X使用者對本地化同樣有著高標(biāo)準(zhǔn)與高期待 。另一方面,筆者也建議大家,除非軟件確定只有中文用戶使用,不然一開始先以英文界面開發(fā),再加上中文的本地化資源,以長期來說是值得(甚至是必要)的投資 。
一些較難歸類但同樣重要的差別Mac OS X跟Windows在軟件開發(fā)作法上的差異還有很多,上述只就最大的方向差異闡釋 。有些較細(xì)微但值得一提的差別,我們也在這里簡單說明 。

推薦閱讀