我想開發 Android 應用程序——我應該學習哪些語言?(開發android app都用什么語言)
關注留言點贊,帶你了解最流行的軟件開發知識與最新科技行業趨勢。
那么,您已經決定要學習如何開發 Android 應用程序了嗎?偉大的!不幸的是,意圖只能帶你走這么遠。學習編碼可能很復雜。有時甚至不清楚從哪里開始!因此,在開始之前,您可能有很多問題需要回答。
- 你應該學習什么編程語言?
- 您可以從哪里了解您選擇的語言?
- 一旦掌握了基礎知識, 您甚至可以從哪里開始輸入代碼?
在這篇文章中,我們將嘗試回答第一個問題。為此,您將不得不進行一些自我反省,因為決定從哪種編程語言入手將完全取決于您希望實現的目標。
另請閱讀:用于創建應用程序并使用零代碼構建它們的最佳 Android 應用程序制造商
隨你挑
如果您想開發 Android 應用程序,第一步是選擇一種語言。各種 Android 編程語言之間的差異可能有些復雜和微妙。
但比語言本身更重要的是它所依附的工具,以及該工具的主要特性和目標。
您可能考慮學習用于 Android 開發的語言包括:
- Java – Java 是 Android 開發的官方語言,受Android Studio支持。它成為官方語言的時間比 Kotlin 長,而且出于許多其他目的,它在 Kotlin 開發之外也很受歡迎。然而,Java 和 Android Studio 的學習曲線陡峭。
- Kotlin – Kotlin 是另一種官方 Android 語言。它在許多方面與 Java 相似,但更容易理解。它現在也是 Google 的 首選 語言,盡管它在 Android Studio 之外沒有被廣泛使用。對于那些希望在眾多項目中擔任開發人員的人來說,這可能會稍微降低它的吸引力。
- C — Android Studio 還支持使用 Java NDK 的 C 。這允許原生編碼應用程序,這對于游戲之類的東西來說非常方便。C 雖然更復雜,但這個選項主要只對大型專業團隊有吸引力。Unreal Engine 也支持 C 。
- C# — C# 是一種對初學者更友好的 C 或 C 替代品,它混淆了更多代碼。它也比 Java 難一點,盡管這兩種語言非常相似。它得到一些非常方便的工具(如 Unity 和 Xamarin)的支持,這些工具非常適合游戲開發和跨平臺開發。C# with Unity 是許多移動游戲開發人員的最佳選擇。
- LUA (Corona) – 另一個基于 LUA 構建的跨平臺工具。它極大地簡化了應用程序構建過程,同時仍然允許您調用本機庫。
- JavaScript (PhoneGap) – 如果您已經知道如何構建交互式網頁,那么您可以將這些知識與 PhoneGap 結合使用來構建更基本的跨平臺應用程序。
Java
- 當需要開發 Android 應用程序時,Jave 仍然是兩個官方選項之一。這意味著它得到了谷歌的大力支持。大多數非游戲應用程序可能是使用 Java 或 Kotlin 構建的。
開發 Android 應用程序的第一種方法是繼續下載Android Studio。這是一個稱為 IDE 或集成開發環境的軟件。它將與Android SDK (一組專門用于促進 Android 開發的工具)打包在一起,這將為您提供啟動和運行所需的一切。
Google 的官方文檔將提及 Android Studio 和 Java(或 Kotlin),您可以在線找到大量支持。
Java 本身于 1995 年由 Sun Microsystems 發布,并用于廣泛的編程應用程序。盡管谷歌已經明確表示偏愛 Kotlin,但 Java 是如此根深蒂固和熟悉,以至于許多開發團隊選擇堅持使用它。
不幸的是,Java 也很復雜并且不是一種很好的“第一語言”。一旦將 Android SDK 添加到組合中,事情就會變得更加復雜;第一次編碼的人可能很難知道什么是 Java 什么是 Android!Java 是一種面向對象的編程語言,包含構造函數、空指針異常、檢查異常等令人困惑的主題。它的可讀性不是很好,您將使用大量“樣板”代碼來做一些簡單的事情。使用此路線進行開發還需要對Gradle、Android Manifest和標記語言XML等概念有基本的了解。
這并不是說 Java 是一種糟糕的語言——遠非如此。將任何語言稱為“糟糕”不僅是錯誤的,而且 Java 的大部分不便之處實際上都是為了我們自己的利益而存在的,并且鼓勵干凈的代碼。由于這個原因,很多人都喜歡 Java,它也是用途最廣、使用最廣泛的語言之一。根據 PYPL(PopularitY of Programming Languages)表,Java 是最受雇主追捧的編程語言。
Android Studio 在過去幾年中也不斷壯大。視覺設計器和建議等功能使流程更加順暢,同時不斷添加高級、強大的功能,使開發人員能夠輕松實現云存儲等功能。值得加入,即使這種快速的進步有時確實讓人難以跟上(特別是如果你是一個以寫這些東西為生的窮人!)。

