入門Android原生開發(fā),到底該選什么語言?(安卓原生開發(fā)用什么語言)
Java還是kotlin?其實(shí),谷歌已經(jīng)告訴我們答案了,谷歌近幾年新出的教程全是kotlin的,連新出的mvvm框架都僅支持kotlin,不支持Java;當(dāng)然,谷歌的推薦是有利益相關(guān)的,不一定適合你;
我以前沒有Java和kotlin任何基礎(chǔ),閑來無事,想再增加一門手藝,學(xué)習(xí)Android開發(fā),必須接觸這兩種語言其一,我相信谷歌,選擇了kotlin;后來發(fā)現(xiàn),初學(xué)者身份的我,似乎不適合這門語言,太多的語法糖,增加了記憶負(fù)擔(dān),一本kotlin語言的入門書啃了半截,被各種語法糖勸退了;那些語法糖,對(duì)我這種初學(xué)者來說,使用的時(shí)候還要在腦子里先轉(zhuǎn)換一下,才能確定到底做了什么;
學(xué)了幾天kotlin,發(fā)現(xiàn)此路不適合我走,那我換條路?然后,按照計(jì)劃,開啟了7天入門Java基礎(chǔ)之旅;其實(shí),過去我一直很討厭Java這種啰嗦語言的,自從抱著目的去學(xué)這門語言的時(shí)候,才發(fā)現(xiàn)Java這語言設(shè)計(jì)的還可以,甚至某些地方比我一直認(rèn)為的天下最好的語言JavaScript還要好,沒有什么語法糖,語法不多,很適合編程初學(xué)者學(xué)習(xí);不知道大家有沒有發(fā)現(xiàn),Java不管怎么寫,代碼長的都很漂亮?很難寫出格式丑陋的代碼,這在JavaScript中是家常便飯了吧?
用了一周時(shí)間,把一本Java語言入門書啃完了,常用的語法基本都記住并理解了;接下來,就是14天入門Java的Android原生開發(fā)之旅,我選擇的那本書剛好14章,我計(jì)劃1天吃透1章,剛好14天全部吃透;結(jié)果用了7天,把那本書看完了,但并沒有完全吃透;不知道是Android API設(shè)計(jì)問題,還是Java語言問題,感覺非常啰嗦,一些原理和用法很繞,甚至比繞口令還繞,我被繞的暈頭轉(zhuǎn)向;雖然很多東西沒記住,但Android大門算是踏入了一只腳吧;
有了一些Java和Android基礎(chǔ),接下來,我計(jì)劃再重新學(xué)習(xí)kotlin,也許這次能踏入kotlin的大門;為什么非學(xué)kotlin?因?yàn)槲覍?duì)谷歌的mvvm框架很感興趣,這東西只支持kotlin,我主要是做Web前端開發(fā)的,對(duì)mvvm很熟悉,也很喜歡這個(gè)設(shè)計(jì);這次我打算邊學(xué)Android,邊學(xué)kotlin,這樣也許能學(xué)以致用,不是嗎?
最后,給想入行Android的同鞋們一點(diǎn)建議,如果你沒有Java和kotlin基礎(chǔ),學(xué)kotlin可能很吃力,太多的語法糖不好記憶和理解,可以嘗試先學(xué)習(xí)Java語言基礎(chǔ)和基于Java的Android開發(fā)基礎(chǔ),理解了基礎(chǔ)概念,再學(xué)kotlin也許會(huì)容易很多;如果你原本就有這兩種語言基礎(chǔ),建議直接學(xué)基于kotlin的Android開發(fā),我覺得kotlin比Java更適合Android開發(fā);
大家有什么好的學(xué)習(xí)方法或不同見解都可以分享一下,一起進(jìn)步!感謝閱讀!