本屆大會(huì)以“你就是主角”為主題,為移動(dòng)開(kāi)發(fā)者打造一場(chǎng)真正的年度盛會(huì)。為讓更多的移動(dòng)應(yīng)用團(tuán)隊(duì)有自己專屬、固定的展示交流區(qū)域,大會(huì)主辦方特別提供了MDCC應(yīng)用團(tuán)隊(duì)免費(fèi)展位。無(wú)論是成熟的創(chuàng)業(yè)團(tuán)隊(duì),還是處于成長(zhǎng)期的移動(dòng)應(yīng)用、移動(dòng)游戲、智能硬件開(kāi)發(fā)團(tuán)隊(duì),只要有成型作品,均可免費(fèi)申請(qǐng)。
歐朋流量寶是由Opera歐朋主導(dǎo)研發(fā)的手機(jī)流量管理應(yīng)用,于今年3月正式推出第一個(gè)版本。在移動(dòng)端,手機(jī)已成為人們上網(wǎng)的一個(gè)主要入口,然而,用戶卻始終不能輕松、簡(jiǎn)便地對(duì)上網(wǎng)所產(chǎn)生的流量進(jìn)行管理。歐朋流量寶通過(guò)技術(shù)手段,實(shí)現(xiàn)對(duì)流量的壓縮、節(jié)省和管理。
歐朋流量寶團(tuán)隊(duì)所在的地域,橫跨中國(guó)、美國(guó)、波蘭、挪威四個(gè)國(guó)家。日前,歐朋流量寶產(chǎn)品工程負(fù)責(zé)人周元林與我們分享了這款產(chǎn)品的開(kāi)發(fā)過(guò)程,以及開(kāi)發(fā)過(guò)程中團(tuán)隊(duì)協(xié)同方面的經(jīng)驗(yàn)。
CSDN:除歐朋流量寶外,很多手機(jī)管家類App都有流量管理監(jiān)控功能,歐朋在這個(gè)時(shí)候才推出流量寶這款A(yù)pp會(huì)不會(huì)為時(shí)已晚?
周元林:其實(shí)沒(méi)有。應(yīng)該說(shuō),手機(jī)管家類App的流量監(jiān)控,在整個(gè)App中只是輔助功能。其實(shí)從我們的角度來(lái)看,流量監(jiān)控有五大功能:第一是壓縮、節(jié)??;第二是監(jiān)控,要知道流量消耗在哪兒、誰(shuí)消耗了流量、什么時(shí)間消耗了流量;第三是流量管理,這一點(diǎn)類似于聯(lián)網(wǎng)開(kāi)關(guān)控制;第四是統(tǒng)計(jì),知道流量消耗在應(yīng)用間的排名及匯總信息;第五是查詢,知道套餐還剩下多少、用了多少。所以,一個(gè)真正完整的流量監(jiān)控應(yīng)用應(yīng)該包含以上五個(gè)功能,從產(chǎn)品角度而言,能把這五大功能結(jié)合在一起的,在國(guó)內(nèi)App市場(chǎng)上只有歐朋一家。
CSDN:要完全實(shí)現(xiàn)以上創(chuàng)想,要克服哪些技術(shù)挑戰(zhàn)?
周元林:舉個(gè)例子,流量壓縮功能是我們主打的核心功能,在一個(gè)App里壓縮流量,其實(shí)不是一件很簡(jiǎn)單的事情,我們也走過(guò)不少?gòu)澛?,比如把所有App的流量重定向到壓縮服務(wù)器,然后送到手機(jī)客戶端。這個(gè)過(guò)程一開(kāi)始是在Java層做的,后來(lái)發(fā)現(xiàn)結(jié)果是內(nèi)存使用消耗非常大。于是我們推翻了這個(gè)方案,重新在Native層做了一套,現(xiàn)在的內(nèi)存使用是非常小的,而且也能夠達(dá)到我們?cè)O(shè)想的效果。另一個(gè)難點(diǎn)在于,流量要接管,實(shí)際上相當(dāng)于把流量重新定向到壓縮服務(wù)器,這其實(shí)是平臺(tái)的功能。因?yàn)槲覀兪钦驹贏pp的角度來(lái)做事情的,所以我們只得使用Android的VPN。VPN的服務(wù)是建立一個(gè)數(shù)據(jù)通道,所有App的進(jìn)出數(shù)據(jù)通過(guò)這個(gè)通道到壓縮服務(wù)器壓縮后再傳送。
CSDN:這就是所謂的“云端壓縮”技術(shù)嗎?
周元林:沒(méi)錯(cuò)。剛才我提到的將VPN流量導(dǎo)入到云壓縮網(wǎng)絡(luò)的技術(shù),實(shí)際上是繼承自歐朋瀏覽器。云端壓縮技術(shù)是非常成熟的技術(shù),除了Opera Mini之外,在歐朋的手機(jī)瀏覽器、桌面瀏覽器上都有使用。此外,云端壓縮還涉及到另外一個(gè)技術(shù),即Turbo技術(shù)。Turbo技術(shù)也是用在歐朋瀏覽器中,用來(lái)將瀏覽器的流量經(jīng)過(guò)壓縮服務(wù)器進(jìn)行壓縮。而流量寶則是把瀏覽器的壓縮技術(shù)進(jìn)行擴(kuò)展,從應(yīng)用內(nèi)變成跨應(yīng)用之間的壓縮。這里面有兩個(gè)技術(shù)難點(diǎn):第一是把其他應(yīng)用的流量接管到這個(gè)壓縮服務(wù)器上做壓縮;第二點(diǎn)是使用云計(jì)算網(wǎng)絡(luò)做壓縮產(chǎn)品,也就是將這兩個(gè)點(diǎn)合在一起。
CSDN:除此之外,在開(kāi)發(fā)過(guò)程中還有哪些困難是你們印象比較深刻的?
周元林:最開(kāi)始是在原型設(shè)計(jì)過(guò)程中,接管流量時(shí)內(nèi)存消耗非常多。后來(lái)我們做了優(yōu)化,使用Native層,因?yàn)镹ative層本來(lái)代碼執(zhí)行速度就快,而且內(nèi)存也可管理。再舉個(gè)例子,之前在監(jiān)控時(shí),我們發(fā)現(xiàn)廣東省的用戶平均流量消耗比其他省的要低,發(fā)現(xiàn)這個(gè)問(wèn)題后,我們就派工程師到現(xiàn)場(chǎng)去,發(fā)現(xiàn)當(dāng)時(shí)是DNS解析出現(xiàn)了問(wèn)題。但相同的環(huán)境在其他的地區(qū)可能是正常的,只有廣東地區(qū)出現(xiàn)了這種問(wèn)題,導(dǎo)致了壓縮服務(wù)不能使用。類似于這種連通性的問(wèn)題還挺多的,這也是我們一直在努力攻克的技術(shù)點(diǎn)。
CSDN:聽(tīng)說(shuō)流量寶的團(tuán)隊(duì)的辦公地點(diǎn)橫跨四個(gè)國(guó)家,你們之間是如何協(xié)同辦公的?
周元林:流量寶和Opera Max是屬于一個(gè)產(chǎn)品線,團(tuán)隊(duì)成員分布在中國(guó)、挪威、波蘭、美國(guó)。北京有一個(gè)十幾個(gè)人的團(tuán)隊(duì),包括工程、產(chǎn)品、UI及測(cè)試,負(fù)責(zé)中國(guó)地區(qū)的流量寶的產(chǎn)品,而其他團(tuán)隊(duì)都有不同的側(cè)重點(diǎn),比如美國(guó)的同事則側(cè)重于視頻壓縮。在協(xié)調(diào)方面我們主要是通過(guò)共享,比如不同地區(qū)間共享一份壓縮服務(wù)器代碼基線等。另外,我們各個(gè)團(tuán)隊(duì)間共用一個(gè)代碼倉(cāng)庫(kù)來(lái)協(xié)從開(kāi)發(fā),每個(gè)團(tuán)隊(duì)都有權(quán)限修改、提交或開(kāi)發(fā)。
CSDN:最新的3.7版本增加了“異常報(bào)告”功能,目前,用戶反饋頻率較高的問(wèn)題有哪些?這一功能對(duì)你們有哪些幫助?
周元林:在這個(gè)模塊之前,我們有一個(gè)自己的反饋系統(tǒng),比如在“關(guān)于”里有一個(gè)“用戶反饋”按鈕,在這里用戶可以輸入任何想了解或發(fā)現(xiàn)的問(wèn)題。通過(guò)這些手段,我們發(fā)現(xiàn)有些用戶抱怨內(nèi)存消耗高、CPU卡頓等問(wèn)題。這一功能主要是通過(guò)用戶上傳來(lái)收集問(wèn)題,并且我們可以定位到反饋用戶的地區(qū),看看這一地區(qū)的用戶反饋同一問(wèn)題的有多少。因此,我們的初衷第一是定位問(wèn)題,第二是分析問(wèn)題的本質(zhì)是什么,然后去找解決方案。最終還是想把用戶體驗(yàn)的穩(wěn)定性和兼容性進(jìn)一步提高。
CSDN:不難預(yù)見(jiàn),對(duì)于這類流量管理應(yīng)用,節(jié)省流量是用戶最為關(guān)心的,在這方面,你們做了哪些努力?
周元林:一般來(lái)說(shuō),節(jié)省流量的重要因素是HTTP頁(yè)面和圖片,其中,節(jié)省比例最大的是圖片,如果要增強(qiáng)節(jié)省力度,必然以犧牲圖片質(zhì)量為代價(jià)。不過(guò)用戶往往對(duì)這一做法持不同態(tài)度,有些人不想圖片質(zhì)量受損,有的用戶則認(rèn)為看新聞時(shí)圖片質(zhì)量差點(diǎn)也沒(méi)關(guān)系?;谶@種訴求,我們對(duì)產(chǎn)品進(jìn)行了改進(jìn)。比如讓用戶來(lái)選擇圖片質(zhì)量,通過(guò)高、中、低三個(gè)檔次選擇壓縮等級(jí)。
把握核心功能是工具類應(yīng)用制勝的關(guān)鍵
CSDN:作為歐朋流量寶產(chǎn)品工程負(fù)責(zé)人,你在開(kāi)發(fā)中一般使用那些開(kāi)發(fā)工具?
周元林:由于歐朋流量寶目前聚焦于Android平臺(tái),Android平臺(tái)的開(kāi)發(fā)工具現(xiàn)在比較流行的是Eclipse+ADT,還有一個(gè)是比較新的工具是Android Studio,這些對(duì)我們來(lái)說(shuō)都是IDE工具,可以加速開(kāi)發(fā)。此外,從開(kāi)發(fā)的角度來(lái)講,我覺(jué)得更重要的是團(tuán)隊(duì)配合的過(guò)程中,需要一套Code Review系統(tǒng)。Opera的幾個(gè)工程師就做了這樣一個(gè)系統(tǒng),稱為Critic,這應(yīng)該是我見(jiàn)過(guò)的最好用的Code Review工具。使用時(shí),程序員必須在這個(gè)系統(tǒng)上把代碼Review通過(guò),才能進(jìn)入代碼倉(cāng)庫(kù)中的主線。只要有一個(gè)問(wèn)題沒(méi)有解決,就會(huì)在工程師之間進(jìn)行討論。實(shí)際上,這種協(xié)同工具能夠保證代碼的質(zhì)量,減少不必要的Bug和測(cè)試的時(shí)間。
CSDN:在使用工具方面你有哪些心得?
周元林:在日常工作過(guò)程中,對(duì)于工程師來(lái)說(shuō)最不愿意干的就是重復(fù)性勞動(dòng),一件事情今天做一遍,如果發(fā)現(xiàn)這樣的事情明天或后天還會(huì)碰到,那就是工作方法的問(wèn)題,需要看看能不能把這些事情自動(dòng)化。也就是說(shuō),對(duì)于一些工具的開(kāi)發(fā)是很有必要的。有時(shí)我們開(kāi)發(fā)一個(gè)工具可能要花一個(gè)禮拜,但有了這個(gè)工具之后,手動(dòng)一天的工作量在以后就不會(huì)有了。簡(jiǎn)單來(lái)說(shuō)可以總結(jié)為,工欲善其事,必先利其器。
【《近匠》Bmob:免費(fèi)無(wú)限制的公有云服務(wù)】《近匠》第55期,越來(lái)越多的移動(dòng)開(kāi)發(fā)者開(kāi)始關(guān)注mBaaS云服務(wù)模式,我們已經(jīng)采訪過(guò)多家mBaaS服務(wù)商,本期近匠對(duì)話mBaaS服務(wù)提供商――Bmob CEO何少岳,作為早期進(jìn)入mBaaS領(lǐng)域的服務(wù)者,Bmob有什么新的變化?
【《近匠》LegendTech:AR技術(shù)現(xiàn)已加入15元豪華午餐】《近匠》第54期:在世界杯期間,某餐飲連鎖品牌推出了一款A(yù)R足球游戲。如何使用Unity+Vuforia搭建了一個(gè)增強(qiáng)現(xiàn)實(shí)的游戲開(kāi)發(fā)環(huán)境?該技術(shù)團(tuán)隊(duì)負(fù)責(zé)人將與我們分享了AR應(yīng)用開(kāi)發(fā)中的寶貴經(jīng)驗(yàn),和對(duì)AR技術(shù)交互性的理解。
【《近匠》Fancy3D:億級(jí)游戲背后的輕量級(jí)引擎】《近匠》第53期,隨著跨平臺(tái)游戲的火爆各大引擎動(dòng)作頻頻,Unity宣布支持2D,Cocos發(fā)布3D引擎等,行業(yè)競(jìng)爭(zhēng)已從產(chǎn)品競(jìng)爭(zhēng)本身蔓延至底層技術(shù)引擎層面。隨著《黑暗之光》成功,青果靈動(dòng)宣布Fancy3D引擎即將展開(kāi)商業(yè)化。
回顧更多內(nèi)容及線下開(kāi)發(fā)者活動(dòng)信息,請(qǐng)關(guān)注mobilehub公眾微信號(hào)(ID: mobilehub)
尋求《近匠》免費(fèi)報(bào)道,請(qǐng)私信:@CSDN移動(dòng),或發(fā)送郵件至mobile#csdn.net。