創(chuàng)業(yè)者必讀:開發(fā)一款 App 到底需要多久?(開發(fā)一款app需要多長時間)

創(chuàng)業(yè)者必讀:開發(fā)一款 App 到底需要多久?(開發(fā)一款app需要多長時間)

到2021年,將會有大約3500億的移動APP下載量,這將創(chuàng)造約2000億美元的營收,因此如今移動APP的開發(fā)、營銷和銷售都在呈現(xiàn)指數(shù)級增長這個事實也就在情理之中了。

事實上,目前在Google Play商店中有280萬款A(yù)PP可供下載,在蘋果App Store里有220萬款A(yù)PP可供下載,而且這些數(shù)字還在不斷增長。相對于桌面端而言,移動端的主導(dǎo)地位正在不斷加強,移動APP將會存在很長時間,尤其是在商業(yè)和科技領(lǐng)域更是如此。

因此,這些領(lǐng)域的創(chuàng)業(yè)公司的創(chuàng)始人都很想知道這個問題的答案:開發(fā)一款移動APP需要花多少時間和精力?

現(xiàn)有數(shù)據(jù):開發(fā)一款移動APP需要3-5個月

創(chuàng)業(yè)者必讀:開發(fā)一款 App 到底需要多久?(開發(fā)一款app需要多長時間)

盡管每年有100萬款新的移動APP會在主流應(yīng)用商店上架,但關(guān)于開發(fā)一款新的移動APP究竟需要多長時間方面的數(shù)據(jù)卻非常少。雖然你會發(fā)現(xiàn)很多網(wǎng)站聲稱開發(fā)一款移動應(yīng)用所需的時間大概為3-4個月,但要找到證明這個信息的可靠數(shù)據(jù)卻并不容易。不過,至少有兩個這方面的調(diào)查數(shù)據(jù)是值得一提的:

(1)在由Kinvey在2013年發(fā)起的一項調(diào)查中,Kinvey讓100名移動APP設(shè)計師指出,他們認(rèn)為要開發(fā)出含有主要功能的Android或iOS的APP1.0版本需要多長時間(即一個最小可行化產(chǎn)品,也就是MVP),通過對這100個參與調(diào)研的應(yīng)用設(shè)計師的反饋的數(shù)據(jù)進(jìn)行求和平均,Kinvey發(fā)現(xiàn)開發(fā)一款原生的移動APP需要大約18周的時間(即:4.5個月),其中后端開發(fā)大概需要10周時間,前端開發(fā)大概需要8周時間。針對這個調(diào)研結(jié)果,Kinvey還制作了一張經(jīng)常被大家引用和分享的移動APP開發(fā)時間軸信息圖:

創(chuàng)業(yè)者必讀:開發(fā)一款 App 到底需要多久?(開發(fā)一款app需要多長時間)

在下文中,我將描述后臺和前端開發(fā)的本質(zhì),因此,如果上面的信息圖現(xiàn)在有點混亂,也請不要介意。

(2)第二個值得提及的這方面的研究是GoodFirms在2017年發(fā)布的一份報告。GoodFirms在應(yīng)用領(lǐng)域進(jìn)行了多項調(diào)查,調(diào)研的主題包括開發(fā)一款移動APP需要的時間和費用方面的問題

和Kinvey采用的方法類似,GoodFirms調(diào)研了幾十家科技公司,要求參與調(diào)研的公司估計開發(fā)像Instagram、Tinder和Uber這樣的APP需要多長時間,然后對參與調(diào)研者給出的數(shù)據(jù)進(jìn)行了求和平均。

根據(jù)這個調(diào)研,GoodFirms的報告中展示了以下數(shù)據(jù):

  • 功能豐富的高度復(fù)雜的應(yīng)用,如Instagram和Uber,需要花費4.5月-5.5個月的時間才能開發(fā)完成。

  • 中等復(fù)雜的移動應(yīng)用,如WhatsApp或QuizUp,需要大約4.6個月的時間才能開發(fā)完成。

  • 用戶友好型但功能較少的應(yīng)用,比如Tinder和Periscope,需要大約3.8月-4.1個月才能開發(fā)完成。

下面是 GoodFirms制作的相應(yīng)的信息圖表:

創(chuàng)業(yè)者必讀:開發(fā)一款 App 到底需要多久?(開發(fā)一款app需要多長時間)

總之,這兩項調(diào)研都表明,開發(fā)一款A(yù)PP大約需要3-5個月的時間才能完成。盡管開發(fā)不同的應(yīng)用需要的時間會有一定的差別,但大概的時間范圍是肯定沒錯的。

