開發(fā)App后臺,當(dāng)需求初步確定后,就要考慮用什么技術(shù)去實現(xiàn)架構(gòu)。基于架構(gòu)設(shè)計的遞進關(guān)系,深圳APP開發(fā)公司認(rèn)為架構(gòu)選型有如下兩個要點:
·用成熟穩(wěn)定的開源軟件。
·優(yōu)先選擇云服務(wù)。
一、為什么用成熟穩(wěn)定的開源軟件
用開源軟件方案有下面兩個原因
·節(jié)省資金。
·非開源方案,如果不是被廣泛使用而且沒提供技術(shù)支持的話,出了問題也很難從代碼層面查找
以前由于開源軟件的不成熟,沒法滿足公司業(yè)務(wù)上的需求,某些大型公司的基礎(chǔ)組件需要采用自研的方案。隨著時間的發(fā)展,眾多開發(fā)者(甚至是公司)參與到開源軟件的編寫與反饋選代工作,開源軟件越來越成熟,眾多開發(fā)者對其也越來越熟悉,使用開源軟件在短時間內(nèi)就能搭建一個成熟穩(wěn)定的App后臺。
當(dāng)然也有不少的公司在開源軟件的基礎(chǔ)上,結(jié)合自身的業(yè)務(wù)特點對開源軟件進行改造,例如,淘寶就把其定制開發(fā)的Nginx版本命名為Tengine,并對其開源。
APP開發(fā)公司之所以直強調(diào)用成熟穩(wěn)定的開源軟件,是基于以下幾點理由:
·由于成熟穩(wěn)定的開源軟件用戶基數(shù)足夠大,其內(nèi)部出現(xiàn)的各種代碼錯誤和功能缺陷極大可能已經(jīng)被其他開發(fā)者反饋給開源軟件團隊修復(fù)。
·在使用開源軟件的過程中出現(xiàn)的各種在使用者認(rèn)知水平之外的問題,由于開源軟件用戶基數(shù)足夠大,可能別的開發(fā)者也曾經(jīng)遇過并解決了這些問題,能通過搜索引擎在網(wǎng)絡(luò)上找到合適的解決方案。當(dāng)使用非成熟穩(wěn)定的開源軟件時,出了什么問題在搜索無效的情況下
只能查看源碼來定位問題,或者和軟件的開發(fā)者溝通,看看有哪些解決問題的方案。但一般軟件的開發(fā)者只留下E-Mail等非即時溝通方式,溝通并解決個問題所需的時間周期很漫長。
·由于成熟穩(wěn)定的開源軟件被廣大開發(fā)者所熟悉,也有龐大的用戶群。在移動互聯(lián)網(wǎng)行業(yè)人員的流動性比較大,如果采用自研的軟件方案,新招聘的人員需要花大量的時間熟悉自研的軟件方案,而采用成熟穩(wěn)定的開源軟件就不存在這個成本。下面以這個具備了基本社交功能的App為例,列舉其功能和項目管理中可供選擇的開源軟件方案。
·使用手機號、微博、QQ注冊和登錄。
·手機號注冊需要使用驗證碼。
·用戶之間能互相添加為好友。
·能搜索App內(nèi)的用戶。
·能查看附近的人。
·用戶能發(fā)表類似微博的東西(包括文字、圖片、聲音和地理位置),并在App首頁顯示所有好友發(fā)表的內(nèi)容。
·用戶可以把內(nèi)容分享到社交網(wǎng)絡(luò)。
·聊天功能,能發(fā)送文字、圖片、聲音和地理位置。
·運營方可以給App用戶推送各種產(chǎn)品消息、最新的通知等。
從上面這個App的功能實現(xiàn)和項目管理中可供選擇的開源軟件方案如表10-l所示

二、盡可能使用云服務(wù)
移動互聯(lián)網(wǎng)時代涌現(xiàn)了大量小而美的創(chuàng)業(yè)型公司,這些公司由于受到資金的限制,研發(fā)人員的配置非常精簡,典型的研發(fā)人員配置如下:
·Android/項目開發(fā)l--2人
·iOS/項目開發(fā)1---2人。
·App后臺/項目開發(fā)l~2人
我們在前面文章中介紹用成熟穩(wěn)定的開源軟件方案”中以一個基本的社交App為例,用表列舉了開發(fā)這個App所需要使用的開源軟件里面所需要使用的開源軟件多達20個,想想都覺得可怕,一個開發(fā)人員掌握20個開源軟件需要付出多少精力!這里的掌握還是指基本的配置和使用,如果需要對其原理和運作機制有深入的理解,所付出的精力更是無法評估。
隨著云平臺的不斷發(fā)展,越來越多可復(fù)用場景的需求以云的形式提供服務(wù),云服務(wù)也越來越完善。云服務(wù)和使用復(fù)雜多樣的開源軟件進行配置、運維相比,能極大地減少開發(fā)人員認(rèn)知成本和運維成本,從而把精力專注于業(yè)務(wù)。APP開發(fā)公司比較推崇盡量使用成熟可靠的云服務(wù)和開源軟件,自身只專注于業(yè)務(wù)邏輯”,對應(yīng)前面我們介紹過的案例的App,其功能實現(xiàn)和項目管理中可供選擇的云服務(wù)如表10-2所示。

APP開發(fā)關(guān)于云服務(wù)器選擇示意圖10-2可供選擇的云服務(wù)
由于現(xiàn)在云服務(wù)的提供商越來越多,搜索相應(yīng)的云服務(wù)比較麻煩,APP開發(fā)公司把云服務(wù)收錄起來并做了分類,以方便開發(fā)者查找,好了。本文關(guān)于APP開發(fā)用什么樣的技術(shù)實現(xiàn)APP架構(gòu)就分享到這里,謝謝關(guān)注。博納網(wǎng)絡(luò)編輯整理。