這并不是說 Java 是一種糟糕的語言——遠非如此。將任何語言稱為“糟糕”不僅是錯誤的,而且 Java 的大部分不便之處實際上都是為了我們自己的利益而存在的,并且鼓勵干凈的代碼。由于這個原因,很多人都喜歡 Java,它也是用途最廣、使用最廣泛的語言之一。根據 PYPL(PopularitY of Programming Languages)表,Java 是最受雇主追捧的編程語言。
Android Studio 在過去幾年中也不斷壯大。視覺設計器和建議等功能使流程更加順暢,同時不斷添加高級、強大的功能,使開發人員能夠輕松實現云存儲等功能。值得加入,即使這種快速的進步有時確實讓人難以跟上(特別是如果你是一個以寫這些東西為生的窮人!)。
Kotlin
Kotlin 已經成為 Android 開發的官方語言已有一段時間了,谷歌甚至將其作為 Android 開發的首選。也就是說,由于許多開發團隊已經深入投資于 Java,因此許多人選擇不進行轉換。
與 Java 一樣,Kotlin 運行在 Java 虛擬機上。它還可以與 Java 完全互操作,并且不會導致文件大小變慢或增加。不同之處在于,Kotlin 需要更少的“樣板”代碼,這意味著它是一個更加精簡和易于閱讀的系統。它還消除了諸如空點異常之類的錯誤,甚至可以免除每行以分號結尾的錯誤。簡而言之,如果您只是第一次學習開發 Android 應用程序,那么這很棒。

因此,對于初學者來說,Kotlin 絕對是一個更容易的起點,而且您仍然可以使用 Android Studio 這一事實是一大優勢。也就是說,它本身仍然是一種復雜的語言,您仍然需要找出大量額外的“東西”才能以這種方式構建 Android 應用程序。在 Android 開發之外,Kotlin 的使用不太廣泛也有一個小缺點。
在此處了解您應該嘗試 Kotlin 的原因。
Kotlin 已經成為 Android 開發的官方語言已有一段時間了,谷歌甚至將其作為 Android 開發的首選。也就是說,由于許多開發團隊已經深入投資于 Java,因此許多人選擇不進行轉換。
與 Java 一樣,Kotlin 運行在 Java 虛擬機上。它還可以與 Java 完全互操作,并且不會導致文件大小變慢或增加。不同之處在于,Kotlin 需要更少的“樣板”代碼,這意味著它是一個更加精簡和易于閱讀的系統。它還消除了諸如空點異常之類的錯誤,甚至可以免除每行以分號結尾的錯誤。簡而言之,如果您只是第一次學習開發 Android 應用程序,那么這很棒。
因此,對于初學者來說,Kotlin 絕對是一個更容易的起點,而且您仍然可以使用 Android Studio 這一事實是一大優勢。也就是說,它本身仍然是一種復雜的語言,您仍然需要找出大量額外的“東西”才能以這種方式構建 Android 應用程序。在 Android 開發之外,Kotlin 的使用不太廣泛也有一個小缺點。
在此處了解您應該嘗試 Kotlin 的原因。
C/C
可以公平地說,大多數閱讀本文的人不應該選擇這條路線來開發 Android 應用程序。Android Studio 使用Android NDK (本機開發工具包)提供對 C/C 代碼的支持。這意味著您將編寫不在 Java 虛擬機上運行的代碼,而是在設備上本地運行的代碼,讓您可以更好地控制諸如內存分配之類的事情。對于 3D 游戲等密集型應用程序,這可以讓您從 Android 設備中榨取額外的性能。這也意味著您將能夠使用用 C 或 C 編寫的庫。