現(xiàn)在讓我們來看看開發(fā)一款移動APP所涉及的四個關(guān)鍵階段,以便探索可能會影響完成一款A(yù)PP開發(fā)所需要的時間的各種因素和決策。

移動APP開發(fā)的四個關(guān)鍵階段

創(chuàng)業(yè)者必讀:開發(fā)一款 App 到底需要多久?(開發(fā)一款app需要多長時間)

盡管我們可以將APP開發(fā)看作是一個迭代過程,但將過程概念化是有幫助的,因為它涉及到許多定義階段。我將一一描述APP開發(fā)的每一個階段,同時你要記住,每一個階段都不是與其它階段完全分開的。

階段1:調(diào)研和規(guī)劃

開發(fā)一款移動應(yīng)用的第一階段需要回答兩個基本的問題:

(1)為什么我要開發(fā)這款A(yù)PP?這款A(yù)PP為什么需要存在?它將如何為世界帶來價值?人們真的想使用這款A(yù)PP嗎?哪些人會使用這款A(yù)PP?為什么會使用?

(2)市面上是否已經(jīng)這種類型的APP了?如果已經(jīng)存在的話,我為什么相信我開發(fā)的APP能戰(zhàn)勝其它競爭對手?我的APP與其它現(xiàn)有同類APP的區(qū)別和優(yōu)勢分別是什么?

從本質(zhì)上看,要想回答諸如“我想要我的APP做什么?我的APP為什么要存在?我的APP如何擊敗競爭對手?”這些問題,這就需要你對你的目標(biāo)市場和目標(biāo)客戶群有深入的了解。

你需要對市場需求和客戶需求進(jìn)行廣泛的研究,確保:(1)確認(rèn)并證實一個能夠為你帶來盈利的客戶痛點;(2)計算目標(biāo)市場規(guī)模;(3)驗證你的產(chǎn)品想法。此外,你還必須研究你的競爭對手,包括他們的APP、客戶和商業(yè)策略。

很難準(zhǔn)確地指出你需要花多長時間來收集和確認(rèn)這些重要的信息,但是你很有可能需要花幾個星期的時間來調(diào)研和驗證想法。

階段2:功能和特性

創(chuàng)業(yè)者必讀:開發(fā)一款 App 到底需要多久?(開發(fā)一款app需要多長時間)

在收集了足夠多有關(guān)理想客戶的需要和需求數(shù)據(jù)后,確定你打算提供的解決方案確實是有很大的市場需求的,接下來你必須決定應(yīng)該要為你的APP開發(fā)哪些具體的功能和特性。很多移動APP開發(fā)者都會迷失在這個階段。

在這個階段,你要精確地確定你想讓你的APP以何種方式運行:

  • 你希望你的APP能夠做些什么?

  • 它將執(zhí)行哪些任務(wù)、功能和操作?(一對一聊天?與其他應(yīng)用集成?等等)

  • 它將如何處理數(shù)據(jù)?它將從用戶那里收集原始數(shù)據(jù),還是利用現(xiàn)有的數(shù)據(jù)框架?

這時,你就需要創(chuàng)建故事板(storyboard)了,例如應(yīng)用程序的用戶界面的可視化展示,顯示內(nèi)容的屏幕和這些屏幕之間的聯(lián)系和連接:

創(chuàng)業(yè)者必讀:開發(fā)一款 App 到底需要多久?(開發(fā)一款app需要多長時間)

故事板有助于你發(fā)現(xiàn)可用性方面的問題,并改善用戶體驗。

在確定移動APP的功能和特性階段,你還要開發(fā)用例,這些用例作為理想用戶與應(yīng)用進(jìn)行交互的模板。正如Crew的團隊成員所說的那樣,你開發(fā)的功能越多,你的產(chǎn)品就會越復(fù)雜,開發(fā)應(yīng)用所需的時間也就越長。

你在這個階段必須做的最重要的決策之一就是你的APP要支持多操作系統(tǒng)和設(shè)備,還是只支持一種操作系統(tǒng)和設(shè)備。實際上,這通常意味著你必須決定你的APP是否有iOS、Android和Windows版本。

為什么這個選擇從時間表的角度來看非常重要呢?主要因為兩個原因:

(1)為多個操作系統(tǒng)和設(shè)備開發(fā)一款A(yù)PP需要更長的時間才能開發(fā)完成。

