再看下文之前我們先來(lái)了解一下什么是App?App即手機(jī)軟件,就是安裝在手機(jī)上的軟件,完善原始系統(tǒng)的不足與個(gè)性化。下面我們來(lái)看一下在進(jìn)行
手機(jī)App開(kāi)發(fā)之前你需要了解的幾點(diǎn)。
1.你打算發(fā)布到哪些平臺(tái)上?有計(jì)劃嗎?
iOS/Android最近的各種版本是否都需要兼容?除了發(fā)布iOS App、Android App,是不是也應(yīng)該發(fā)布成微信App H5App? 百度輕應(yīng)用等各種云平臺(tái)呢,難道就不發(fā)布了?另外,H5 App因?yàn)闃O其方便且技術(shù)日趨成熟,正越來(lái)越成為主流,你是不是也要發(fā)布?五花八門的平臺(tái),你是選擇一次開(kāi)發(fā)就能任意部署,還是選擇分別單獨(dú)開(kāi)發(fā)? 如果分別開(kāi)發(fā),你是否對(duì)后續(xù)工作量的繁重程度有所了解?
2.對(duì)后端服務(wù)的環(huán)境做規(guī)劃了嗎?
服務(wù)端是javaEE還是.net還是php還是其他?數(shù)據(jù)庫(kù)固定一種還是可能會(huì)多種?是不是各種后端技術(shù)都應(yīng)該支持?另外,后端服務(wù)器是用linux還是windows?你有考慮服務(wù)器托管或云服務(wù)器的費(fèi)用了嘛?你的這些要求需要提前讓App開(kāi)發(fā)團(tuán)隊(duì)了解。
3.App產(chǎn)品/項(xiàng)目的決策結(jié)構(gòu)是否明確?
誰(shuí)是最終的決策者?如果在App開(kāi)發(fā)和設(shè)計(jì)過(guò)程中,有超過(guò)一個(gè)決策者,那么最終拍板的人是誰(shuí)?
4.你有預(yù)算規(guī)劃嗎?你知道怎么控制預(yù)算嗎?
App的開(kāi)發(fā)成本很難估算,變量太多,但是有一個(gè)大致的預(yù)算規(guī)劃可以讓開(kāi)發(fā)者實(shí)現(xiàn)關(guān)鍵功能的同時(shí)避免超支,或者在預(yù)算內(nèi)完成優(yōu)先級(jí)最高最重要的產(chǎn)品功能。
手機(jī)App開(kāi)發(fā)的主要成本是人力成本,大多數(shù)的手機(jī)App開(kāi)發(fā)預(yù)算超支都根源于需求變更所導(dǎo)致的人力占用超支;你最好是選擇WeX5這樣的成熟快速開(kāi)發(fā)框架,用最少的人力投入實(shí)現(xiàn)最好的需求變更響應(yīng)。
5.你有考慮過(guò)App軟件項(xiàng)目開(kāi)發(fā)的投資保護(hù)嗎?
一年之后現(xiàn)有App不滿足應(yīng)用時(shí),是不是又得把整個(gè)App全部推翻、重新開(kāi)發(fā)?這取決于你的技術(shù)架構(gòu)選擇是否有足夠的擴(kuò)展能力,是否足夠開(kāi)放以便支撐各種未知的需求?
6.市面上有沒(méi)有能給你靈感或者參考的現(xiàn)成產(chǎn)品?
用成品作為參照可以提高需求分析的精準(zhǔn)度和速度。
7.App發(fā)布后是否需要技術(shù)支持?
大多數(shù)
App開(kāi)發(fā)公司在App發(fā)布后都提供App除錯(cuò)和改進(jìn)服務(wù),但是所采用的技術(shù)框架是否具有活躍的開(kāi)發(fā)者社區(qū),才是決定App后續(xù)技術(shù)支持是否能真正執(zhí)行到位、是否能低成本實(shí)現(xiàn)的最核心因素。如果App的框架后面沒(méi)有一個(gè)足夠活躍的開(kāi)發(fā)者社區(qū),那這個(gè)App的技術(shù)維護(hù)人員就非常容易出現(xiàn)斷檔,陷入找不到人做維護(hù)支持的困境。
8.你是否確定了需要調(diào)用或整合哪些外部API服務(wù)?
采用業(yè)內(nèi)主流的成熟技術(shù)架構(gòu)再次顯得很重要。因?yàn)椋瑹o(wú)論是現(xiàn)有的外部API還是未來(lái)新出現(xiàn)的各種API服務(wù),都一定會(huì)主動(dòng)兼容這些業(yè)界最通用的技術(shù)框架,這無(wú)形中會(huì)為你的未來(lái)避免很多麻煩。譬如Phonegap、Bootstrap,這些技術(shù)架構(gòu)都是事實(shí)上的業(yè)界App標(biāo)準(zhǔn)。