許多科技公司明年都把移動戰(zhàn)略放在第一位了。移動設(shè)備,包括平板電腦,正在超越傳統(tǒng)PC,而成為更受歡迎的上網(wǎng)方式。
預(yù)計(jì)接下來的三年,移動項(xiàng)目的增長將以4:1的比例超越PC項(xiàng)目的增長。在2016年,全球移動設(shè)備數(shù)量有望超過人口數(shù)量。
對于開發(fā)團(tuán)隊(duì)的挑戰(zhàn)是:如何調(diào)整“移動第一”或“移動先行”的心態(tài)。這要求開發(fā)者將用戶體驗(yàn)放在第一位,并提供強(qiáng)大的內(nèi)容和個(gè)性化體驗(yàn)。這也意味著需要積累跨多個(gè)平臺和設(shè)備的經(jīng)驗(yàn),了解其復(fù)雜性,掌握執(zhí)行移動項(xiàng)目所需的特殊技能以及搭建強(qiáng)大后臺基礎(chǔ)的專業(yè)知識。
現(xiàn)在的應(yīng)用都需要將用戶多個(gè)平臺的信息融合起來。 你不可避免的將要面對多個(gè)客戶端操作系統(tǒng)平臺上的產(chǎn)品迭代更新,管理開發(fā)周期也越來越富有挑戰(zhàn)性。公司也會在移動策略上給予技術(shù)領(lǐng)導(dǎo)人更大的壓力。在接下來的這一年,如何以移動第一為口號,讓開發(fā)團(tuán)隊(duì)和運(yùn)營團(tuán)隊(duì)更好的團(tuán)結(jié)在一起,也變得比以往更加重要和具有挑戰(zhàn)性。
接下來是開發(fā)者在2013年需要考慮的,十分緊迫的4件事:
將“移動第一”的觀念帶給你的核心開發(fā)團(tuán)隊(duì)
由于對跨平臺技術(shù)的需求越來越大,將移動開發(fā)業(yè)務(wù)外包正成為一種趨勢。然而隨著開放的網(wǎng)絡(luò)標(biāo)準(zhǔn)(如JavaScript 以及HTML5)的日益流行,將促使內(nèi)部移動開發(fā)變得更加容易。 這是非常幸運(yùn)的,因?yàn)槲磥硪苿娱_發(fā)的周期將會越來越短,迭代更新越來越頻繁。如果沒有內(nèi)部移動開發(fā)人員,將會讓開發(fā)過程變得非常麻煩,還要將外部資源做好協(xié)調(diào)并整合進(jìn)來。
你需要慎重考慮將移動開發(fā)業(yè)務(wù)托付于誰,比如很多網(wǎng)頁設(shè)計(jì)師是從PC端轉(zhuǎn)型過來,他們并沒有任何為移動用戶設(shè)計(jì)產(chǎn)品的經(jīng)驗(yàn)。產(chǎn)品形態(tài)的變化、觸摸感以及內(nèi)容交互上的確需要不同的設(shè)計(jì)體驗(yàn)。
為移動應(yīng)用或網(wǎng)絡(luò)調(diào)整服務(wù)器架構(gòu)
目前的復(fù)合應(yīng)用對后臺架構(gòu)的影響越來越大。大多數(shù)應(yīng)用都基于一系列API,能夠使應(yīng)用的用戶界面和后臺運(yùn)行進(jìn)行更好的交互,并實(shí)現(xiàn)跨平臺轉(zhuǎn)移。需要注意的是,這些后臺應(yīng)用(復(fù)合應(yīng)用)不只是用來表現(xiàn)原有后臺架構(gòu)的,他們需要支持更個(gè)性化、更具互動性的移動應(yīng)用功能。因此,原有的純粹傳遞技術(shù)之用,沒有經(jīng)過改造的架構(gòu)不足以稱為真正的“移動先行”。
不過可喜的是現(xiàn)在越來越多的移動公司采用了云架構(gòu)。
2013年選擇哪種后臺作為運(yùn)行架構(gòu)的確很重要。比如,你將如何應(yīng)對由需求增長引起的海量移動設(shè)備訪問你的應(yīng)用?這需要一個(gè)比以往更有彈性的后臺支撐系統(tǒng)。此外,你又將如何制定合理、靈敏的開發(fā)周期,以適應(yīng)客戶端和服務(wù)器端兩個(gè)層面的變化?你又將如何保證應(yīng)用后臺的容錯(cuò)性和冗余度?
關(guān)鍵是要保證你已經(jīng)選擇了一個(gè)彈性的、有足夠容錯(cuò)性的云架構(gòu)平臺,以支撐你的移動網(wǎng)絡(luò)應(yīng)用所產(chǎn)生的這一系列需求。
統(tǒng)一開發(fā)及運(yùn)營
移動先行戰(zhàn)略給開發(fā)和運(yùn)營團(tuán)隊(duì)協(xié)作方面帶來了新的要求。
盡管“devops”(development+operation)這個(gè)詞在前幾年是作為一個(gè)熱點(diǎn)詞匯冒出來的,不過隨著關(guān)于“開發(fā)和運(yùn)營團(tuán)隊(duì)完美協(xié)作”的理念的流行,它現(xiàn)在不再是一個(gè)可有可無的關(guān)注領(lǐng)域,而是需要開發(fā)團(tuán)隊(duì)給予足夠重視。
實(shí)際上,在移動應(yīng)用失敗因素中,運(yùn)營相關(guān)失誤是最重要的因素之一。來自Carnegie Mellon 大學(xué)的調(diào)研顯示,引起移動應(yīng)用失敗的因素包括:軟件升級失敗、未能滿足潛在需求、資源匱乏、配置錯(cuò)誤等。這說明在應(yīng)用程序發(fā)布之前運(yùn)維人員對應(yīng)用安全性、可靠性的部署與開發(fā)人員對核心代碼的調(diào)試是一樣重要的。
舉例來說,在應(yīng)用迭代開發(fā)環(huán)境中,需要對應(yīng)用的客戶端和服務(wù)器端頻繁更新,你如何確保在應(yīng)用的開發(fā)到發(fā)布過程中不出現(xiàn)配置錯(cuò)誤?一般的做法是開發(fā)人員在這個(gè)過程中寫出詳細(xì)的編碼細(xì)則,讓運(yùn)維人員在應(yīng)用發(fā)布過程中有所指導(dǎo),這些細(xì)則包括應(yīng)用版本、安裝準(zhǔn)則,以及具體執(zhí)行什么樣的命令。
在開發(fā)與運(yùn)維人員工作轉(zhuǎn)換時(shí)保證不出差錯(cuò)的關(guān)鍵是將其自動化。開發(fā)人員需要把已經(jīng)測試過的可自動執(zhí)行的文件包交給運(yùn)維人員。
當(dāng)軟件版本升級出現(xiàn)問題時(shí),由新版本給已經(jīng)發(fā)布的軟件帶來潛在可能性錯(cuò)誤時(shí),你將如何處理?這需要更好的實(shí)時(shí)故障診斷工具,避免開發(fā)人員重復(fù)錯(cuò)誤。另外,如果能讓軟件輕而易舉的回到初始版本,也是一個(gè)不錯(cuò)的主意。
所以,應(yīng)用程序的部署必須同時(shí)保障高效(支持頻繁迭代更新),以及高質(zhì)量產(chǎn)品。
讓“移動第一”戰(zhàn)略具有可實(shí)施性
盡管實(shí)施“移動第一”戰(zhàn)略聽起來很難,但如果你在重新思考應(yīng)用的開發(fā)、部署和管理方式過程中,同時(shí)把團(tuán)隊(duì)進(jìn)行合理整合,事情會變得更容易些。
應(yīng)用的開發(fā)和運(yùn)維所需的技能和工具是全然不同的:無論是在設(shè)計(jì)用戶界面,搭建API云架構(gòu),建立彈性后臺基礎(chǔ)設(shè)施,還是避免“devops”協(xié)作不善出現(xiàn)的應(yīng)用程序錯(cuò)誤時(shí)。事實(shí)上,解決問題的方法不止是改進(jìn)整個(gè)流程、提高自動化程度,還包括一個(gè)良好的老式的團(tuán)隊(duì)協(xié)作。
(注:本文作者Andi Gutmans是Zend Technologies的聯(lián)合創(chuàng)始人兼CEO)
相關(guān)閱讀