前言
本篇博客從開發(fā)的角度介紹如何開發(fā)一個APP。 需要說明的是,這只是一個如何開發(fā)app的思路,不會介紹很多技術(shù)細(xì)節(jié)。 從大局出發(fā),如何構(gòu)思一個app的開發(fā),讓大家對一個app的獨立開發(fā)有一個認(rèn)識。 如有不妥之處,歡迎大家留言討論。
開發(fā)環(huán)境
應(yīng)用層使用的開發(fā)語言是Java,自然需要Java運行環(huán)境。 無論是系統(tǒng)還是Mac系統(tǒng),都需要安裝JDK并配置其環(huán)境變量。 您不知道什么是環(huán)境變量或如何配置它們。 ,請善用自己的百度技巧,自行學(xué)習(xí)。
開發(fā)工具
開發(fā)工具,由于歷史原因,之前已經(jīng)使用了很長時間。 當(dāng)我們要開發(fā)應(yīng)用程序時,需要安裝為其開發(fā)的插件ADT。 這個開源軟件很優(yōu)秀也很專業(yè),但是光拿來開發(fā)就顯得有點雞肋了,如果不優(yōu)化的話會很卡,實在不想后面被圍觀,所以自己開發(fā)了它專門為我們的開發(fā)人員提供,目前在開發(fā)人員中非常受歡迎。 現(xiàn)在2.0預(yù)覽版也出來了,大家。 快上去下去。
模擬器
內(nèi)置模擬器被廣泛詬病,太卡太慢了,比起其他IOS模擬器就是這么流暢,開發(fā)者直呼辛苦,還好第三方比原版流暢n倍,可以下個個人版代碼開發(fā)安卓版,平時開發(fā)測試用就夠了。 最好的辦法就是用真機來測試,畢竟真機就是真實的環(huán)境。
核心基礎(chǔ)
前面是準(zhǔn)備工作。 想要開發(fā)一款A(yù)PP,至少要掌握核心的基礎(chǔ)知識。 對于初學(xué)者童鞋來說,一口吃掉一個胖子是不可能的。 還是要打好基礎(chǔ),才能完成自主開發(fā)。 入門并不難。 學(xué)完基礎(chǔ)知識,你就具備了開發(fā)APP的基本條件。 要做一個優(yōu)秀的應(yīng)用程序還有很長的路要走。 經(jīng)驗是通過不斷的實踐積累的。 找一套系統(tǒng)的課程認(rèn)真學(xué)習(xí),網(wǎng)上的教育資源很多,比如MOOC和極客學(xué)院,有很多不錯的學(xué)習(xí)資源,童鞋們可以選擇最好的自己學(xué)。
推廣:(作者課程)
產(chǎn)品開發(fā)流程
正常的互聯(lián)網(wǎng)開發(fā)app流程大致如下:
- 產(chǎn)品規(guī)劃,設(shè)定產(chǎn)品方向
- 需求調(diào)研,輸出需求文檔
- 需求評審,需求文檔的修訂
- 產(chǎn)品狗畫app線框提供給吃雞射手
- 吃雞射手根據(jù)線框設(shè)計視覺稿
- 程序員根據(jù)視覺稿搭建UI框架
- 程序員根據(jù)需求文檔開發(fā)功能
- 測試人員根據(jù)時間表編寫測試用例和測試
- 程序員修復(fù)回歸測試報告的bug并提交測試版
- 測試通過,提交到喵運營發(fā)布到頻道上線
以上是筆者的經(jīng)驗總結(jié)。 可能有不準(zhǔn)確的地方,但大致整個過程是這樣的。 我們開發(fā)人員需要清楚自己在整個產(chǎn)品中的角色,明白自己的工作職責(zé)。
快速構(gòu)建項目
沒有想象中那么難,但是剛開始要學(xué)的東西太多了,一下子消化不了會比較無所適從。 寫這篇博??客是為了幫助大家理清自己的開發(fā)思路。
快速構(gòu)建項目也是一種技能,而這種技能只能靠自己來完善。 剛開始做開發(fā)的時候,肯定有很多重復(fù)性的工作。 如果你不自覺地提高你的開發(fā)效率,你十年的工作經(jīng)驗就意味著一年的經(jīng)驗用了十年。
具體怎么做,筆者提供了自己的總結(jié),僅供參考:
- 定義開發(fā)規(guī)范
- 構(gòu)建用戶界面框架
- 可選的開發(fā)庫集成(或自制輪子)
- 第三方服務(wù)集成(視情況而定)
開發(fā)規(guī)范
一般來說,一個項目不會只靠一個人獨立開發(fā)。 即使是自主開發(fā),也要制定開發(fā)規(guī)范。 會有什么樣的規(guī)格?
- 命名約定
- 代碼規(guī)范
- 代碼管理規(guī)范
命名約定
命名約定包括:
- 項目命名
- 包命名
- 類命名、成員變量命名
- 資源文件命名
我們生產(chǎn)的每一件產(chǎn)品都會有一個對應(yīng)的名稱。 不要用中文命名。 最好用能表達(dá)中文意思的英文。 例如CSDN客戶端可以作為名稱。 我們可以在創(chuàng)建項目時使用它作為名稱。
可以看看之前寫的這篇文章:
代碼規(guī)范
代碼規(guī)范取決于語言。 Java用于開發(fā)。 自然要按照J(rèn)ava編碼標(biāo)準(zhǔn)進(jìn)行編碼。 比如命名方式采用駝峰命名方式,編碼要符合開發(fā)標(biāo)準(zhǔn)。 例如,UI 線程不執(zhí)行任何耗時操作。 ,比如網(wǎng)絡(luò)請求和數(shù)據(jù)庫操作都需要在子線程中完成。 只有 UI 刷新是在 UI 線程中完成的。 像這些規(guī)范,你可以根據(jù)你在項目中遇到的問題來設(shè)置。 設(shè)置規(guī)范的好處是減少踩坑的概率,提高開發(fā)質(zhì)量。
代碼管理
對于一個經(jīng)常更新迭代的產(chǎn)品來說,不可能從頭到尾一成不變。 這時候,我們就需要對代碼進(jìn)行分支。 最好使用git代碼倉庫來管理代碼。 作為一個合格的開發(fā)者,你甚至不需要 git。 也用svn的童鞋趕緊棄之,投入git的懷抱。 它的好處是不言而喻的,您可以親身體驗。
構(gòu)建用戶界面框架
構(gòu)建UI框架需要我們根據(jù)產(chǎn)品的導(dǎo)航方式進(jìn)行設(shè)計。 市場上常用的導(dǎo)航方式有以下幾種:
如果不出意外的話,我們的app一定是導(dǎo)航模式之一。 一般來說,我們應(yīng)該知道線框畫出來后,要開發(fā)的app是什么樣子的。 開發(fā)人員不必等待視覺稿和材料開始施工。 一個架子,視覺稿出來后我們再做調(diào)整。
選擇開發(fā)庫
一般我們的app涉及到的庫會有:
- UI框架(如下拉刷新、側(cè)滑菜單)
- 網(wǎng)絡(luò)請求庫(eg,,)
- 數(shù)據(jù)操作庫(例如,)
- 圖片緩存框架(如-)
- 數(shù)據(jù)解析庫(如Gson)
之所以選擇這些庫,肯定是為了避免重新發(fā)明輪子。 從開發(fā)效率的角度來說,選擇優(yōu)秀的開源庫可以大大縮短開發(fā)周期,提高開發(fā)效率,但是從個人提升??的角度來說,我們可能只是變成了一個只會用API的程序員。 如果你想改進(jìn),造輪子或者分析這些優(yōu)秀的源碼都是不錯的方法。
第三方服務(wù)集成
我們在開發(fā)APP的時候,肯定會遇到一些需求,比如推送需求,自動升級,數(shù)據(jù)統(tǒng)計代碼開發(fā)安卓版,社交分享,用戶反饋等等,但是對于一個初創(chuàng)企業(yè)或者個人開發(fā)者來說,就得自己動手了開發(fā)的話,會不會很累? 像push一樣有一定的技術(shù)門檻,做的好就可以成立公司,所以選擇一些第三方服務(wù)是一個可有可無的舉動。 如果以后要做大,又怕有第三方控制不了,那就自己做吧。
有了上面的東西就可以開發(fā)一個app了。 開發(fā)后能不能用還得靠譜測試代碼開發(fā)安卓版,有沒有閃退,運行不流暢,體驗好不好。 只有這樣,用戶才會使用它。 這里我們不從產(chǎn)品的角度來判斷一個APP的好壞。 程序員需要考慮的是從代碼和性能的角度讓我們的app變得更好。
云測量
我們完成開發(fā)后,需要對測試工程師進(jìn)行基本的功能需求測試。 他們傳統(tǒng)的做法是根據(jù)預(yù)先寫好的測試用例做回歸測試,然后把測試出來的bug反饋給工程師,由工程師修復(fù)bug。 這實在是太不靠譜了。 有時候我們太在意功能,而忽略了一些更重要的東西,那就是體驗。 給用戶最直接的感受就是你的應(yīng)用是否足夠驚艷,是否足夠流暢。 不管你對這個功能有多牛逼。 因此,我們應(yīng)該從非功能性的方向進(jìn)行測試。 我們的目的是讓用戶用起來舒服,而不是加入一些亂七八糟的功能。 然后怎么去測試一些非功能性的因素,這里是“云測試”的東西,因為現(xiàn)在設(shè)備太多了,如果公司要買一堆設(shè)備來測試,要多少錢,設(shè)備是更新太快,根本跟不上,于是就有了云測試,這是一個云測試平臺服務(wù),提供大量主流機型,我們可以直接節(jié)省購買設(shè)備的成本,得到一個完整的測試報告 。
讓我們談?wù)勊暮锰帲?/p>
- 終端云化,省去測試設(shè)備購置和租賃成本
- 有效節(jié)省測試人員的成本和時間
- 包括兼容性測試、性能測試、功能測試
- 操作簡單,生成詳細(xì)測試報告
好處這么多,缺測試工程師的時候不去嘗試,實在是說不過去。
在線打包
前面的開發(fā)測試環(huán)節(jié)都搞定之后,離實現(xiàn)一個APP的完整開發(fā)也就不遠(yuǎn)了。 正常的互聯(lián)網(wǎng)公司會將簽名打包的apk交給運營,交給他們寫文案上傳到app。 渠道,讓渠道給我們投放和推廣。 如果是個人開發(fā)者,我們就得自己做這些工作。
總結(jié)
本篇博客為大家梳理了整個APP開發(fā)流程。 技術(shù)方面的東西我沒有講太多,但是了解app流程對你把握產(chǎn)品是很有好處的。 雖然我們只是一個小開發(fā),但是如果你有,當(dāng)輪到你負(fù)責(zé)一個產(chǎn)品的時候,你應(yīng)該對開發(fā)的每一個環(huán)節(jié)都了如指掌,因為如果有問題,你也知道如何解決。有針對性地。 筆者雖然只是一個小開發(fā)者,但也樂于思考。 很多時候,他不愿意被別人牽著鼻子走,因為我們的人生應(yīng)該掌握在自己的手中。