入門(mén)Android原生開(kāi)發(fā),到底該選什么語(yǔ)言?(安卓原生開(kāi)發(fā)用什么語(yǔ)言)

Java還是kotlin?其實(shí),谷歌已經(jīng)告訴我們答案了,谷歌近幾年新出的教程全是kotlin的,連新出的mvvm框架都僅支持kotlin,不支持Java;當(dāng)然,谷歌的推薦是有利益相關(guān)的,不一定適合你;

我以前沒(méi)有Java和kotlin任何基礎(chǔ),閑來(lái)無(wú)事,想再增加一門(mén)手藝,學(xué)習(xí)Android開(kāi)發(fā),必須接觸這兩種語(yǔ)言其一,我相信谷歌,選擇了kotlin;后來(lái)發(fā)現(xiàn),初學(xué)者身份的我,似乎不適合這門(mén)語(yǔ)言,太多的語(yǔ)法糖,增加了記憶負(fù)擔(dān),一本kotlin語(yǔ)言的入門(mén)書(shū)啃了半截,被各種語(yǔ)法糖勸退了;那些語(yǔ)法糖,對(duì)我這種初學(xué)者來(lái)說(shuō),使用的時(shí)候還要在腦子里先轉(zhuǎn)換一下,才能確定到底做了什么;

學(xué)了幾天kotlin,發(fā)現(xiàn)此路不適合我走,那我換條路?然后,按照計(jì)劃,開(kāi)啟了7天入門(mén)Java基礎(chǔ)之旅;其實(shí),過(guò)去我一直很討厭Java這種啰嗦語(yǔ)言的,自從抱著目的去學(xué)這門(mén)語(yǔ)言的時(shí)候,才發(fā)現(xiàn)Java這語(yǔ)言設(shè)計(jì)的還可以,甚至某些地方比我一直認(rèn)為的天下最好的語(yǔ)言JavaScript還要好,沒(méi)有什么語(yǔ)法糖,語(yǔ)法不多,很適合編程初學(xué)者學(xué)習(xí);不知道大家有沒(méi)有發(fā)現(xiàn),Java不管怎么寫(xiě),代碼長(zhǎng)的都很漂亮?很難寫(xiě)出格式丑陋的代碼,這在JavaScript中是家常便飯了吧?

用了一周時(shí)間,把一本Java語(yǔ)言入門(mén)書(shū)啃完了,常用的語(yǔ)法基本都記住并理解了;接下來(lái),就是14天入門(mén)Java的Android原生開(kāi)發(fā)之旅,我選擇的那本書(shū)剛好14章,我計(jì)劃1天吃透1章,剛好14天全部吃透;結(jié)果用了7天,把那本書(shū)看完了,但并沒(méi)有完全吃透;不知道是Android API設(shè)計(jì)問(wèn)題,還是Java語(yǔ)言問(wèn)題,感覺(jué)非常啰嗦,一些原理和用法很繞,甚至比繞口令還繞,我被繞的暈頭轉(zhuǎn)向;雖然很多東西沒(méi)記住,但Android大門(mén)算是踏入了一只腳吧;

有了一些Java和Android基礎(chǔ),接下來(lái),我計(jì)劃再重新學(xué)習(xí)kotlin,也許這次能踏入kotlin的大門(mén);為什么非學(xué)kotlin?因?yàn)槲覍?duì)谷歌的mvvm框架很感興趣,這東西只支持kotlin,我主要是做Web前端開(kāi)發(fā)的,對(duì)mvvm很熟悉,也很喜歡這個(gè)設(shè)計(jì);這次我打算邊學(xué)Android,邊學(xué)kotlin,這樣也許能學(xué)以致用,不是嗎?

最后,給想入行Android的同鞋們一點(diǎn)建議,如果你沒(méi)有Java和kotlin基礎(chǔ),學(xué)kotlin可能很吃力,太多的語(yǔ)法糖不好記憶和理解,可以嘗試先學(xué)習(xí)Java語(yǔ)言基礎(chǔ)和基于Java的Android開(kāi)發(fā)基礎(chǔ),理解了基礎(chǔ)概念,再學(xué)kotlin也許會(huì)容易很多;如果你原本就有這兩種語(yǔ)言基礎(chǔ),建議直接學(xué)基于kotlin的Android開(kāi)發(fā),我覺(jué)得kotlin比Java更適合Android開(kāi)發(fā);

大家有什么好的學(xué)習(xí)方法或不同見(jiàn)解都可以分享一下,一起進(jìn)步!感謝閱讀!

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線(xiàn)咨詢(xún)
分享本頁(yè)
返回頂部