然而,它也往往更難設置,它引入了更多的錯誤并且不太靈活。如果你確實想創建一個電腦游戲,你可能最好使用現成的游戲引擎,比如 Unity。
可以公平地說,大多數閱讀本文的人不應該選擇這條路線來開發 Android 應用程序。Android Studio 使用Android NDK (本機開發工具包)提供對 C/C 代碼的支持。這意味著您將編寫不在 Java 虛擬機上運行的代碼,而是在設備上本地運行的代碼,讓您可以更好地控制諸如內存分配之類的事情。對于 3D 游戲等密集型應用程序,這可以讓您從 Android 設備中榨取額外的性能。這也意味著您將能夠使用用 C 或 C 編寫的庫。
然而,它也往往更難設置,它引入了更多的錯誤并且不太靈活。如果你確實想創建一個電腦游戲,你可能最好使用現成的游戲引擎,比如 Unity。
C#
C# 由 Microsoft 開發,旨在結合 C 的強大功能和 Visual Basic 的易用性。它讀起來很像 Java,如果您了解其中一種語言,那么切換到另一種語言會相對簡單。與 Java 一樣,C# 是垃圾回收的,這意味著您無需擔心內存泄漏和自行釋放內存等問題。但與此同時,C# 比 Java 更現代,語法更清晰——盡管這可能只是我自己的偏見。開發 Android 應用程序的最佳語言往往歸結為品味!
如果你想要一個特別簡單和受歡迎的 Android 應用程序開發介紹,我推薦C# 和 Unity的組合。Unity 是一個游戲引擎(意味著它提供物理計算和 3D 圖形渲染等功能)和一個 IDE(如 Android Studio)。這是一款免費工具,可讓您輕松創建自己的游戲——只需幾行代碼,您就可以在不到一個小時的時間內設置一個基本的平臺游戲。毫不夸張!而且它也非常強大,是 Google Play 商店中大多數游戲工作室使用的工具。作為跨平臺解決方案,Unity 還可以讓您將游戲移植到其他操作系統,例如 iOS 和 Windows。您甚至可以制作主機游戲!最重要的是,以這種方式開發提供了一種非常實用的方法來學習面向對象的編碼(因為在這種情況下,大多數時候對象實際上是對象!)。對于那些希望開始游戲開發職業生涯的人來說,學習 Unity 是極好的第一步。

限制?Unity 對于創建游戲很有用,但對于創建標準的Android 應用程序來說卻不盡如人意,特別是如果您想符合 Google 的 Material Design 語言。
不喜歡 Unity?然后你可以考慮使用Unreal (更好的圖形,不太適合移動設備)或像GameMaker Studio這樣的簡化游戲制作者。
另請閱讀: 哪個更好?用于 Android 應用程序開發的 Unity 與 Unreal 游戲引擎
C# 也可以通過 Visual Studio 與Xamarin一起使用。這更類似于傳統的 Android 開發,具有跨平臺的優勢(Android 和 iOS 的一個代碼庫)。對于一個完全的初學者來說,這條路線又是一個略顯遲鈍的 Android 開發切入點。但對于想要為 iOS 和 Android 創建應用程序的小公司來說,這是有道理的,并且有大量的支持和信息可以幫助您。
C# 由 Microsoft 開發,旨在結合 C 的強大功能和 Visual Basic 的易用性。它讀起來很像 Java,如果您了解其中一種語言,那么切換到另一種語言會相對簡單。與 Java 一樣,C# 是垃圾回收的,這意味著您無需擔心內存泄漏和自行釋放內存等問題。但與此同時,C# 比 Java 更現代,語法更清晰——盡管這可能只是我自己的偏見。開發 Android 應用程序的最佳語言往往歸結為品味!
如果你想要一個特別簡單和受歡迎的 Android 應用程序開發介紹,我推薦C# 和 Unity的組合。Unity 是一個游戲引擎(意味著它提供物理計算和 3D 圖形渲染等功能)和一個 IDE(如 Android Studio)。這是一款免費工具,可讓您輕松創建自己的游戲——只需幾行代碼,您就可以在不到一個小時的時間內設置一個基本的平臺游戲。毫不夸張!而且它也非常強大,是 Google Play 商店中大多數游戲工作室使用的工具。作為跨平臺解決方案,Unity 還可以讓您將游戲移植到其他操作系統,例如 iOS 和 Windows。您甚至可以制作主機游戲!最重要的是,以這種方式開發提供了一種非常實用的方法來學習面向對象的編碼(因為在這種情況下,大多數時候對象實際上是對象!)。對于那些希望開始游戲開發職業生涯的人來說,學習 Unity 是極好的第一步。
限制?Unity 對于創建游戲很有用,但對于創建標準的Android 應用程序來說卻不盡如人意,特別是如果您想符合 Google 的 Material Design 語言。
不喜歡 Unity?然后你可以考慮使用Unreal (更好的圖形,不太適合移動設備)或像GameMaker Studio這樣的簡化游戲制作者。
另請閱讀: 哪個更好?用于 Android 應用程序開發的 Unity 與 Unreal 游戲引擎
C# 也可以通過 Visual Studio 與Xamarin一起使用。這更類似于傳統的 Android 開發,具有跨平臺的優勢(Android 和 iOS 的一個代碼庫)。對于一個完全的初學者來說,這條路線又是一個略顯遲鈍的 Android 開發切入點。但對于想要為 iOS 和 Android 創建應用程序的小公司來說,這是有道理的,并且有大量的支持和信息可以幫助您。
二Corona
Corona為開發 Android 應用程序提供了另一種相當簡單的選擇,同時仍然為您提供相當大的權力和控制權。您將使用比 Java 簡單得多的 LUA 進行編碼。Corona SDK(軟件開發工具包)將使事情變得更加容易。它支持所有本機庫,并允許您發布到多個平臺。它主要用于創建游戲,但也可以用于其他各種方式。你需要使用像 Notepad 這樣的文本編輯器來輸入你的代碼,你甚至不需要先編譯就可以在模擬器上運行所述代碼。當您準備好創建 APK 并進行部署時,您將能夠使用在線工具執行此操作。