(2)雖然隨著時間的推移,這一差別變得越來越不明顯,但開發(fā)一款安卓APP比開發(fā)一款iOS APP通常需要更多的時間(通常需要多花20-30%的時間)。

關(guān)于這一點,Valeriia Timokhina曾表示:“iOS通常是最開始推出應(yīng)用的首選平臺,因為只有少量的目標(biāo)設(shè)備和操作系統(tǒng)需要適配。相對于一次性需要適配多個操作系統(tǒng),一次只確保你的應(yīng)用在一個操作系統(tǒng)上完美地運行容易得多。此外,在市面上有超過12000個不同的Android設(shè)備,幾乎不可能將APP針對每一款A(yù)ndroid設(shè)備都進(jìn)行優(yōu)化。因此,開發(fā)和測試Android APP往往需要花費更多的時間,除非你限制支持的設(shè)備和支持的屏幕分辨率的數(shù)量。如果你想同時開發(fā)iOS和Android APP,那么你開發(fā)APP所需要的時間和預(yù)算可能會翻倍?!?/p>

關(guān)于你應(yīng)該如何同時開發(fā)面向多個操作系統(tǒng)的應(yīng)用,Cruxlab的工作人員指出:“傳統(tǒng)上,Android APP程序是用Java開發(fā)的,而iOS APP則是用Swift和objective-objective編寫的。盡管如此,仍然存在大量其他可替代的替代工具,Xamarin、React Native和Ionic是其中的一些比較受歡迎的替代工具?!?/p>

在沒有深入技術(shù)細(xì)節(jié)之前,如果你想同時開發(fā)iOS和Android APP(也可能包括Windows應(yīng)用),那么你可以選擇下面兩種路徑中的一種:

(1)使用兩種完全不同的編程語言來開發(fā)APP的兩個不同的版本;

(2)使用跨平臺的開發(fā)工具(React Native、Ionic等)同時開發(fā)APP的兩個版本,從而簡化流程。

這里再強調(diào)一遍,雖然無法準(zhǔn)確預(yù)測確定APP的核心功能特性所需要的時間,不過大概的時間范圍是肯定的:3-5周左右。

階段3:技術(shù)可行性、設(shè)計和開發(fā)

創(chuàng)業(yè)者必讀:開發(fā)一款 App 到底需要多久?(開發(fā)一款app需要多長時間)

在確定了你想要APP做什么以及期望它如何運行之后,你接下來必須要明確地確認(rèn)將這些功能和特性開發(fā)出來并正常運行是能夠做到的。在這個過程中,需要讓你的技術(shù)團隊參與確認(rèn),你想要給用戶帶來的功能和產(chǎn)品前端交互體驗是能夠在后端通過編程來實現(xiàn)的。換句話說,你需要確保前端和后端系統(tǒng)之間的兼容性。為此,你必須咨詢你的技術(shù)人員并與其合作。

前端系統(tǒng)包括一個軟件、應(yīng)用程序或網(wǎng)站的可視化前端元素,它們可以被終端用戶直接查看和訪問。相反,后端系統(tǒng)由一個網(wǎng)站、軟件或信息系統(tǒng)的核心計算邏輯組成,這些系統(tǒng)是可以供用戶通過前端應(yīng)用程序或系統(tǒng)間接訪問的。

前端開發(fā)主要集中在開發(fā)的客戶端。前端開發(fā)人員將參與分析代碼、設(shè)計和調(diào)試應(yīng)用程序,同時確保提供一個無縫的用戶體驗。你可以管理和控制人們在瀏覽器或應(yīng)用中首先會看到的東西,作為前端開發(fā)者,你要負(fù)責(zé)網(wǎng)站的外觀、感覺和最終設(shè)計。

后端開發(fā)指的是服務(wù)器端的開發(fā),你主要關(guān)注的點是網(wǎng)站是如何工作的。這種類型的web開發(fā)通常由三個部分組成:一臺服務(wù)器、一個應(yīng)用和一個數(shù)據(jù)庫。后臺開發(fā)人員編寫的代碼是將數(shù)據(jù)庫信息傳到瀏覽器或應(yīng)用中。任何你無法輕易看到的東西,比如數(shù)據(jù)庫和服務(wù)器,都是后臺開發(fā)人員的工作。

從技術(shù)上講,前端流程包括緩存、同步、線框圖、UI設(shè)計、UI開發(fā)等。數(shù)據(jù)存儲、用戶管理、服務(wù)器端邏輯、數(shù)據(jù)集成和版本控制等都屬于后端開發(fā)。由于后端流程負(fù)責(zé)計算、業(yè)務(wù)邏輯、數(shù)據(jù)庫交互和性能等方面的操作,讓應(yīng)用運行的大部分代碼都是后端代碼。

