java開發(fā)app的流程 目前編寫一款簡單的手機(jī)應(yīng)用APP一般用什么編程語言?
目前編寫一款簡單的手機(jī)應(yīng)用APP一般用什么編程語言?編寫手機(jī)App,用什么語言?從簡單到復(fù)雜,可以分三級(jí):簡單方案:HTML5其實(shí)就是把網(wǎng)頁封裝成App。編程語言就是網(wǎng)頁三件套:HTML CSS Ja
目前編寫一款簡單的手機(jī)應(yīng)用APP一般用什么編程語言?
編寫手機(jī)App,用什么語言?
從簡單到復(fù)雜,可以分三級(jí):
簡單方案:HTML5
其實(shí)就是把網(wǎng)頁封裝成App。編程語言就是網(wǎng)頁三件套:HTML CSS Javascript
有多種工具和框架,如Cordova, uni等等。
這種方式實(shí)現(xiàn)“App”最容易,且跨平臺(tái),對(duì)于iOS和Android做一套就行了。代價(jià)是功能弱,性能低,換句話說就是“卡”。
中等方案:原生跨平臺(tái)框架
這類方案在iOS和Android之上自行實(shí)現(xiàn)一套原生框架。通用的Flutter, ReactNative都是流行的原生跨平臺(tái)框架。適用于游戲的Cocos2D,Corona SDK也可以算在這一級(jí)里。
這類方案實(shí)現(xiàn)App難度中等,因?yàn)榭缙脚_(tái),一次開發(fā),iOS和Android都能運(yùn)行。功能和性能也是中等,比不上原生App,但比HTML5的又好很多。
復(fù)雜方案:原生開發(fā)
直接在iOS和Android上各自開發(fā)一套原生App。
iOS可以使用Objective C或Swift。
Android可以使用Java或Kotlin。
還是來一個(gè)圖表吧,雖然簡單,卻很明了:
為什么感覺很多人都選擇前端不選擇java?
因?yàn)楹芏嗳藟焊筒欢督星岸恕?/p>
很多人認(rèn)為前端就是html CSS,這個(gè)叫網(wǎng)頁設(shè)計(jì),屬于設(shè)計(jì)工作,不是程序員。
html css 壓根就不是編程語言。
于是很多人覺得前端簡單,html 和css根本不是程序語言,學(xué)起來當(dāng)然簡單了。
請(qǐng)記住一點(diǎn),前端程序員也是程序員,他和其他程序員的唯一區(qū)別就是使用javascript,專門和瀏覽器打交道而已。
一個(gè)合格的前端,知識(shí)體系并不會(huì)比一個(gè)java項(xiàng)目程序員少多少,并且還要面對(duì)js這種一言難盡的語言,可以說技術(shù)難度甚至有時(shí)候比java還高。
所以,請(qǐng)不要連對(duì)象,循環(huán),函數(shù)這些基本東西都搞不清楚呢,就說自己是前端程序員。
最后給大家一些建議,如果對(duì)編程感興趣,可以先學(xué)其他語言,比如java,php,python,有一定的開發(fā)基礎(chǔ),然后再學(xué)習(xí)JavaScript轉(zhuǎn)前端。
如果對(duì)編程不感興趣,那么你就好好的去學(xué)設(shè)計(jì),扎實(shí)ps,ai的基礎(chǔ),學(xué)好色彩理論,學(xué)好設(shè)計(jì)理論,然后你再去學(xué)html css ,網(wǎng)頁設(shè)計(jì),簡單了解一些js就可以了。
千萬不要一股腦的去培訓(xùn)班學(xué)什么前端,學(xué)到最后沒有編程能力做不了程序員,沒有設(shè)計(jì)能力做不了設(shè)計(jì),干啥啥不行,浪費(fèi)了自己的青春。
為什么諾基亞的塞班系統(tǒng),會(huì)被后來的安卓系統(tǒng)所替代?
代碼臃腫,運(yùn)行緩慢,閉源,,……
如果華為的鴻蒙系統(tǒng)推出成功,那么程序員是不是也要重新學(xué)習(xí)適應(yīng)鴻蒙系統(tǒng)的開發(fā)語言?
首先用什么語言開發(fā)應(yīng)用,跟系統(tǒng)的關(guān)系并不大,一種語言開發(fā)出來的應(yīng)用是否可以在某個(gè)系統(tǒng)上運(yùn)行,主要是看某種語言的編譯器是否編譯出可以在某系統(tǒng)上面運(yùn)行的程序來,比如Java的編譯器可以把Java代碼編譯出所有系統(tǒng)平臺(tái)都可以運(yùn)行的程序來!而有些語言就不可以編譯出所有系統(tǒng)都可以運(yùn)行的程序來,比如c#起初只能在windows上運(yùn)行,objective-c基本只能在蘋果系統(tǒng)上運(yùn)行!為了跟Java等競爭,后來這些語言也開始支持各種平臺(tái)了!
所以用什么開發(fā)語言在什么系統(tǒng)上面開發(fā)app并沒有什么太要緊的問題!
因?yàn)橹灰愕南到y(tǒng)使用的人多,各種語言為了拉攏使用該系統(tǒng)的用戶自然會(huì)去適應(yīng)這個(gè)系統(tǒng)!同樣的道理某種語言使用的人多了,各種系統(tǒng)為了拉攏某種語言的用戶群體,也會(huì)支持各種語言在自己的平臺(tái)上面運(yùn)行,比如微軟和蘋果原來是誰也不兼容誰,但是后來為了拉攏對(duì)方的用戶,現(xiàn)在不僅軟件互相兼容了,就連硬件都可以兼容對(duì)方的系統(tǒng)了!
現(xiàn)在回到問題上面!
鴻蒙系統(tǒng)上市之后,如果用戶很多,各種語言都會(huì)編譯出適應(yīng)鴻蒙系統(tǒng)的程序來,所以程序員們并不用擔(dān)心要多學(xué)什么其他的語言,還是繼續(xù)使用自己喜歡的語言就可以了!
當(dāng)然如果鴻蒙剛開始上市必定會(huì)被各種各樣的勢力打壓,為了自己的生存做好是自己開發(fā)一個(gè)語言來培養(yǎng)自己的生態(tài)!因?yàn)榘沧肯到y(tǒng)就是一個(gè)最好的例子,剛開始并沒有屬于自己的語言,而是抱了Java開發(fā)者的大腿,結(jié)果現(xiàn)在都還在和甲骨文公司打著版權(quán)的官司!
所以對(duì)于華為而言,做大最強(qiáng)最好開發(fā)自己的語言!防止被人卡脖子!
對(duì)于程序而言,喜歡什么語言就用什么語言,只要它兼容鴻蒙系統(tǒng)就可以了!
所以我的觀點(diǎn)是華為要開發(fā)自己的語言,我們程序要多學(xué)一門語言!
不過多學(xué)一門語言對(duì)于程序員來說是小意思!因?yàn)橐粋€(gè)程序員可以在一天之內(nèi)學(xué)會(huì)另一種計(jì)算機(jī)語言!所以程序員使用什么語言都是憑個(gè)人喜好!
好,就回答到這里,歡迎大家留言討論!