国产午夜男女在线|欧美日本一道高清国产|亚洲日韩乱码中文字幕|麻豆国产97在线精品一区|日韩一区2区三区另类图片|亚洲精品国产99在线观看|亚洲国产午夜福利精品大秀在线|一级做a爰片性色毛片免费网站

          1. <form id="n2a4a"><nav id="n2a4a"></nav></form>
          2. 您當(dāng)前的位置 :寧夏資訊網(wǎng) > 消費(fèi) >  內(nèi)容正文
            投稿

            Android 開(kāi)發(fā)工程師自述:2年的開(kāi)發(fā),我總結(jié)了7條經(jīng)驗(yàn)!

            寧夏資訊網(wǎng) 2020-12-31 04:51:34 來(lái)源: 閱讀:-

            全文共3547字,預(yù)計(jì)學(xué)習(xí)時(shí)長(zhǎng)11分鐘

            Android 開(kāi)發(fā)工程師自述:2年的開(kāi)發(fā),我總結(jié)了7條經(jīng)驗(yàn)

            來(lái)源:wap.anzow.com


            “紙上得來(lái)終覺(jué)淺,絕知此事要躬行?!?br/>


            “沒(méi)有調(diào)查就沒(méi)有發(fā)言權(quán)?!?/p>


            “實(shí)踐出真知?!?/p>


            古今中外,無(wú)數(shù)名言警句都告訴我們實(shí)際去做一件事的重要性。

            Android 開(kāi)發(fā)工程師自述:2年的開(kāi)發(fā),我總結(jié)了7條經(jīng)驗(yàn)


            筆者從最初對(duì)安卓開(kāi)發(fā)萌生興趣到現(xiàn)在已有兩年之久了,期間做過(guò)幾個(gè)項(xiàng)目也開(kāi)發(fā)過(guò)別的,今天就跟大家分享一下這段時(shí)間里筆者親身總結(jié)的7條經(jīng)驗(yàn)。


            1.第三方庫(kù):找到正確的平衡點(diǎn)


            Android 開(kāi)發(fā)工程師自述:2年的開(kāi)發(fā),我總結(jié)了7條經(jīng)驗(yàn)

            Android Arsenal上的一些庫(kù)


            在開(kāi)始第一個(gè)項(xiàng)目時(shí),所有的操作筆者都想從零開(kāi)始,然后幾乎是把第三方庫(kù)打入了冷宮,本想著自己可能以這種方式會(huì)學(xué)到更多的東西。


            興許是第一個(gè)項(xiàng)目,不用第三方庫(kù)也行,但這通常是不可取的。最后無(wú)非是浪費(fèi)大量的時(shí)間“造輪子”(指業(yè)界已有公認(rèn)的軟件或庫(kù)),所以千萬(wàn)別這樣。


            有了第一次的經(jīng)驗(yàn),筆者開(kāi)始使用開(kāi)源庫(kù)。任何情況下都會(huì)有免費(fèi)的庫(kù),這點(diǎn)非常好。所以就添加了一個(gè)庫(kù),結(jié)果根本停不下來(lái)。


            猜猜后來(lái)怎樣了?筆者的項(xiàng)目到最后就是雜七雜八的第三方庫(kù)扭為一體。所以及時(shí)止損吧,好好選庫(kù)。不是所有的都靠譜,況且不一定好上手。


            筆者的建議就是尋找平衡點(diǎn)。如果在開(kāi)發(fā)的過(guò)程中遇到難題,而這個(gè)難題恰巧是別人用某個(gè)庫(kù)完美解決的,那就這個(gè)庫(kù)沒(méi)錯(cuò)了。要是需要HTTP客戶端,選它—— Retrofit。

            Android 開(kāi)發(fā)工程師自述:2年的開(kāi)發(fā),我總結(jié)了7條經(jīng)驗(yàn)

            如果下載和管理的圖像很多的話,就用 Glide,這些庫(kù)絕對(duì)好用,還穩(wěn)定,誰(shuí)人都知道。


            但記住不是所有的庫(kù)都會(huì)這么美好。最好每次都查查這些庫(kù)出自何方神圣,有時(shí)間的話再研究一下開(kāi)源代碼,看看問(wèn)題是如何解決的。


            Android Arsenal幾乎動(dòng)用了所有可用的安卓庫(kù)來(lái)維護(hù)大型數(shù)據(jù)庫(kù)。


            2.從一開(kāi)始就選對(duì)架構(gòu)

            你聽(tīng)說(shuō)過(guò)類似于MVC、MVP、MVVM這樣的縮略詞嗎?它們代表不同的軟件架構(gòu),而且都是需要了解的。


            很多小白是在activity類中敲代碼,剛開(kāi)始這樣似乎行得通,但相信我,這件事沒(méi)這么簡(jiǎn)單。


            項(xiàng)目越大,代碼就會(huì)越復(fù)雜還高度耦合,使得后續(xù)的測(cè)試、維護(hù)、新功能的研發(fā)變得非常棘手。


            所以才推薦大家從一開(kāi)始就選用一目了然的軟件架構(gòu)。如上文提到的這些架構(gòu)各有千秋,下面是迄今為止谷歌推薦的App架構(gòu):


            Android 開(kāi)發(fā)工程師自述:2年的開(kāi)發(fā),我總結(jié)了7條經(jīng)驗(yàn)

            安卓開(kāi)發(fā)員推薦的App架構(gòu)


            從圖中可以看出,每一個(gè)部分僅由下部與其相連的組件決定。


            這樣就會(huì)帶來(lái)一致的用戶體驗(yàn),不僅考慮到了關(guān)注點(diǎn)分離(separationof concerns),還針對(duì)測(cè)試和可擴(kuò)展度進(jìn)行了優(yōu)化。很顯然,任何架構(gòu)都有不完美的時(shí)候,就像谷歌說(shuō)的一樣:


            根本不存在一個(gè)架構(gòu)能滿足任何軟件的情況。言外之意,對(duì)于大多數(shù)軟件和工作流,從一開(kāi)始就使用推薦的架構(gòu)會(huì)是好的開(kāi)端。


            由于不是本文的重點(diǎn),筆者不會(huì)對(duì)該架構(gòu)展開(kāi)過(guò)多的解釋,但會(huì)給大家列舉一些有用的資源:


            l app架構(gòu)的指南

            l 安卓架構(gòu)組件的基礎(chǔ)樣本


            3.重要的事情說(shuō)三遍:測(cè)試測(cè)試測(cè)試

            Android 開(kāi)發(fā)工程師自述:2年的開(kāi)發(fā),我總結(jié)了7條經(jīng)驗(yàn)

            你曾多少次想過(guò):“在手機(jī)上測(cè)試app,發(fā)現(xiàn)成功了!”


            其實(shí)并不夠,簡(jiǎn)單的測(cè)試可能會(huì)在開(kāi)發(fā)時(shí)讓你少費(fèi)幾天功夫,但做起來(lái)可就要搭上好幾周的時(shí)間了。


            產(chǎn)品發(fā)布前,做足測(cè)試可以幫助我們檢查系統(tǒng)的魯棒性、操作性以及可用度。


            那該如何測(cè)試app呢?這個(gè)問(wèn)題可就太寬泛了,測(cè)試類型五花八門,各個(gè)都有自己的使命。


            Android 開(kāi)發(fā)工程師自述:2年的開(kāi)發(fā),我總結(jié)了7條經(jīng)驗(yàn)

            安卓開(kāi)發(fā)員提供的測(cè)試等級(jí)


            在了解上圖的基礎(chǔ)上,可以將測(cè)試分為以下三類:


            l 單元測(cè)試:一次使用一個(gè)類來(lái)驗(yàn)證性能類別。

            l 集成測(cè)試:驗(yàn)證模塊內(nèi)不同層次堆棧間的交互以及相連模塊的交互。

            l UI測(cè)試:驗(yàn)證用戶界面和用戶流


            基于app的用例,需要自行決定進(jìn)行多少種不同測(cè)試。


            谷歌的經(jīng)驗(yàn)法則建議---將測(cè)試分為70%的小測(cè)驗(yàn)(單元測(cè)試),20%的中等測(cè)試(集成測(cè)試)和10%的大型測(cè)試(UI和端到端測(cè)試)。


            l 在安卓平臺(tái)上測(cè)試應(yīng)用:這里講了測(cè)試應(yīng)用所需的所有東西

            l 在安卓上測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD):Google I/O 2017的關(guān)于TDD的視頻會(huì)議


            4.Android Studio ,我們的好伙伴

            無(wú)可厚非,我們已經(jīng)利用了IDE(集成開(kāi)發(fā)環(huán)境),但真的其物盡其用了嗎?


            Android Studio里內(nèi)置了很多有助于軟件開(kāi)發(fā)的工具,下面列舉了一些筆者最常用到的:


            l 設(shè)備模擬器可以對(duì)不同設(shè)備上、各種安卓版本的應(yīng)用程序進(jìn)行測(cè)試。

            l 安卓PK分析器可以通過(guò)對(duì)APK大小的檢測(cè)分析出程序的大小。

            l 實(shí)時(shí)性能分析器(Realtime Profilers)可以對(duì)CPU、內(nèi)存和網(wǎng)絡(luò)使用情況進(jìn)行實(shí)時(shí)統(tǒng)計(jì)分析。

            l Firebase助手可以將應(yīng)用程序與其聯(lián)系起來(lái),只需幾步操作即可將所有Firebase服務(wù)都添加上。

            l Vector Asset Studio可以幫助給每個(gè)密度(密度指磁盤(pán)存儲(chǔ)數(shù)據(jù)的可用空間)創(chuàng)建新的位圖圖像。


            你知道Android Studio還有一個(gè)功能是將PC變成“烤爐”嗎?


            Android 開(kāi)發(fā)工程師自述:2年的開(kāi)發(fā),我總結(jié)了7條經(jīng)驗(yàn)

            更多介紹和功能請(qǐng)參見(jiàn)Android Studio


            5.簡(jiǎn)單清晰的用戶界面(UI)


            如果在一家大型企業(yè)當(dāng)安卓開(kāi)發(fā)員,UI和UX的設(shè)計(jì)就是設(shè)計(jì)者的事了,程序員們大可不必?fù)?dān)心。


            不過(guò)要是初創(chuàng)企業(yè)或是私人項(xiàng)目,可能就得費(fèi)些心思設(shè)計(jì)UI和UX。相信我,好的界面會(huì)錦上添花,而糟糕的界面會(huì)毀了一個(gè)好項(xiàng)目。


            “用戶界面就跟笑話一樣,你若解釋它,就證明它還不夠好?!薄R丁·勒布朗(Martin LeBlanc)


            過(guò)去筆者常犯的一個(gè)錯(cuò)誤就是用戶界面上放的東西太多,元素過(guò)多只會(huì)給用戶帶來(lái)困擾,還會(huì)讓別人覺(jué)得沒(méi)有美感。建議大家從簡(jiǎn),簡(jiǎn)單且清晰。


            特別是不擅長(zhǎng)設(shè)計(jì)的人更要避諱這一塊,盡量做用戶一看就懂的基礎(chǔ)界面。成形后可以進(jìn)行改進(jìn)使其更美觀,這樣用戶會(huì)留下更深的體驗(yàn)印象。


            記住通過(guò)不同大小的顯示器和DPI來(lái)測(cè)試UI,不要用固定的測(cè)量單位,比如px;多用動(dòng)態(tài)的單位,比如用dp(或測(cè)試文本的sp)。


            l Dribbble:里面匯集了各路神仙,不知道從哪下手,可以在這上面尋找靈感。

            l 材料設(shè)計(jì)語(yǔ)言(Google Material Design):該系統(tǒng)適應(yīng)性強(qiáng),為設(shè)計(jì)最佳用戶界面提供了指導(dǎo)、組件和工具系統(tǒng)。

            l 《設(shè)計(jì)心理學(xué)》(The Psychology Of Everyday Things):唐·諾曼寫(xiě)的這本書(shū)講了日用品的可用性設(shè)計(jì),值得一看。


            6.發(fā)布清單(Release Checklist)

            Android 開(kāi)發(fā)工程師自述:2年的開(kāi)發(fā),我總結(jié)了7條經(jīng)驗(yàn)

            來(lái)源:Pexels


            現(xiàn)在覺(jué)得自己的應(yīng)用程序可以發(fā)布了?真的嗎?你怎樣肯定呢?這個(gè)時(shí)候,千萬(wàn)不可草率行事,最好問(wèn)自己幾個(gè)問(wèn)題:


            l 是否移除了所有糾錯(cuò)代碼?

            l 測(cè)試足量嗎?

            l 在構(gòu)建Gradle時(shí),是否更新了名稱和版本代碼?

            l 是否啟用了Proguard 來(lái)混淆APK代碼?

            l 是否對(duì)應(yīng)用程序進(jìn)行了本地化操作?

            l 是否在Google Play上準(zhǔn)備了開(kāi)發(fā)者賬戶?


            如果答案都是“嗯”,那就可以繼續(xù)自己的計(jì)劃了。筆者建議大家做一個(gè)Android App Bundle (aab)來(lái)優(yōu)化應(yīng)用程序的大小和資源,而非APK。


            在 Google Play發(fā)布應(yīng)用程序后,要不斷查看用戶的反饋和所有的分析數(shù)據(jù)。這對(duì)程序的改進(jìn)有非常大的幫助。


            這是安卓開(kāi)發(fā)員提供的檢查清單,不容錯(cuò)過(guò)。


            7.要用Git

            Git是版本控制系統(tǒng)(VCS),它最基本的兩大作用:一是追蹤文件的變動(dòng),二是簡(jiǎn)化由多個(gè)開(kāi)發(fā)員參與的大型項(xiàng)目中的工作。


            我也不知道自己為何會(huì)用Git,其實(shí)直接給項(xiàng)目進(jìn)行備份也可以?!獊?lái)自三年前的我


            現(xiàn)在筆者知道了。


            并且告訴大家:程序員們需要Git,它對(duì)工作流的幫助簡(jiǎn)直妙極了。(這句話要是三年前有人跟我說(shuō)就好了)。


            Git妙在何處?理由如下:


            l 資源代碼安全地儲(chǔ)存在云端,隨用隨取。

            l 所有以往的代碼版本都可使用,可以檢測(cè)舊版本,而且出現(xiàn)錯(cuò)誤時(shí)可以回到以前的版本。

            l 團(tuán)隊(duì)工作得到了簡(jiǎn)化。每個(gè)開(kāi)發(fā)員都可以在并行分支上進(jìn)行工作,有需要時(shí)合并更改。

            l 能開(kāi)發(fā)數(shù)以千計(jì)的開(kāi)源項(xiàng)目。

            l 有GitHub和BitBucket這樣的平臺(tái),創(chuàng)建并展示自己項(xiàng)目的介紹也可以實(shí)現(xiàn)。


            理由千萬(wàn)條,而筆者希望這些足以傳遞一條信息:認(rèn)為自己不需要Git,是錯(cuò)的。


            GitHub和BitBucket指南幫你上手Git

            Android 開(kāi)發(fā)工程師自述:2年的開(kāi)發(fā),我總結(jié)了7條經(jīng)驗(yàn)

            來(lái)源:Pexels


            今天,筆者分享了一些自己在安卓開(kāi)發(fā)期間親身學(xué)到的東西,但肯定有更多的知識(shí)有待探索。


            如果大家有其他寶藏級(jí)建議,尤其是適合初學(xué)者的,請(qǐng)?jiān)谙路桔x躍留言哦。


            Android 開(kāi)發(fā)工程師自述:2年的開(kāi)發(fā),我總結(jié)了7條經(jīng)驗(yàn)

            Android 開(kāi)發(fā)工程師自述:2年的開(kāi)發(fā),我總結(jié)了7條經(jīng)驗(yàn)

            留言點(diǎn)贊關(guān)注

            我們一起分享AI學(xué)習(xí)與發(fā)展的干貨

            如轉(zhuǎn)載,請(qǐng)后臺(tái)留言,遵守轉(zhuǎn)載規(guī)范

            (正文已結(jié)束)

            推薦閱讀:六安都市網(wǎng)

            免責(zé)聲明及提醒:此文內(nèi)容為本網(wǎng)所轉(zhuǎn)載企業(yè)宣傳資訊,該相關(guān)信息僅為宣傳及傳遞更多信息之目的,不代表本網(wǎng)站觀點(diǎn),文章真實(shí)性請(qǐng)瀏覽者慎重核實(shí)!任何投資加盟均有風(fēng)險(xiǎn),提醒廣大民眾投資需謹(jǐn)慎!

            網(wǎng)站簡(jiǎn)介 - 聯(lián)系我們 - 營(yíng)銷服務(wù) - XML地圖 - 版權(quán)聲明 - 網(wǎng)站地圖TXT
            Copyright.2002-2019 寧夏資訊網(wǎng) 版權(quán)所有 本網(wǎng)拒絕一切非法行為 歡迎監(jiān)督舉報(bào) 如有錯(cuò)誤信息 歡迎糾正
            荔浦县| 鄂托克旗| 永新县| 防城港市| 孝义市| 南充市| 南漳县| 博爱县| 县级市| 道孚县| 兴业县| 富锦市| 兰考县| 玛纳斯县| 景东| 印江| 资源县| 南充市| 尖扎县| 文化| 黄大仙区| 天津市| 木里| 兴安县| 海城市| 新沂市| 长岛县| 贵阳市| 敖汉旗| 永兴县| 贵州省| 饶平县| 六盘水市| 西宁市| 深州市| 兴仁县| 五寨县| 永城市| 康定县| 榆社县| 北宁市|