后端工程師要與前端設(shè)計人員保持持續(xù)的溝通,這一點至關(guān)重要。否則你就有可能陷入這樣一種危險的境地:后端工程師無法開發(fā)前端設(shè)計人員想要的東西。

如果你想與后端基礎(chǔ)架構(gòu)一起來開發(fā)前端移動APP,那么最重要的是你要對所要開發(fā)的功能進(jìn)行優(yōu)先級排序。讓你的后端工程師先開發(fā),這樣你的前端工程師才可以開發(fā)功能代碼。如果后端沒有很好地定義,也沒有相應(yīng)的功能,那么前端工程師的工作效率就會低很多。

開發(fā)APP的一個關(guān)鍵部分在于需要能成功地訪問你的應(yīng)用運行的核心數(shù)據(jù)。你是會使用公共API密匙,還是會開發(fā)自己的抽象層?

API的全稱是Application Programming Interface(應(yīng)用程序接口),它代表了一種獨特的代碼,允許應(yīng)用與應(yīng)用之間(開發(fā)者)相互訪問。一些全球知名的應(yīng)用都有開放的API,比如Dropbox、Facebook、Instagram、Skype、Twitter和Uber,開發(fā)人員可以利用這些API來開發(fā)自己的應(yīng)用。

例如,流行的基于滑動的交友應(yīng)用Tinder就使用了Facebook的API:Tinder用戶通過他們的Facebook主頁登錄Tinder,正因如此,Tinder就沒有必要從零開始打造自己的用戶群。

確定前端和后端兼容性需要涉及各種不同的UX(用戶體驗)和UI(用戶界面)設(shè)計流程,包括線框圖:

創(chuàng)業(yè)者必讀:開發(fā)一款 App 到底需要多久?(開發(fā)一款app需要多長時間)

作為UX設(shè)計的一部分,線框圖是一個頁面或應(yīng)用界面的二維圖,主要展示的是內(nèi)容的空間分配和優(yōu)先級,可用的功能以及預(yù)期的行為。

線框圖主要是灰色的,主要幫助:

(1)在APP的信息架構(gòu)與它的視覺設(shè)計之間搭起一座橋梁。

(2)闡明在用戶界面上所顯示的信息的一致方法。

(3)確定交互界面中的預(yù)期功能。

(4)通過確定給一個特定項目分配多少空間以及將該項目在屏幕上的位置,并進(jìn)而來進(jìn)行內(nèi)容的優(yōu)先級排序。

下面是Facebook的線框圖的例子:

創(chuàng)業(yè)者必讀:開發(fā)一款 App 到底需要多久?(開發(fā)一款app需要多長時間)

在產(chǎn)品開發(fā)和優(yōu)化周期的不同階段都可以制作線框圖。例如,有些人會選擇在功能和特性階段早期制作線框圖,將線框圖與故事板和其它基本視覺表現(xiàn)的使用聯(lián)系起來。另一些人則在設(shè)計和開發(fā)階段制作線框圖,把它與對前端和后端兼容性的調(diào)查聯(lián)系起來。

正如 Sheila Olson所言,線框圖和故事板可以作為你用來支撐APP的后臺架構(gòu)的向?qū)А狝PI、數(shù)據(jù)圖、服務(wù)器、數(shù)據(jù)集成和推送通知服務(wù)。

對于那些在設(shè)計和開發(fā)階段制作線框圖的人來說,大概的順序是這樣的:

線框圖→ 低保真原型→高保真模型→代碼。

一旦完成了線框圖的制作設(shè)計后,就可以創(chuàng)建應(yīng)用的圖形用戶界面(GUI)了,這個界面是用來創(chuàng)建添加特定字體、顏色、主題和圖標(biāo)的地方。

正如 Aim Consulting的人所言,一旦設(shè)計元素完成之后,設(shè)計結(jié)果就能提供一個清晰的視覺方向,讓你的工程師了解預(yù)想的最終產(chǎn)品以及APP中的交互感覺、移動和流動應(yīng)該是怎樣的。

你可以通過利用專門為這個目的設(shè)計的軟件平臺來開發(fā)你的新APP(例如:應(yīng)用程序開發(fā)程序,其中很多都是拖放界面)。然而,我們建議你與一個專業(yè)的應(yīng)用開發(fā)代理商合作,因為代理商在幫助企業(yè)家成功地執(zhí)行他們的想法方面擁有豐富的經(jīng)驗。

