我想開發 Android 應用程式——我應該學習哪些語言?

科技狠活與軟件技術 發佈 2024-03-30T01:05:22.999455+00:00

關注留言點讚,帶你了解最流行的軟體開發知識與最新科技行業趨勢。那麼,您已經決定要學習如何開發 Android 應用程式了嗎?偉大的!不幸的是,意圖只能帶你走這麼遠。學習編碼可能很複雜。有時甚至不清楚從哪裡開始!因此,在開始之前,您可能有很多問題需要回答。你應該學習什麼程式語言?

關注留言點讚,帶你了解最流行的軟體開發知識與最新科技行業趨勢。


那麼,您已經決定要學習如何開發 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 在過去幾年中也不斷壯大。視覺設計器和建議等功能使流程更加順暢,同時不斷添加高級、強大的功能,使開發人員能夠輕鬆實現雲存儲等功能。值得加入,即使這種快速的進步有時確實讓人難以跟上(特別是如果你是一個以寫這些東西為生的窮人!)。

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。

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 創建應用程式的小公司來說,這是有道理的,並且有大量的支持和信息可以幫助您。

二Corona

  • 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 應用程式開發者」(那是一件事),那麼您應該勇敢地選擇此列表中的其他選擇之一。

結論

  • 所以選擇你!那裡有很多用於開發 Android 應用程式的選項:從 Java 和 Kotlin,到 C、C# 和 JavaScript!

    正確的選擇將取決於您的敏感性和目標,但無論您做出什麼決定,您都會發現學習編碼是一種非常有益的體驗,並且會為您打開一扇扇大門。學習使用 Android 編程是一個完美的起點。希望現在您至少現在對如何開發 Android 應用程式有了更多的了解,但如果您有任何問題,請在評論中大聲疾呼,我們的團隊——以及我們的讀者——將盡力回答。祝你好運!

關鍵字: