優(yōu)化移動應(yīng)用性能的開發(fā)者指南
譯文【51CTO.com快譯】
如今,隨著智能手機的普及,各種安裝在手機上的應(yīng)用程序,讓人們的日常生活與各項活動變得越來越輕松。從為自己的出行預(yù)訂出租車,到在心儀的餐廳處訂購餐食,移動應(yīng)用已經(jīng)給我們帶來了前所未有的便捷與高效。我們很難想象自己是否能夠堅持在一天之內(nèi),完全不去觸碰手機,或開啟任何一款移動應(yīng)用。
移動應(yīng)用的優(yōu)化勢在必行
由于人們時常需要用到各種移動應(yīng)用,而且期望它們能夠?qū)崿F(xiàn)過去無法快速完成的功能,因此應(yīng)用的整體性能是至關(guān)重要的。一直以來,各個領(lǐng)域的開發(fā)人員都持續(xù)著眼于,各類應(yīng)用在運行性能和響應(yīng)效率上的不斷優(yōu)化與提升。
試想一下,一個用戶興沖沖地拿起手機,進入某個訂餐應(yīng)用,將“炸雞+啤酒”放入購物車后,卻發(fā)現(xiàn)該應(yīng)用需要長時間等待才能完成支付動作,甚至根本無法下單。那么,他還會下次使用這款應(yīng)用嗎?他還會將這款應(yīng)用保留在手機里嗎?可見,用戶對于移動應(yīng)用的使用體驗,會直接與用戶留存率(user retention)掛鉤。
此外,除了提供基本功能,簡單易用的導(dǎo)航欄和協(xié)調(diào)友好的界面,也能夠流暢地連接用戶與后端服務(wù)提供商,讓用戶及時獲取他們所需的信息與結(jié)果??梢姡苿討?yīng)用同時也起到了良好的橋梁作用。
那么,有哪些因素會影響到我們對移動應(yīng)用的優(yōu)化呢?總的說來,有如下三個方面值得開發(fā)人員密切注意:
1.用戶期望
一直以來,我們都需要認識到:開發(fā)移動應(yīng)用,并不是單純地“秀技術(shù)”,而必須充分考慮到服務(wù)的客戶。不過,正所謂:知易行難,在整個開發(fā)的過程中,我們的確需要將用戶,視為影響開發(fā)進程的主要因素。例如:在使用移動應(yīng)用時,人們往往希望其用戶界面不但容易上手,而且穩(wěn)定無閃退。這就是我們做移動應(yīng)用開發(fā)的“初心”。
2.適應(yīng)性
移動應(yīng)用的本質(zhì)是方便用戶能夠利用碎片化的時間,隨時隨地與服務(wù)提供商交互,并獲取相應(yīng)的服務(wù)。不過,手機所處的移動蜂窩網(wǎng)絡(luò)畢竟不如Wi-Fi或有線網(wǎng)絡(luò)那么可靠。不同區(qū)域覆蓋的范圍與頻段也不盡相同。因此,作為開發(fā)人員,我們必須確保自己的應(yīng)用能夠適應(yīng)不同的網(wǎng)絡(luò)類型與狀態(tài),特別是在失去網(wǎng)絡(luò)連接時候,也能夠緩存用戶的數(shù)據(jù),讓他們能夠持續(xù)使用該應(yīng)用,以完成移動端本地的各項操作。
3.避免用戶流失
正如前文所述,如果用戶在使用您的移動應(yīng)用時,不滿意他們的體驗,那么他們是不會成為“回頭客”的。因此在開發(fā)時,與用戶保持溝通,并及時通過測試和試用的方式,從用戶處獲取反饋,要比單純地從論壇社區(qū)中獲得“一面之詞”,更為直接和全面。
那么,我們到底該如何優(yōu)化移動應(yīng)用的性能,以發(fā)揮移動應(yīng)用的業(yè)務(wù)平臺作用,并讓用戶只需幾次觸按,即可獲得需要的服務(wù)?
1.專注于用戶界面
用戶界面的優(yōu)劣,實際上與該應(yīng)用在移動終端屏幕上的顯示效果關(guān)系不大。它主要取決于用戶在使用時的方便程度。前面我們提到了與用戶溝通,獲悉他們對于待開發(fā)應(yīng)用的期望,特別是界面中導(dǎo)航欄、菜單條、以及單手操作時的按鈕布局。
試想一下:當(dāng)用戶甚至都無法輕松地找到某個按鈕或功能時,他還會為您的設(shè)計與開發(fā)“點贊”嗎?可見,專注于用戶界面并使其易用,是移動應(yīng)用開發(fā)人員和優(yōu)化人員的首要任務(wù)。
2.提高應(yīng)用的可用性
正如前文所述,大多數(shù)移動應(yīng)用的使用場景發(fā)生在用戶行動過程中。因此,移動網(wǎng)絡(luò)的可用性往往無法得到充分的保證。試想一下,在用戶處于網(wǎng)絡(luò)覆蓋較差的區(qū)域中使用著您開發(fā)的應(yīng)用,并且碰到了一定的阻礙。而此時他的手機上正好有能夠?qū)崿F(xiàn)相似功能的應(yīng)用(如另一個電商平臺)。那么只要那款應(yīng)用的離線性能比您開發(fā)的要優(yōu)秀一點。該用戶肯定會毫不猶豫地切換過去,盡管對方可能在服務(wù)價位上略高一些。
因此,作為開發(fā)人員,您不但需要確保自己開發(fā)的移動應(yīng)用能夠流暢地運行在3G、4G、以及5G網(wǎng)絡(luò)中,而且能夠在網(wǎng)絡(luò)不佳時,持續(xù)提供本地的緩存服務(wù)。
3.使用分析工具進行監(jiān)控
保持在與用戶交互時的一致性檢查是非常重要的。由于用戶所使用的移動設(shè)備在品牌、系統(tǒng)(如iOS或Android)、以及類型上的不同,您所開發(fā)出的應(yīng)用可能在顯示效果上有所差異,甚至?xí)o法正常地運行或被使用。此時,您需要采用某種恰當(dāng)?shù)姆治龉ぞ撸ㄟ^監(jiān)控和跟蹤應(yīng)用的各項服務(wù)和出現(xiàn)的功能性故障,以發(fā)掘出那些直接、或間接影響程序正常顯示、運行、甚至是崩潰的深層原因。在此基礎(chǔ)上,整個團隊可以通過代碼的調(diào)試,來及時修改程序,進而在應(yīng)用發(fā)布之前解決掉此類兼容性問題。
4.測試與試用
對于完成了開發(fā)任務(wù)的移動應(yīng)用而言,我們需要進行功能與性能方面的測試與試用,方可交付或分發(fā)給最終用戶。
由于移動設(shè)備帶來了更多的不定因素,因此,我們需要采用更加嚴(yán)格的標(biāo)準(zhǔn),來進行測試,以便在最困難或“最差”的環(huán)境中,評估目標(biāo)應(yīng)用的可用性和可控性。當(dāng)然,您也可以根據(jù)DevOps的思想,將此類測試“左移”到開發(fā)迭代的階段,并持續(xù)開展藍綠測試。
5.檢查應(yīng)用的運行效率
在用戶的智能手機上,各種應(yīng)用的不同版本往往會同時運行。因此,開發(fā)人員需要通過運行效率的檢查,以保證它能夠與其他各種應(yīng)用工具和設(shè)備相兼容。此外,我們還需要考慮應(yīng)用在長時間運行時,用到的移動設(shè)備內(nèi)存是否會及時釋放,以及對于手機電池的消耗等方面的問題。
總結(jié)
上述五點建議,看似稀松平常,卻往往是我們作為開發(fā)人員容易忽略的用戶關(guān)注點。希望您和團隊成員在開發(fā)復(fù)雜的移動應(yīng)用時,能夠時常踐行上述建議,開發(fā)和優(yōu)化出獨立于移動設(shè)備,且能夠讓用戶滿意的軟件產(chǎn)品。
原標(biāo)題:A Developer's Guide to Optimizing Mobile App Performance 作者: Aman T
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】
























