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