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