當(dāng) iOS 9 還處于測(cè)試階段的時(shí)候扎狱,作為iOS開發(fā)者,已經(jīng)奔赴到了新系統(tǒng)的最前線奶浦。
最讓人期待的莫過于 iOS 9 的分屏功能,但是踢星,對(duì)于開發(fā)者來說澳叉,特別是對(duì)于第一批適配 iOS 9 的開發(fā)者來說并不能說是一件幸福的事。因?yàn)椤皽y(cè)試版”意味著“坑”沐悦,而無數(shù)的“測(cè)試版”意味著無數(shù)的“坑”成洗。在iPhone或者iPad上安裝 iOS 9 也許并無法感受到這其中的艱苦。這份艱苦來自于 XCode 和 OS X藏否。XCode 已經(jīng)升級(jí)到 Xcode 7 beta 4泌枪,而 OS X 也不知不覺地升級(jí)到 beta 6。在這些版本之間適配就已經(jīng)讓人抓狂秕岛,更不用說偶爾的不兼容以及模擬器的不斷崩潰。也許某一次更新就會(huì)導(dǎo)致你整個(gè)模擬器無法使用,接下來就是無盡的恢復(fù)系統(tǒng)和更新應(yīng)用继薛。
這是開發(fā)環(huán)境最基本的坑修壕。接下來就是 iOS 9 產(chǎn)品級(jí)別的坑了。iOS 9 引入了分屏的概念遏考,屏幕可以被切割成幾種不同的類型慈鸠。這個(gè)改進(jìn)導(dǎo)致了界面需要對(duì)各種屏幕進(jìn)行適應(yīng)。簡(jiǎn)單的應(yīng)用還好灌具,復(fù)雜的應(yīng)用青团、特別是對(duì)用戶交互進(jìn)行過優(yōu)化的應(yīng)用在這方面的改動(dòng)阻力會(huì)特別大。原因很簡(jiǎn)單咖楣,原來的 iPad 只分橫豎屏督笆,大部分的閱讀類應(yīng)用可能在這方面沒有特別的需求,但編輯類等交互比較多的應(yīng)用需要對(duì)橫豎屏進(jìn)行優(yōu)化诱贿。然而娃肿,分屏卻一下子打破了這種布局。橫屏狀態(tài)下依舊會(huì)出現(xiàn)窄豎屏珠十,本來針對(duì)iPad的大屏優(yōu)化一下子不復(fù)存在料扰。
以上還是產(chǎn)品級(jí)別的。代碼級(jí)別上的焙蹭,蘋果對(duì)屏幕的區(qū)分是有限的晒杈,甚至橫屏的三分之一和二分之一也是同個(gè)類型的屏幕。在適配而不是改版的過程中孔厉,如果產(chǎn)品要求必須區(qū)分這兩種類型的屏幕拯钻,那就只能暗自訴苦了。再者烟馅,iPad上 iOS 9 支持分屏的應(yīng)用不再區(qū)分轉(zhuǎn)屏功能说庭,也就是說,無法強(qiáng)制鎖定屏幕郑趁,鎖定屏幕只能由用戶主動(dòng)鎖住刊驴。
好在,蘋果并沒有強(qiáng)制所有應(yīng)用都必須支持分屏功能寡润。不支持分屏功能的應(yīng)用不會(huì)進(jìn)入分屏列表捆憎,而且也無法產(chǎn)生其他分屏。
就我目前接觸的情況來說梭纹,分屏對(duì)產(chǎn)品的影響遠(yuǎn)大于對(duì)技術(shù)產(chǎn)生的影響躲惰。
對(duì)技術(shù)來說,我們只需要對(duì)各種屏幕類型加以區(qū)分变抽,并顯示不同的界面础拨。iOS界面開發(fā)早就引入了自動(dòng)布局的概念氮块,在分屏這一塊,自動(dòng)布局起了很大的作用诡宗。如果產(chǎn)品要強(qiáng)行區(qū)分各種屏幕滔蝉,也能夠強(qiáng)制判斷區(qū)分。不過很多 iOS 9 的新API倒是容易讓開發(fā)者掉進(jìn)坑里塔沃。不過這種坑倒是掉幾次就習(xí)慣了蝠引。
而對(duì)于產(chǎn)品來說,如果想要適配分屏功能蛀柴,則基本需要對(duì)整個(gè)產(chǎn)品進(jìn)行重新設(shè)計(jì)螃概。有分屏和沒分屏的iPad應(yīng)用是不一樣的,這個(gè)不一樣體現(xiàn)在交互上鸽疾。一款好的應(yīng)用往往需要針對(duì)不同的使用場(chǎng)景進(jìn)行特定優(yōu)化吊洼,而如果無法進(jìn)行這類優(yōu)化,那這款產(chǎn)品就會(huì)退居平庸肮韧。然而融蹂,iPhone和iPad的交互是截然不同的,而iPad的寬屏和窄屏必然也需要區(qū)分弄企,如此大的工作量超燃,以及在同個(gè)設(shè)備上不同屏幕的適配區(qū)分,對(duì)一款產(chǎn)品來說是一項(xiàng)巨大的挑戰(zhàn)拘领。
本來我以為這是第一次產(chǎn)品跟著技術(shù)走意乓,但仔細(xì)想想,每次產(chǎn)品都是跟著技術(shù)走约素,一旦技術(shù)穩(wěn)定届良,就開始尋求突破。從抽屜式界面圣猎、Tabbar界面士葫,到此次的分屏適配,其實(shí)都是產(chǎn)品在當(dāng)前技術(shù)上的優(yōu)化和改進(jìn)送悔。導(dǎo)航太多慢显,就用抽屜式界面,大屏手機(jī)出現(xiàn)欠啤,就可能需要回歸Tabbar模式荚藻,甚至需要思考其他模式來突破當(dāng)前的使用習(xí)慣。而分屏洁段,則要求產(chǎn)品設(shè)計(jì)不再拘泥于特別的屏幕尺寸应狱,而是針對(duì)不同類型的屏幕來設(shè)計(jì)。
總的來說祠丝,適配新系統(tǒng)疾呻,很苦除嘹,但至少有一次,我們走在了較前沿罐韩。