移動應用性能遇挑戰 如何優化成難題?
“移動和性能是一個龐大而可怕的話題,而實際上說它龐大而可怕是沒有理由的。”Scott Barber是坐落在佛羅里達州Palm Bay的PerfTestPlus公司的總裁及首席技術官,他說“除非你知道如何處理這個問題,否則這件事情非常具有挑戰性。但是到了最后,我想說其實并沒有人們所想的那么難。”
Barber說:“我們的性能挑戰是基于非常簡單的情況,就是努力使筆記本或者臺式機性能擺脫那種龐大卻功能較差的設備。”
Nazmi Savga是Imprezzio Global的軟件構架師:“移動平臺與標準PC相比較弱,因此,面臨的主要挑戰就是要編寫一個行為像PC但是運行在移動平臺上的應用程序。”
Barber說:“不久之前,我們創建和交付軟件的一般方式與現如今申請移動應用程序的思維過程類似。”
Stephen Pierzchala是坐落在密歇根州底特律Compuware 公司的技術策略師,他認為:“在移動Web和本地移動應用兩個方面,與我們使用了很多年的臺式機中有許多相同的規則。可以將其歸結為一個原則,根據這個原則可以推廣出其他許多原則:了解你的客戶。”
了解目標對象
Pierzchala說,從移動應用性能角度來了解你的客戶,意味著要知道客戶使用的是什么瀏覽器、什么操作系統、設備類型及什么類型的連接。所有這些因素對應用程序都構成限制,值得深入思考,而且是越早越好。
Barber說,理想的情況下,團隊開始考慮應用程序在概念階段所運行的目標設備或者設備組。他承認,這個過程非常困難。如果項目要六個月的開發周期,你還會為如今或者以后的移動設備構建應用程序嗎?
Barber說:“事實是每個人都想做最新、最棒的設計,隨后他們會決定他們需要向后兼容的應用程序,這會創造一場噩夢。如果一開始就做出這樣的決定,還會有希望。如果后期才做出這個決定,那么你就是搬起石頭砸自己的腳。”
最新平臺上可用的特性和功能在以前的版本中未必適用,或者從一個移動平臺到另一個移動平臺也未必適用。Savga說:“架構師應該了解應用程序將會在哪類平臺上運行,應該考慮不同平臺間的差異。架構師應該意識到這是一個受限制的平臺,或者意識到與一個標準PC相比它有許多缺陷,例如內存和磁盤空間。”
當開發人員事前決定出應用程序將會運行在什么類型的操作系統及瀏覽器上時,Barber將這種方法與Web開發作比較。他說:“在某種意義上它只是一個過時的概念。”
網絡電話出現障礙了?
另外一個移動應用性能技巧是:總是將網絡流程放在后臺處理,這對于資深的開發人員來說非常熟悉。Matt Vlasach是坐落在美國亞利桑那州Mesa的Unwired Revolution公司的移動集成服務總監,該公司是一個移動解決方案開發公司,Matt Vlasach解釋說:“等待一個響應時不要阻塞UI,當正在運行這樣一個網絡任務時,你一定要謹慎。如果你在主線上做了任何處理,即使響應結束應用程序也會被凍結。要使用異步的Web請求,并且要恰當地處理這些事情。”
Vlasach說,可以用同樣的方法來開發一個桌面或者Web應用程序。“注意‘當你正等著處理網絡事情時不要阻止用戶正在進行的程序。’這更復雜,需要花費更多的時間,用戶體驗開發需要更長的周期,但是在用戶體驗和實際使用中卻存在很大的差異。”
將性能介紹從業務邏輯和數據中分離出來
Savga建議開發人員和架構師要了解三個層次,系統包括一個表示(或者用戶界面)層、業務層及數據層,對每一個層級的構建都要謹慎。他說:“代碼中的功能不應該在其他層或者項目其他部分被復制。這樣做會使代碼維護容易些,同時對性能方面的維護也有幫助。”
當涉及到表示層的應用程序,架構師需要考慮一下屏幕尺寸以及如何顯示用戶界面(UI)。如果對于所有可能的方案都采用常規設計,并用這些方案來處理UI更改,應用程序的性能將會受到影響。
Savga說:“最好的方法是根據屏幕尺寸創建一個不同的設計,因此,當應用程序識別出不同尺寸的屏幕時它會自行切換。否則,對于不同尺寸的屏幕都創建一個常規UI,在你進行用戶體驗時就會出現很多性能問題。”
說到這,讓我們回顧下剛開始說的原則:“要了解你的客戶是誰,以及傳遞正尋找的內容時的能力限制是什么。”
責任編輯:和碩涵
-
發電電力輔助服務營銷決策模型
2019-06-24電力輔助服務營銷 -
繞過安卓SSL驗證證書的四種方式
-
網絡何以可能
2017-02-24網絡