這確實需要基本的編碼技能,但它提供了對代碼世界的友好而溫和的介紹。但與此同時,它能完成的工作肯定是有限的,距離進入“應用程序構建器”領域僅幾步之遙。這對于想要創建相對簡單的東西并且不太關心發展他們的編碼技能或成為專業人士的人來說更有用。如果您想使用應用內購買等功能,則需要付費。使用本機 Android API 也是如此。
Corona為開發 Android 應用程序提供了另一種相當簡單的選擇,同時仍然為您提供相當大的權力和控制權。您將使用比 Java 簡單得多的 LUA 進行編碼。Corona SDK(軟件開發工具包)將使事情變得更加容易。它支持所有本機庫,并允許您發布到多個平臺。它主要用于創建游戲,但也可以用于其他各種方式。你需要使用像 Notepad 這樣的文本編輯器來輸入你的代碼,你甚至不需要先編譯就可以在模擬器上運行所述代碼。當您準備好創建 APK 并進行部署時,您將能夠使用在線工具執行此操作。
這確實需要基本的編碼技能,但它提供了對代碼世界的友好而溫和的介紹。但與此同時,它能完成的工作肯定是有限的,距離進入“應用程序構建器”領域僅幾步之遙。這對于想要創建相對簡單的東西并且不太關心發展他們的編碼技能或成為專業人士的人來說更有用。如果您想使用應用內購買等功能,則需要付費。使用本機 Android API 也是如此。
HTML/CSS/JavaScript (PhoneGap)
PhoneGap由 Apache Cordova 提供支持,基本上允許您使用通常用于創建網站的相同代碼創建應用程序:HTML、CSS 和 JavaScript。然后通過“WebView”顯示——一個在應用程序中顯示網站的小部件。PhoneGap 就像一座橋梁,允許開發人員訪問手機或平板電腦的一些基本本機功能,例如加速度計或相機。

但這并不是真正“真正的”Android 開發,唯一真正的編程將是 JavaScript。對于許多基本任務,它可以勝任,但如果您希望能夠宣稱自己是真正的“Android 應用程序開發者”(那是一件事),那么您應該勇敢地選擇此列表中的其他選擇之一。
PhoneGap由 Apache Cordova 提供支持,基本上允許您使用通常用于創建網站的相同代碼創建應用程序:HTML、CSS 和 JavaScript。然后通過“WebView”顯示——一個在應用程序中顯示網站的小部件。PhoneGap 就像一座橋梁,允許開發人員訪問手機或平板電腦的一些基本本機功能,例如加速度計或相機。
但這并不是真正“真正的”Android 開發,唯一真正的編程將是 JavaScript。對于許多基本任務,它可以勝任,但如果您希望能夠宣稱自己是真正的“Android 應用程序開發者”(那是一件事),那么您應該勇敢地選擇此列表中的其他選擇之一。
結論
所以選擇你!那里有很多用于開發 Android 應用程序的選項:從 Java 和 Kotlin,到 C、C# 和 JavaScript!
正確的選擇將取決于您的敏感性和目標,但無論您做出什么決定,您都會發現學習編碼是一種非常有益的體驗,并且會為您打開一扇扇大門。學習使用 Android 編程是一個完美的起點。希望現在您至少現在對如何開發 Android 應用程序有了更多的了解,但如果您有任何問題,請在評論中大聲疾呼,我們的團隊——以及我們的讀者——將盡力回答。祝你好運!
所以選擇你!那里有很多用于開發 Android 應用程序的選項:從 Java 和 Kotlin,到 C、C# 和 JavaScript!
正確的選擇將取決于您的敏感性和目標,但無論您做出什么決定,您都會發現學習編碼是一種非常有益的體驗,并且會為您打開一扇扇大門。學習使用 Android 編程是一個完美的起點。希望現在您至少現在對如何開發 Android 應用程序有了更多的了解,但如果您有任何問題,請在評論中大聲疾呼,我們的團隊——以及我們的讀者——將盡力回答。祝你好運!