這個(gè)主要取決于你想開發(fā)的手機(jī)應(yīng)用App類型。
現(xiàn)階段應(yīng)用程序分為原生應(yīng)用APP開發(fā)和基于瀏覽器的Html5的網(wǎng)頁App開發(fā),甚至還有基于微信等其他應(yīng)用程序內(nèi)部API的小程序開發(fā)。
最近比較火的微信小程序API(Application Programming Interface,應(yīng)用程序接口)是一些預(yù)先定義的接口(如函數(shù)、HTTP接口),或指軟件系統(tǒng)不同組成部分銜接的約定
基于原生的開發(fā)方式又分為兩種情況,ios和Android分別開發(fā),第三方封裝好的API統(tǒng)一開發(fā)。基于原生的開發(fā),一般是用來開發(fā)需要定制大量的界面的APP,或者調(diào)用非常底層的API或者使用各種手機(jī)和其他設(shè)備的硬件信息的APP或者對APP響應(yīng)性能比較高的情況下。
先介紹IOS和android分別開發(fā):
1, ios的原生App開發(fā)需要用到的開發(fā)語言是object-c和swift,特別是swift是現(xiàn)階段蘋果公司主推的語言,用來替換老的開發(fā)語言object-c,但是很多老的工程和老的庫都是用object-c來編寫的,所以蘋果公司為了使得二者的兼容,蘋果自由的開發(fā)環(huán)境Xcode支持兩者的混合編程模式,非常方便這兩種語言的切換。但是Xcode正在對swift的支持加大和object-c的支持減少,所以大量的新入行的開發(fā)者會(huì)選擇Swift作為ios下app開發(fā)的語言。
ios開發(fā)是xcode的環(huán)境和代碼2, android的開發(fā)語言是java和kotlin, Java語言是android一開始支持的語言,這其實(shí)前面到現(xiàn)在有大量的程序開發(fā)都是基于Java編寫的,這一點(diǎn)類似于ios的object-c,但是最近幾年開始,Google公司開始在Android的開放環(huán)境Android studio系統(tǒng)上支持kotlin這個(gè)語言,并且大量的Java編寫的老的API都開始逐漸要廢棄,讓開發(fā)者轉(zhuǎn)而支持新的kotlin這個(gè)語言,這就使最新的Android開發(fā)者開始慢慢的從Java轉(zhuǎn)向到了kotlin來開發(fā)Android的應(yīng)用程序。
Android studio中代碼第三方封裝好的API統(tǒng)一開發(fā)
這種形式的API底層分別調(diào)用IOS和Android遠(yuǎn)程的API進(jìn)行了封裝,用戶只需要學(xué)習(xí)一個(gè)語言就可以統(tǒng)一的開發(fā)Android和IOS兩種系統(tǒng)上的應(yīng)用,比較成熟的有QT,使用c++開發(fā)。不過QT基于C++,開發(fā)難度很高,導(dǎo)致使用人數(shù)很少。其他也有類似的第三方庫,都因?yàn)楦鞣N各樣的情況沒有普及起來。y
qt開發(fā)app基于HTML5的APP開發(fā)
基于HTML5的app開發(fā),我們平常叫做用H5開發(fā)APP,H5的開發(fā)一般開發(fā)一些應(yīng)用頁面顯示簡單,基本上功能上能夠在網(wǎng)頁上實(shí)現(xiàn)的APP,達(dá)到ios和Android的APP上統(tǒng)一開發(fā),甚至連PC端都統(tǒng)一界面形式的APP。H5的開發(fā)使用html5加javascript兩者結(jié)合起來開發(fā),這兩者學(xué)習(xí)周期短,開發(fā)速度快,能非常迅速的開發(fā)一些簡單的APP,快速完成業(yè)務(wù)邏輯的開發(fā),使應(yīng)用上線,但是這個(gè)方式的缺點(diǎn)就是開發(fā)出來的APP界面如果需要非常復(fù)雜的渲染例如游戲或者視頻等就會(huì)響應(yīng)非常慢,并且使用設(shè)備的定位信息,耳機(jī),麥克風(fēng)等一些硬件都不使太方便,不過也在慢慢的改變,可能將來會(huì)更加方便。
html5代碼結(jié)論:所以綜合起來說,如果你是開發(fā)一個(gè)只是簡單的提交一些信息給服務(wù)器處理的系統(tǒng),你可以選擇用h5來開發(fā)你的系統(tǒng),這樣統(tǒng)一開發(fā),Android ios和PC三端一次性開發(fā)完成。如果你i的系統(tǒng)需要調(diào)用很多設(shè)備信息,或者需要處理很多非常復(fù)雜的圖形圖新音頻視頻等,你應(yīng)該選擇原生開發(fā),如果你C++不錯(cuò),你也可以選擇QT這種形式的第三方庫,如果你要是開發(fā)類似于微信或者微博或者支付寶這種形式的APP還是選擇原生Android的java和kotlin,ios下的object-c或者swift.