總而言之,進(jìn)行技術(shù)可行性評估,確定前端設(shè)計元素,并編寫后端架構(gòu),這可能需要1-2個月的時間才能完成。

階段4:測試與改進(jìn)

創(chuàng)業(yè)者必讀:開發(fā)一款 App 到底需要多久?(開發(fā)一款app需要多長時間)

開發(fā)一款A(yù)PP的最后一個階段(除了實際發(fā)布和相關(guān)的營銷活動之外)是測試和改進(jìn)階段。

現(xiàn)在,從某種層面上說,測試是開發(fā)階段的一部分,因為你的程序員和Alpha測試工程師在開發(fā)過程中會不斷地嘗試打破你的APP,以便在其發(fā)布之前發(fā)現(xiàn)并糾正代碼中存在的錯誤。

Alpha測試是你的公司內(nèi)部的進(jìn)行的,因為你的開發(fā)人員(無論是員工還是外包)將會在你的APP發(fā)布到真實的終端用戶手里之前對應(yīng)用進(jìn)行標(biāo)準(zhǔn)化的診斷。

Beta測試的目的是在實驗室外測試你的APP:當(dāng)真正的用戶有機會按照他們自己喜歡的方使用APP而不是按照你設(shè)想的方式使用APP時,這時會發(fā)生什么呢?Beta測試的關(guān)鍵是要弄清楚當(dāng)日常用戶將你的應(yīng)用下載到他們的手機上并按照他們喜歡的方式使用應(yīng)用時,你的應(yīng)用是否能支撐住。

Alpha測試需要發(fā)現(xiàn)主要的bug和小故障,而Beta測試需要能夠發(fā)現(xiàn)APP在真實用戶的真實使用環(huán)境中可能會出現(xiàn)的問題。

Alpha測試(開發(fā)階段)和Beta階段(測試階段)對于打造一款可靠的應(yīng)用都是必不可少的組成部分。

一旦你在你自己的開發(fā)團隊中對應(yīng)用完成了Alpha測試后,你就應(yīng)該將APP開放給特定的公眾進(jìn)行Beta測試。

你如何才能為即將發(fā)布的應(yīng)用找到合格的Beta測試者呢?你可以通過一些基于Web的服務(wù)和平臺來找到測試者,包括BetaFamily、BetaList、ErliBird、PreApps、TestElf、Reddit和UserTesting等。

如果你已經(jīng)完成了一輪或幾輪Alpha測試,那么你的Beta測試階段需要花的時間應(yīng)該不會超過3-4周。

結(jié)語

在上面的時間基礎(chǔ)上,我們還為APP開發(fā)的四個階段分別還留有了一定的時間緩沖,因此我們最終計算出,開發(fā)完成一款應(yīng)用所需的最終時間大概在4-5個月。因此,我們會發(fā)現(xiàn),開發(fā)一款移動APP是一個相當(dāng)漫長而復(fù)雜的過程,需要大量的準(zhǔn)備、耐心和投入才能正確地執(zhí)行。

下面是我為大家的APP開發(fā)之旅提供的最后兩點建議:

(1)在制定APP開發(fā)時間表上,要保持適當(dāng)?shù)撵`活性,要做好延遲的準(zhǔn)備。很多無法預(yù)見的情況都會造成時間的拖延,如iOS新版發(fā)布、第三方集成發(fā)生的變化、質(zhì)量測試過程中出現(xiàn)的意想不到的問題等。在完成開發(fā)的過程中,要給自己留出一個緩沖時間,而不是一個嚴(yán)格的最后期限。你最不想看到的就是將APP發(fā)布到應(yīng)用商店后,發(fā)現(xiàn)這款應(yīng)用崩潰了或者出現(xiàn)其它更糟糕的情況。你只有一次給用戶留下第一印象的機會,你肯定不想成為那些在被用戶下載后就被立即棄之不用的APP。

(2)確保你能夠在APP發(fā)布后依然可以隨時與開發(fā)團隊溝通。如果你正在與外部供應(yīng)商合作開發(fā)你的APP,確保你在APP發(fā)布后通過托管服務(wù)協(xié)議或類似的合作伙伴關(guān)系來繼續(xù)與開發(fā)團隊溝通,移動APP并不是那種“一旦開發(fā)完成便終身無憂”的產(chǎn)品。

編譯組出品。

編輯:郝鵬程、王雅琪

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部