自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

支持安卓應(yīng)用開發(fā)的那些頂級編程語言

譯文
開發(fā) 后端 Android
本文通過向您介紹有關(guān)Android應(yīng)用編程語言的優(yōu)缺點,以幫助您選擇出一種適合于自己應(yīng)用的語言進(jìn)行入門學(xué)習(xí)。

【51CTO.com快譯】開始學(xué)習(xí)一種復(fù)雜的編程語言往往會讓人望而生畏,因為在大多數(shù)情況下,您會不知道從何處開始學(xué)習(xí),而且在開始之前,您可能已經(jīng)對該語言滿腹懷疑了。因此,事先了解不同類型的語言,會讓您清楚地知道在面對不同需求環(huán)境和不同類型的應(yīng)用時,應(yīng)當(dāng)如何做出明智的選擇。

支持安卓應(yīng)用開發(fā)的那些頂級編程語言

眾所周知,Java是Android的官方編程語言,但是其實我們完全可以用其他的語言,來構(gòu)建Android應(yīng)用。由于各種Android編程語言之間可能存在著復(fù)雜或細(xì)微的差別,因此我們在做選擇之前,先來了解一下各自的優(yōu)缺點吧。

以下是目前常用的Android開發(fā)編程語言:

  • Java - Java是Android開發(fā)的官方語言,Android Studio能夠支持它。然而,它學(xué)習(xí)曲線卻比較“陡峭”。
  • Kotlin - Kotlin是最近被推出的、僅次于Java的Android開發(fā)語言。它雖然與Java類似,但是在很多方面具有清晰的“思路”。
  • C/C++ - Android Studio通過使用Java NDK來支持C++。這允許產(chǎn)生本地原生編碼,這對于游戲之類的應(yīng)用來說會更為方便。不過C++比較復(fù)雜。
  • C# - 相對于C或C++容易混淆代碼來說,C#是一種新的替代方式。它能夠被Unity和Xamarin之類的工具所方便支持,因此更適合于游戲、以及跨平臺的開發(fā)。
  • BASIC – 您可以通過Anywhere Software的B4S IDE來支持BASIC。此工具雖然簡單且強大,但比較小眾。
  • Corona/LUA – 是另一個基于LUA的跨平臺工具,它大幅簡化了應(yīng)用構(gòu)建的過程,也允許您去調(diào)用本地原生庫。
  • PhoneGap(HTML、CSS、JavaScript) - 如果您已經(jīng)知道了如何構(gòu)建交互式頁面的話,那么您可以將該知識運用到PhoneGap上,來構(gòu)建更為基礎(chǔ)的跨平臺應(yīng)用。

開發(fā)Android應(yīng)用的最佳方式是直接下載Android Studio。這是一款具有IDE和集成開發(fā)環(huán)境的軟件。它提供帶有Android SDK包的一組工具,以滿足Android的開發(fā)。它能夠一站式地提供各種應(yīng)用啟動和運行所需的環(huán)境。

Google提供了其官方教程與文檔,您也可以在那里找到更多的庫和免費的代碼,以增強您的應(yīng)用效果。視覺設(shè)計和各種提示之類的功能,能夠使得程序進(jìn)程更為流暢。同時就像其他云存儲空間那樣,一些更為先進(jìn)且強大功能還會被持續(xù)添加進(jìn)去。

1.Java

對于世界各地的移動應(yīng)用開發(fā)人員來說,首選的、也是最受歡迎的編程語言莫過于Java。它是Android應(yīng)用開發(fā)的官方語言,Google不但能完全支持它,而且Play Store中的大多數(shù)應(yīng)用也都是用它來構(gòu)建的。Java由Sun公司于1995年所開發(fā)。Android設(shè)備上的虛擬機能夠運行并解釋其代碼。

不幸的是,Java對于初學(xué)者來說有點復(fù)雜,這也是Android應(yīng)用開發(fā)人員所面臨的最大障礙。由于是一種面向?qū)ο蟮木幊陶Z言,因此它的構(gòu)造函數(shù)、空指針異常、檢查異常等會顯得不易閱讀。而且它經(jīng)常使用大量的代碼來表示一些簡單的對象。

