【尚武科技APP開發(fā)原創(chuàng)內(nèi)容】很多客戶問(wèn)我們是不是底層開發(fā)用什么開發(fā),這個(gè)我們都能理解,但是后臺(tái)我們用的主要是net進(jìn)行開發(fā)的,當(dāng)客戶看到的時(shí)候就經(jīng)常會(huì)有疑問(wèn),你們這是底層開發(fā)嗎,不是應(yīng)該是java嗎,每當(dāng)這個(gè)時(shí)候我們往往希望首先希望客戶明白,后臺(tái)是APP的業(yè)務(wù)邏輯管理和處理,和APP本身并沒(méi)有直接關(guān)系,選擇什么樣的APP語(yǔ)言開發(fā),廣義上說(shuō)其實(shí)都是可以的,沒(méi)有嚴(yán)格的限定。但是后臺(tái)的語(yǔ)言上有影該怎樣進(jìn)行選擇呢?
首先要知道每種語(yǔ)言都有自己擅長(zhǎng)的業(yè)務(wù)場(chǎng)景,語(yǔ)言是要根據(jù)根據(jù)業(yè)務(wù)場(chǎng)景來(lái)選擇,例如,如果需要開發(fā)一個(gè)聊天服務(wù)器,選擇了php來(lái)開發(fā),那真的不合適了。php這種腳本語(yǔ)言很不適合聊天服務(wù)?如果是開發(fā)web網(wǎng)站,php就很合適,比起java,效率和開發(fā)效率都要很多。我們不一定選擇最熱門的語(yǔ)言,即便現(xiàn)在很多語(yǔ)言適用的業(yè)務(wù)場(chǎng)景是重疊,從app后端的開發(fā)語(yǔ)言來(lái)說(shuō),java,php,python,ruby,golang,nodejs等等都可以,到底選擇哪個(gè)?首先應(yīng)該考慮的就是資源情況,開源社區(qū)活躍嗎?有沒(méi)有大量的第三方庫(kù),能避免自己重復(fù)造輪子。java,php,python,ruby,go這五種,其實(shí)都是有比較豐富的資源的。
但是也有很大的忌諱,第一個(gè)就是一個(gè)大忌是用兩套不同的語(yǔ)言維護(hù)一個(gè)相同的業(yè)務(wù)邏輯。比如項(xiàng)目有app和網(wǎng)站兩部分,他想用java來(lái)開發(fā)app后端,用php來(lái)開發(fā)網(wǎng)站后端,兩部分有大量的業(yè)務(wù)邏輯是相同的。這就是搬了石頭砸腳的事情,這種情況就是重復(fù)造輪子的情況。用兩套語(yǔ)言去維護(hù)相同的業(yè)務(wù)邏輯,在開發(fā)效率上有很大損失,如果要修改業(yè)務(wù)邏輯,那兩種語(yǔ)言的實(shí)現(xiàn)需要修改,這不是浪費(fèi)了大量的開發(fā)時(shí)間,而且這兩個(gè)系統(tǒng)同事管理后臺(tái)的時(shí)候如果出現(xiàn)數(shù)據(jù)差錯(cuò),就是滿盤皆輸了。
但是也有特殊情況,就是一個(gè)系統(tǒng)中,不同的業(yè)務(wù)邏輯可以用不同的開發(fā)語(yǔ)言實(shí)現(xiàn),后端系統(tǒng)的mvc框架部分可以采用php,而如果在后端需要實(shí)現(xiàn)一套定時(shí)任務(wù)系統(tǒng),那么就可以考慮采用java或python, 這兩種語(yǔ)言都有成熟的定時(shí)任務(wù)實(shí)現(xiàn)方案。簡(jiǎn)單說(shuō)就是不同的功能可以用不同語(yǔ)言,但絕對(duì)不用不同語(yǔ)言寫一樣的功能。最后,我們可以給大家支個(gè)招。如果真的沒(méi)法決定采用哪種開發(fā)語(yǔ)言,還有一個(gè)辦法,找找和你業(yè)務(wù)邏輯差不多的同類產(chǎn)品,看他們的招聘要求,你就知都他們用什么做開發(fā)了。
