移動應(yīng)用開發(fā)的優(yōu)化與測試
移動應(yīng)用開發(fā)已經(jīng)成為每個軟件開發(fā)公司最為重要的工作點,制作一款移動應(yīng)用軟件并不難,但如何做到成熟優(yōu)異已經(jīng)成為移動開發(fā)人員共同的話題。針對移動開發(fā)中技術(shù)人員普遍遇到的技術(shù)難題,7月29日下午,CSDN移動開發(fā)俱樂部邀請到友盟Android工程師陳彧堃、ThoughtWorks開發(fā)工程師劉龍軍等多位資深開發(fā)者分享Android應(yīng)用開發(fā)中的***實踐經(jīng)驗。
Android平臺的移動應(yīng)用開發(fā)中的設(shè)計和優(yōu)化
在長期致力經(jīng)營移動開發(fā)者平臺期間,應(yīng)用分析工具友盟的創(chuàng)作團隊總結(jié)出一套Android應(yīng)用開發(fā)中的技術(shù)和設(shè)計經(jīng)驗,在本期活動中,友盟創(chuàng)始團隊成員、資深A(yù)ndroid開發(fā)師陳彧堃進行了分享。
友盟Android工程師陳彧堃: 開發(fā)中的每個細節(jié)和最終用戶體驗息息相關(guān)
陳彧堃認為,移動應(yīng)用開發(fā)和優(yōu)化直接決定到應(yīng)用的最終體驗,具體表現(xiàn)在三個方面:
1. 操作反應(yīng)是否流暢快速,觸摸反應(yīng)時間是否過長,是否經(jīng)常出現(xiàn)ANR(Application Not Respond)以及網(wǎng)絡(luò)等待真快。
2. 用戶操作是否流暢自然,開發(fā)中要注意做好UI適配,不從后臺打斷用,避免照搬ios設(shè)計等做法。
3. 是否為用戶節(jié)省電量。在開發(fā)中就要避免在本地運算復(fù)雜算法;避免頻繁調(diào)服務(wù)和網(wǎng)絡(luò)請求。
陳彧堃總結(jié)Android開發(fā)中遇到的難點有:1.面對當前多種形態(tài)的OS、分辨率和屏幕尺寸,而且還不斷增加,多終端適配已成為開發(fā)者最為頭疼的問題。2. 內(nèi)存管理。Android系統(tǒng)為每個應(yīng)用分配的內(nèi)存上限為24M,很多開發(fā)者遇到內(nèi)存分配不足問題。在演講中,陳彧堃詳細分享了性能分析、內(nèi)存、視圖及網(wǎng)絡(luò)優(yōu)化、代碼復(fù)用、用戶數(shù)據(jù)處理等環(huán)節(jié)需要注意的技術(shù)問題。
如何做好Android開發(fā)?陳彧堃建議Android工程師:
1. 利用traceview和monkey等工具測試應(yīng)用。
2.利用layoutopt和ninepatch等工具優(yōu)化視圖。
3. 像Android原生應(yīng)用學(xué)習(xí),遵循***實踐。
4. 掌握一門服務(wù)器端語言/框架。
5.要培養(yǎng)對UX的感覺。
6. 做好應(yīng)用分析。
7. 善用第三方工具。
移動應(yīng)用開發(fā)中的自動化測試
在Android平臺移動應(yīng)用開發(fā)過程中,各種類型的測試對于保證最終產(chǎn)品的質(zhì)量至關(guān)重要,自動化測試是不可缺少的一部分。ThoughtWorks 移動平臺興趣組劉龍軍以自己的一個項目為例,分享了開發(fā)Android應(yīng)用產(chǎn)品時一些自動化測試方面的心得和收獲。
ThoughtWorks劉龍軍:自動化測試可幫助提升代碼品質(zhì)
該項目是個類似手機的航班查詢應(yīng)用,通過Http發(fā)送查詢請求給遠程API服務(wù)器,處理返回結(jié)果并展現(xiàn)。開發(fā)中整個自動化測試過程分為單元測試、自動化功能測試、改進功能測試框架、引入BDD(行為驅(qū)動開發(fā))測試框架四步。
經(jīng)過整個項目流程實踐以及多個需求變動對測試框架的調(diào)整,對于應(yīng)用開發(fā)中的自動化測試工作,劉龍軍總結(jié)了四條心得:1. 自動化測試可以幫助提升技術(shù)團隊與客戶團隊之間的合作,幫助團隊更加透徹地理解業(yè)務(wù)需求,輔助指導(dǎo)開發(fā)方面。2. 功能測試與單元測試有重疊的部分,開發(fā)者要綜合考慮所花費的時間精力以及找到缺陷的概率,盡可能找到平衡點。3. 自動化測試并不能測試到用戶對應(yīng)用的感覺,也不能對動畫效果進行測試。4.讓自動化測試價值***化需要持續(xù)集成環(huán)境的支持,這樣你才可以持續(xù)獲取測試結(jié)果反饋。
案例分享環(huán)節(jié),AdView技術(shù)主管張其剛介紹某百萬用戶級移動社區(qū)iOS客戶端的開發(fā)過程。
移動應(yīng)用開發(fā)者還關(guān)注哪些技術(shù)問題?
在嘉賓論壇和開放空間討論環(huán)節(jié)中,微云CTO馬若劼、奇藝無線技術(shù)主管劉金瑞、友盟Android工程師陳彧堃、ThoughtWorks開發(fā)工程師唱鑫等多位資深開發(fā)者,與在座的各位共同探討了跨平臺開發(fā),高效的代碼,移動Web,企業(yè)應(yīng)用的安全性,以及移動開發(fā)工程師招聘等行業(yè)熱點話題。
與開發(fā)高手們面對面討論技術(shù)難題
除了兩位講師的演講主題,討論中發(fā)現(xiàn)大家關(guān)注的幾個熱點問題如下:
跨平臺或者多終端適配問題。即如何更快更好的讓應(yīng)用適配到多個平臺。奇藝無線技術(shù)主管劉金瑞提醒到大屏幕和高分辨選項已逐漸變得重要。另外在做界面的時候一定要留出可伸縮的范圍,留下頁面拉伸的余地。
移動Web特別是HTML5作為一種跨平臺方案的優(yōu)劣和適用范圍。微云CTO馬若劼認為如果用HTML5做游戲類應(yīng)用的話,現(xiàn)在已可在iOS上進行嘗試,而Android平臺上則效果相對較差。
平臺選擇。很多開發(fā)者關(guān)注這個問題是因為背后需要投入很多的時間和精力,而一些業(yè)界動態(tài)如Android專利訴訟使他們感到憂慮。微云CTO馬若劼認為,作為一名合格的移動開發(fā)者,掌握至少兩門語言是基本技能。
企業(yè)級應(yīng)用的安全性。越來越多的企業(yè)軟件擁抱移動,如何處理數(shù)據(jù)安全問題,是需要事先考慮的重要事項之一。有會員分享了他們的經(jīng)驗:將業(yè)務(wù)數(shù)據(jù)封裝為組件,適用于所有客戶端,而客戶端層面并不直接處理數(shù)據(jù)而是調(diào)用組件,其作用類似于定制化的瀏覽器,是目前可行的方法之一。
通過這次討論會使得廣大移動應(yīng)用開發(fā)人員都收獲到了開發(fā)過程中的實用技巧。對于移動開發(fā)有了進一步的認識,特別是對Android平臺的設(shè)計和優(yōu)化有了很大的提高。
【編輯推薦】
- 臺灣IT業(yè)Android工程師緊俏 年薪50萬內(nèi)地搶人
- 蘋果大戰(zhàn)Andorid的致勝關(guān)鍵:APP開發(fā)者大軍
- 微軟推出App Guy項目以吸引更多開發(fā)者
- 移動開發(fā)者經(jīng)濟2011:平臺之戰(zhàn)的勝利和失敗
- 商業(yè)模式的極性:電信運營商和開發(fā)者的雙贏命題
- 洗盡鉛華整裝待發(fā) 諾基亞推新開發(fā)者網(wǎng)站