如果添加了Java SDK,初學(xué)者就更難分辨出哪些部分屬于Java、哪些屬于Android。如果使用Java進(jìn)行開發(fā),您還需要用到Gradle之類基于JVM的構(gòu)建工具,并需要理解Android Manifest、以及標(biāo)記語言XML。當(dāng)然,Java有著廣泛的交流社區(qū)。

所以,Java會是您學(xué)習(xí)編程的最好語言嗎?答案是肯定的,特別是如果您想擁有完整的Android開發(fā)體驗的話。如果擔(dān)心面對復(fù)雜的代碼,您可以盡量使用設(shè)計界面、并參考各種幫助文檔。但是作為初學(xué)者,如果您期待盡快做出有價值的產(chǎn)品的話,我建議您選擇其他簡單的語言,等積累了一定的經(jīng)驗后,再回頭來接觸Java。

2.Kotlin

Kotlin是排在第二位的Android開發(fā)官方語言。有人猜測其逐漸升高的熱度,會成為下一個Swift。

和Java一樣,Kotlin也運行在Java虛擬機之上。它與Java具有完全的互操作性,不會因為文件大小的增加,而造成障礙。

與Java的不同之處在于:Kotlin較少地需要“boilerplate(前端模板)”代碼,這使得它更簡化且易于閱讀。它消減了空指針異常之類的錯誤,和句末的分號。

Kotlin對于初學(xué)者來說雖然是一個更為簡單的起點,但是您目前需要下載Android Studio的測試版,才能獲得對其“開箱即用”的支持。這比起在Unity里使用C#還是略顯復(fù)雜。另外,其社區(qū)方面的支持也還處于相對初級的階段。

3.C/C++

Android Studio通過使用Android原生開發(fā)工具(Native Development)來支持C/C++。您不必編寫在Java虛擬機上運行的代碼,而能夠?qū)⒋a在設(shè)備上本地原生地運行,并且可以控制內(nèi)存之類的部件。對于一些3D要求高的游戲應(yīng)用,您可以使用C或C++編寫的庫,來獲取Android設(shè)備上的特有性能。

當(dāng)然,它在設(shè)置上會比較復(fù)雜,可能會引入一些bug,同時也缺少一定的靈活度。如果您的確想為電腦開發(fā)一款游戲的話,那么您最好還是使用現(xiàn)成的游戲引擎為妙。

4.C#

C#是純粹面向?qū)ο蟮腃和C++版本。微軟保留了C++的強大功能和Visual BASIC的簡約性,它有點類似于Java的簡化版。

和Java相同,C#也具有垃圾回收功能,因此您不需要擔(dān)心內(nèi)存泄漏、或考慮自行釋放內(nèi)存等問題。同時相對于Java來說,C#的語法更為清晰。當(dāng)然,我推薦您將C#和下面將要提到的Unity結(jié)合起來使用。

5.Unity

Unity是一款“游戲引擎”,它提供諸如物理計算、3D圖形渲染、以及類似Android Studio的IDE。它是一個開源的工具,您能很容易地創(chuàng)建出自己的游戲,并能獲得其強大社區(qū)的支持。只需幾行代碼,您就可以在一小時之內(nèi)搭建出一個基本的游戲平臺。作為Google Play Store里大多數(shù)游戲工作室所使用的工具,它是跨平臺的。由于一直使用的是對象,其開發(fā)模式還能提供學(xué)習(xí)面向?qū)ο缶幊痰膶崙?zhàn)方法。

Unity雖然對于開發(fā)游戲非常實用,但面對創(chuàng)建標(biāo)準(zhǔn)的Android應(yīng)用,特別是要符合Google材料設(shè)計語言(Material Design)的要求,則支持欠佳。

如果您想成為一名專業(yè)的Android開發(fā)人員,那么這條“非標(biāo)準(zhǔn)”的路線將會限制您的就業(yè)發(fā)展,除非您的目標(biāo)只是想成為一名游戲開發(fā)者。

C#也可以用在Visual Studio的Xamarin之中。與傳統(tǒng)的Android開發(fā)相比,它不但具有跨平臺的優(yōu)勢,還具有適用于Android和iOS的代碼庫。

對于入門級的初學(xué)者來說,這條路并不一定適合,但對于一個想同時為iOS和Android平臺創(chuàng)建應(yīng)用的小公司來說,此路完全值得嘗試。

