您是否決定要學習如何開發Android應用程式?好!這絕對是您成為一名成熟的開發人員之旅的第一步。 不幸的是, 這又是個問題。 學習代碼可能很複雜, 有時甚至包括知道從哪裡開始。
你應該學習什麼程式設計語言?
你在哪裡可以瞭解你所選擇的語言?
一旦您掌握了基礎知識, 您甚至可以在哪裡開始輸入代碼?
在這篇文章中, 我們將嘗試回答第一個問題。 決定開始使用哪種程式設計語言將完全取決於您希望完成的內容。 一旦你知道這種語言, 你可以找到IDE和工具來匹配。
看到您正在閱讀一個名為“Android許可權”的網站時,
如果您想開發Android應用程式, 則首先選擇一種語言。 各種Android程式設計語言之間的差異可能有點複雜和微妙。 選擇哪一個需要瞭解個人的優點和缺點, 所以我不想短暫地改變你。
但是, 我不想讓你死亡, 考慮到這一點, 你會在這裡找到每個語言選項的一個短暫的細節, 接下來是更詳細的資訊。 選擇一個對你有興趣的人, 然後跳到那裡。
您可能會考慮為Android開發學習的語言包括:
Java - Java是Android開發的官方語言, 由Android Studio支援。 然而, 它有一個陡峭的學習曲線。
Kotlin - Kotlin最近被推薦為次要的“官方”Java語言。 它在許多方面類似於Java, 但是要更容易掌握。
C / C ++ - Android Studio還支援使用Java NDK的C ++。 這允許本機編碼應用程式, 這可以方便的像遊戲這樣的東西。 C ++還是比較複雜的。
C# - C#是一個比C或C ++稍微更加輕鬆的替代方法, 它會混淆更多的代碼。 它支持一些非常方便的工具, 如Unity和Xamarin, 它非常適合遊戲開發和跨平臺開發。
BASIC - 一個獎勵選項是學習BASIC並從Anywhere Software嘗試使用B4A IDE。 這是一個容易但功能強大的工具, 雖然絕對更多的“利基”!
Corona / LUA - 另一種基於LUA的跨平臺工具。 它大大簡化了應用程式構建過程, 並允許您調用本機庫。
PhoneGap(HTML, CSS, JavaScript) - 如果您已經知道如何構建互動式網頁, 那麼您可以將這些知識與PhoneGap一起構建一個更基礎的跨平臺應用程式。
Java
當開發Android應用程式的時候, 第一個也是最受歡迎的選項是Java。 Java是Android開發的官方語言, 這意味著它是最受Google支援的應用程式,
開發Android應用程式的第一種方法是繼續下載Android Studio。 這是一個名為“IDE”或“整合式開發環境”的軟體。 它將與Android SDK(一組專門用於促進Android開發的工具)打包在一起, 並且基本上這將為您提供所需的所有內容, 從而在一個地方開始運行。
Google 的官方教程和文檔將參考此方法, 您將找到最多的庫(增強自己的應用程式的免費代碼)和專注於此方法的教程。
Java自身於1995年被Sun Microsystems發佈, 用於廣泛的程式設計應用。 Java代碼由運行在Android設備上的“虛擬機器”運行, 並解釋代碼。
不幸的是, Java也有點複雜, 它不是一個很好的“第一語言”。 事實上, 這將為許多想要開始Android開發的人提供最大的障礙。 Android是一種物件導向的程式設計語言,
這不是說Java是一種糟糕的語言 - 遠不如此。 調用任何語言“不好” 不僅會出錯, 而且Java的大部分“不方便”實際上都是為了我們自己的好, 並鼓勵乾淨的代碼。 由於這個原因, 很多人都喜歡Java, 它也是最通用和廣泛使用的。 根據PYPL(程式設計語言的受歡迎程度)表, Java是雇主中最受追捧的程式設計語言。
讓生活更簡單的是Android Studio, 它在過去幾年中一直在強勁增長。 諸如視覺設計師和建議的功能使得該過程變得平滑得多,
那麼判決是什麼呢?對於那些想要“全面”Android開發經驗的人來說, 潛入Java是最好的開始。 對於那些被複雜代碼推遲的人, 有可能在很大程度上與設計師一起工作, 並且為更複雜的任務來追蹤教程。 如果你是一個初學者, 而你正在尋找一個遊戲, 或者你只想開始學習, 為了學習, 你想獲得一些有益的項目在地面上; 那麼我建議你開始一些更容易的東西, 然後再回到這一點, 一旦你有更多的基礎。
注意:
也就是說, 也可以使用Java與Unity。 我將在C#的部分下討論Unity, 但是請注意,在進行此路由時,您可以選擇稍微複雜的Java語言,然後使用該語言更輕鬆地使用Android Studio進行開發。
Kotlin
Kotlin最近爆發了Android開發的“其他”官方語言。一些猜測表明,這可能會提高語言的概況,並且可能會成為下一個“Siwft”。
像Java一樣,Kotlin在Java虛擬機器上運行。它也可以與Java完全交互操作,不會導致檔大小減慢或增加。不同之處在於,科特林需要更少的“鍋爐板”代碼,這意味著它是一個更加流線型和易於閱讀的系統。它也消除了諸如空值異常之類的錯誤,甚至是您以半冒號結束每一行的藉口。簡而言之,如果您只是第一次學習開發Android應用程式,這是非常好的。
所以科特林肯定是初學者的一個更容易的起點,事實上你仍然可以使用Android Studio是一個很大的好處。儘管如此,使用Unity雖然說C#並不簡單,社區支持卻處於相對的初級階段。實際上,您目前需要下載測試版的Android Studio才能獲得即時支持。
儘管如此,Kotlin絕對應該是你的雷達,可以提供一個更簡單的入門點“適當的”Android開發。首先這可能是Google推出的。
C / C ++
公平地說,大多數閱讀這些的人不應該選擇這條路線來開發Android應用。Android Studio使用Android NDK(Native Development Kit)為C / C ++代碼提供支援。這意味著您將編寫不在Java虛擬機器上運行的代碼,而是在設備上本機運行,並且可以更好地控制記憶體等內容。對於像3D遊戲這樣的密集應用,這可以讓您從Android設備中擠出更多的性能。這也意味著你可以使用C或C ++編寫的庫。
但是,它的設置也更加困難,它引入了更多的錯誤,而且不那麼靈活。如果你也想創建一個電腦遊戲,你可能會更好使用現成的遊戲引擎。
C#
C#基本上是由Microsoft開發的C和C ++的簡單,純物件導向的版本。它旨在帶來C ++的強大功能和易用的Visual Basic,並讀取一點像Java的簡化版本。像Java一樣,C#是垃圾回收,意味著你不需要擔心記憶體洩漏和自己釋放記憶體的事情。同時,C#比Java更現代化,語法更清晰 - 儘管這可能只是我自己的偏見。開發Android應用程式的最佳語言通常只會歸功於品味。
如果你想要一個特別容易和歡迎的Android應用程式開發介紹,那麼我建議使用C#和Unity的組合。Unity是一個“遊戲引擎”(意味著它提供了物理學計算和3D圖形渲染等)以及像Android Studio這樣的IDE。這是一個免費的工具,使您非常容易地創建自己的遊戲 - 只需幾行代碼,您可以在不到一個小時內設置一個基本的平臺遊戲。沒有誇張。它也是非常強大的,作為Google Play商店中大多數遊戲工作室使用的工具。而且它也是多平臺的。最重要的是,以這種方式開發提供了一種非常實用的方法來學習物件導向編碼(因為這種情況下的物件實際上是物件大部分時間)。
Unity對於創建遊戲而言非常有用,但是創建標準Android應用程式是非常有用的,尤其是要符合Google的材料設計語言。如果您想成為一名專業的Android開發人員,那麼這種非標準路線將限制您的就業機會 - 除非您的目標是成為一名遊戲開發人員,在這種情況下,這是完全相關和專業的背景。
C#也可以通過Visual Studio與Xamarin一起使用。這更像傳統的Android開發,具有跨平臺(Android和iOS的一個代碼庫)的優勢。對於一個完整的初學者來說,這條路線再次是Android開發的一個輕微的入門點 - 但是對於一個想要為iOS和Android創建應用程式的小公司,這是有道理的,並且有大量的支援和資訊來説明您。
BASIC記得我怎麼說C#是試圖用Visual BASIC輕鬆提供C的力量?那是因為BASIC(初學者通用符號指令代碼)令人難以置信的使用愉快,是學習代碼的絕對理想的跳點。
不幸的是,它不是Android Studio的官方支持,也不能在Unity或Xamarin中使用它。好消息是,在BASIC中開發Android應用程式的一個不太知名的選項叫做“ B4A ”。這是“BASIC 4 Android”的首字母縮寫,正如您所期望的那樣,它可以讓您使用BASIC編寫Android應用程式。對於大多數想要開發Android應用程式的程式師來說,這絕對不是首選,但是有更多的選擇總是很好。
B4A被設計為“RAD”或“快速應用程式開發”環境。如果您有任何問題,還有許多其他智慧設計決策可以讓生活更輕鬆,如果您有任何疑問,還有非常支持的社區。
這是一個很好的方式來學習我的個人意見編碼,你可以使用這種方法單獨構建一些非常強大的應用程式。製造高端遊戲並不理想,而且再次成為“非官方”的選擇 - 所以很難創建完全符合材料設計規範的內容,您會發現只有BASIC才能成為專業開發人員。另一個很大的缺點是,這是清單中唯一不能自由進入的選項。
Corona
Corona為開發Android應用程式提供了另一個更簡單的選擇,同時仍然給予您相當的權力和控制權。您將在LUA中進行編碼,這已經比Java簡單得多,除此之外,Corona SDK(軟體開發套件)將使事情變得更加容易。它支持所有本地庫,允許您發佈到多個平臺。它主要用於創建遊戲,但也可以以各種其他方式使用。您需要使用文字編輯器(如記事本++)來輸入代碼,您可以在模擬器上運行所述代碼,而無需首先編譯。當您準備好創建APK並進行部署時,您可以使用線上工具進行此操作。
PhoneGap
最後,您可以轉而開發Android應用程式的最後一個主要“簡化”選項是 PhoneGap, 除非您想轉而轉向 “應用程式製作”程式。PhoneGap由Apache Cordova提供支援,本質上允許您使用通常用於創建網站的相同代碼創建應用程式:HTML,CSS和JavaScript。這通過“WebView”基本上顯示,但是像應用程式一樣打包。PhoneGap的行為就像一座橋樑,允許開發人員訪問手機或平板電腦的一些基本本機功能,例如加速度計或相機。
這不是真正的“真正的”Android開發,唯一真正的程式設計將是JavaScript。對於許多基本任務,它將完成這項工作,但是如果您想要獲得真正的“Android應用程式開發者”(這是一件事情),那麼您應該在此列表中勇敢地選擇其他選項。
結論
所以拿你的選擇!我希望有一種方法可以使用Python開發Android應用程式(但是,除此之外,您還可以選擇不同的選項來開發Android應用程式:從Java和Kotlin到C,C#和BASIC!你甚至可以使用HTML和CSS來簡單的使用PhoneGap。
但是請注意,在進行此路由時,您可以選擇稍微複雜的Java語言,然後使用該語言更輕鬆地使用Android Studio進行開發。Kotlin
Kotlin最近爆發了Android開發的“其他”官方語言。一些猜測表明,這可能會提高語言的概況,並且可能會成為下一個“Siwft”。
像Java一樣,Kotlin在Java虛擬機器上運行。它也可以與Java完全交互操作,不會導致檔大小減慢或增加。不同之處在於,科特林需要更少的“鍋爐板”代碼,這意味著它是一個更加流線型和易於閱讀的系統。它也消除了諸如空值異常之類的錯誤,甚至是您以半冒號結束每一行的藉口。簡而言之,如果您只是第一次學習開發Android應用程式,這是非常好的。
所以科特林肯定是初學者的一個更容易的起點,事實上你仍然可以使用Android Studio是一個很大的好處。儘管如此,使用Unity雖然說C#並不簡單,社區支持卻處於相對的初級階段。實際上,您目前需要下載測試版的Android Studio才能獲得即時支持。
儘管如此,Kotlin絕對應該是你的雷達,可以提供一個更簡單的入門點“適當的”Android開發。首先這可能是Google推出的。
C / C ++
公平地說,大多數閱讀這些的人不應該選擇這條路線來開發Android應用。Android Studio使用Android NDK(Native Development Kit)為C / C ++代碼提供支援。這意味著您將編寫不在Java虛擬機器上運行的代碼,而是在設備上本機運行,並且可以更好地控制記憶體等內容。對於像3D遊戲這樣的密集應用,這可以讓您從Android設備中擠出更多的性能。這也意味著你可以使用C或C ++編寫的庫。
但是,它的設置也更加困難,它引入了更多的錯誤,而且不那麼靈活。如果你也想創建一個電腦遊戲,你可能會更好使用現成的遊戲引擎。
C#
C#基本上是由Microsoft開發的C和C ++的簡單,純物件導向的版本。它旨在帶來C ++的強大功能和易用的Visual Basic,並讀取一點像Java的簡化版本。像Java一樣,C#是垃圾回收,意味著你不需要擔心記憶體洩漏和自己釋放記憶體的事情。同時,C#比Java更現代化,語法更清晰 - 儘管這可能只是我自己的偏見。開發Android應用程式的最佳語言通常只會歸功於品味。
如果你想要一個特別容易和歡迎的Android應用程式開發介紹,那麼我建議使用C#和Unity的組合。Unity是一個“遊戲引擎”(意味著它提供了物理學計算和3D圖形渲染等)以及像Android Studio這樣的IDE。這是一個免費的工具,使您非常容易地創建自己的遊戲 - 只需幾行代碼,您可以在不到一個小時內設置一個基本的平臺遊戲。沒有誇張。它也是非常強大的,作為Google Play商店中大多數遊戲工作室使用的工具。而且它也是多平臺的。最重要的是,以這種方式開發提供了一種非常實用的方法來學習物件導向編碼(因為這種情況下的物件實際上是物件大部分時間)。
Unity對於創建遊戲而言非常有用,但是創建標準Android應用程式是非常有用的,尤其是要符合Google的材料設計語言。如果您想成為一名專業的Android開發人員,那麼這種非標準路線將限制您的就業機會 - 除非您的目標是成為一名遊戲開發人員,在這種情況下,這是完全相關和專業的背景。
C#也可以通過Visual Studio與Xamarin一起使用。這更像傳統的Android開發,具有跨平臺(Android和iOS的一個代碼庫)的優勢。對於一個完整的初學者來說,這條路線再次是Android開發的一個輕微的入門點 - 但是對於一個想要為iOS和Android創建應用程式的小公司,這是有道理的,並且有大量的支援和資訊來説明您。
BASIC記得我怎麼說C#是試圖用Visual BASIC輕鬆提供C的力量?那是因為BASIC(初學者通用符號指令代碼)令人難以置信的使用愉快,是學習代碼的絕對理想的跳點。
不幸的是,它不是Android Studio的官方支持,也不能在Unity或Xamarin中使用它。好消息是,在BASIC中開發Android應用程式的一個不太知名的選項叫做“ B4A ”。這是“BASIC 4 Android”的首字母縮寫,正如您所期望的那樣,它可以讓您使用BASIC編寫Android應用程式。對於大多數想要開發Android應用程式的程式師來說,這絕對不是首選,但是有更多的選擇總是很好。
B4A被設計為“RAD”或“快速應用程式開發”環境。如果您有任何問題,還有許多其他智慧設計決策可以讓生活更輕鬆,如果您有任何疑問,還有非常支持的社區。
這是一個很好的方式來學習我的個人意見編碼,你可以使用這種方法單獨構建一些非常強大的應用程式。製造高端遊戲並不理想,而且再次成為“非官方”的選擇 - 所以很難創建完全符合材料設計規範的內容,您會發現只有BASIC才能成為專業開發人員。另一個很大的缺點是,這是清單中唯一不能自由進入的選項。
Corona
Corona為開發Android應用程式提供了另一個更簡單的選擇,同時仍然給予您相當的權力和控制權。您將在LUA中進行編碼,這已經比Java簡單得多,除此之外,Corona SDK(軟體開發套件)將使事情變得更加容易。它支持所有本地庫,允許您發佈到多個平臺。它主要用於創建遊戲,但也可以以各種其他方式使用。您需要使用文字編輯器(如記事本++)來輸入代碼,您可以在模擬器上運行所述代碼,而無需首先編譯。當您準備好創建APK並進行部署時,您可以使用線上工具進行此操作。
PhoneGap
最後,您可以轉而開發Android應用程式的最後一個主要“簡化”選項是 PhoneGap, 除非您想轉而轉向 “應用程式製作”程式。PhoneGap由Apache Cordova提供支援,本質上允許您使用通常用於創建網站的相同代碼創建應用程式:HTML,CSS和JavaScript。這通過“WebView”基本上顯示,但是像應用程式一樣打包。PhoneGap的行為就像一座橋樑,允許開發人員訪問手機或平板電腦的一些基本本機功能,例如加速度計或相機。
這不是真正的“真正的”Android開發,唯一真正的程式設計將是JavaScript。對於許多基本任務,它將完成這項工作,但是如果您想要獲得真正的“Android應用程式開發者”(這是一件事情),那麼您應該在此列表中勇敢地選擇其他選項。
結論
所以拿你的選擇!我希望有一種方法可以使用Python開發Android應用程式(但是,除此之外,您還可以選擇不同的選項來開發Android應用程式:從Java和Kotlin到C,C#和BASIC!你甚至可以使用HTML和CSS來簡單的使用PhoneGap。