6.BASIC

BASIC(Beginners All-Purpose Symbolic Instruction Code,初學(xué)者通用符號指令代碼)是初學(xué)者理想的切入點。

可惜,它并不被Android Studio官方所支持,您不能在Unity或Xamarin中使用它。不過好消息是:您可以用到一個鮮為人知的工具--Anywhere Software的B4A(BASIC 4 Android),來運用BASIC開發(fā)Android應(yīng)用。正如您所期望的那樣,它可讓您使用BASIC來編寫Android應(yīng)用程序。

B4A是為RAD(Rapid Application Development,快速應(yīng)用開發(fā))環(huán)境所設(shè)計的。它有著非常強大的支持社區(qū)。

由于“非官方”語言的因素,您用它制作出的高端游戲可能會不太理想,而且也很難完全符合材料設(shè)計語言的規(guī)范。這同時也會限制您的專業(yè)發(fā)展道路。另外,BASIC還有一個重大的缺點:它并不免費。

7.Corona

Corona作為開發(fā)Android應(yīng)用的另一個選項,同樣為您提供了相當(dāng)強大的控制功能。比Java簡單的是:您可以在LUA中進(jìn)行編碼,而且Corona SDK能夠支持所有的本地原生庫,并允許您將應(yīng)用發(fā)布到多個平臺之上。

除了被廣泛地運用到創(chuàng)建游戲,您還可以在其他方面使用它。您可以使用Notepad++之類的文本編輯器來輸入代碼,并在模擬器上運行,而無需提前進(jìn)行編譯。在準(zhǔn)備創(chuàng)建APK并予以部署時,您完全可以使用在線的工具來完成此操作。

由于確實需要一定的編程基本技巧,它提供了全面的使用介紹。不過,它也有自己的局限性:對于想要創(chuàng)建簡單應(yīng)用、又不想提高自己的編碼技能與專業(yè)度的人來說,它是夠用的;而如果您想用到“應(yīng)用內(nèi)購買”和原生Android API等功能的話,您就需要支付額外費用了。

8.PhoneGap

除非您想使用應(yīng)用程序生成器,不然PhoneGap將是您“簡化” Android應(yīng)用開發(fā)的最后選項。

由Apache Cordova帶來的PhoneGap,允許您使用HTML、CSS和JavaScript這些常用于創(chuàng)建網(wǎng)站的編程語言。PhoneGap就像橋梁一樣,允許開發(fā)者訪問手機或平板電腦上的一些原生功能,如計算器或相機等。

PhoneGap實際上不是真正的“Android”開發(fā),而只是用到了JavaScript進(jìn)行編程。因此它所完成的只是一些基本的任務(wù),而如果您想成為真正的Android應(yīng)用開發(fā)者的話,還是請從前面的列表中選擇語言吧。

原文標(biāo)題:Top Programming Languages for Android App Development,作者:Mohit Maheshwari

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2018-07-03 08:43:29

Android編程語言誘捕技術(shù)

2020-10-13 06:34:15

編程語言IDE

2021-01-05 14:25:45

Windows蘋果安卓

2020-02-17 09:42:09

編程語言JavaWindows

2019-02-25 14:23:18

微軟安卓iOS

2018-11-23 09:07:00

Linux開發(fā)者書籍

2018-11-23 11:50:02

Linux開發(fā)者編程書籍

2021-12-23 23:11:37

C語言編程工具

2015-07-08 10:37:42

頂級編程標(biāo)配軟件

2011-09-26 17:02:05

安卓蜂窩冰激凌三明治

2021-06-02 09:07:33

手機存儲垃圾清理雪豹速清

2014-07-15 11:16:17

Go語言

2021-08-02 21:00:59

微軟Windows 11Windows

2012-08-30 09:41:23

移動應(yīng)用開發(fā)

2016-03-03 09:57:01

開源創(chuàng)作性應(yīng)用程序

2016-08-08 12:36:31

安卓系統(tǒng)iOS蘋果

2021-02-04 09:21:37

內(nèi)存安全漏洞網(wǎng)絡(luò)安全

2020-12-12 16:08:04

編程語言開發(fā)

2012-06-20 10:07:35

應(yīng)用商店Android

2014-06-04 13:19:29

C++ndk安卓開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號