支持安卓应用开发的那些顶级编程语言 架构&设计

来源:互联网 / 作者:SKY / 2018-06-04 15:09 / 点击:
本文通过向您介绍有关Android应用编程语言的优缺点,以帮助您选择出一种适合于自己应用的语言进行入门学习。

【Chinaz.com快译】开始学习一种复杂的编程语言往往会让人望而生畏,因为在大多数情况下,您会不知道从何处开始学习,而且在开始之前,您可能已经对该语言满腹怀疑了。因此,事先了解不同类型的语言,会让您清楚地知道在面对不同需求环境和不同类型的应用时,应当如何做出明智的选择。

支持安卓应用开发的那些顶级编程语言

众所周知,Java是Android的官方编程语言,但是其实我们完全可以用其他的语言,来构建Android应用。由于各种Android编程语言之间可能存在着复杂或细微的差别,因此我们在做选择之前,先来了解一下各自的优缺点吧。

以下是目前常用的Android开发编程语言:

Java - Java是Android开发的官方语言,Android Studio能够支持它。然而,它学习曲线却比较“陡峭”。

Kotlin - Kotlin是最近被推出的、仅次于Java的Android开发语言。它虽然与Java类似,但是在很多方面具有清晰的“思路”。

C/C++ - Android Studio通过使用Java NDK来支持C++。这允许产生本地原生编码,这对于游戏之类的应用来说会更为方便。不过C++比较复杂。

C# - 相对于C或C++容易混淆代码来说,C#是一种新的替代方式。它能够被Unity和Xamarin之类的工具所方便支持,因此更适合于游戏、以及跨平台的开发。

BASIC – 您可以通过Anywhere Software的B4S IDE来支持BASIC。此工具虽然简单且强大,但比较小众。

Corona/LUA – 是另一个基于LUA的跨平台工具,它大幅简化了应用构建的过程,也允许您去调用本地原生库。

PhoneGap(HTML、CSS、JavaScript) - 如果您已经知道了如何构建交互式页面的话,那么您可以将该知识运用到PhoneGap上,来构建更为基础的跨平台应用。

开发Android应用的最佳方式是直接下载Android Studio。这是一款具有IDE和集成开发环境的软件。它提供带有Android SDK包的一组工具,以满足Android的开发。它能够一站式地提供各种应用启动和运行所需的环境。

Google提供了其官方教程与文档,您也可以在那里找到更多的库和免费的代码,以增强您的应用效果。视觉设计和各种提示之类的功能,能够使得程序进程更为流畅。同时就像其他云存储空间那样,一些更为先进且强大功能还会被持续添加进去。

1.Java

对于世界各地的移动应用开发人员来说,首选的、也是最受欢迎的编程语言莫过于Java。它是Android应用开发的官方语言,Google不但能完全支持它,而且Play Store中的大多数应用也都是用它来构建的。Java由Sun公司于1995年所开发。Android设备上的虚拟机能够运行并解释其代码。

不幸的是,Java对于初学者来说有点复杂,这也是Android应用开发人员所面临的最大障碍。由于是一种面向对象的编程语言,因此它的构造函数、空指针异常、检查异常等会显得不易阅读。而且它经常使用大量的代码来表示一些简单的对象。

如果添加了Java SDK,初学者就更难分辨出哪些部分属于Java、哪些属于Android。如果使用Java进行开发,您还需要用到Gradle之类基于JVM的构建工具,并需要理解Android Manifest、以及标记语言XML。当然,Java有着广泛的交流社区。

所以,Java会是您学习编程的最好语言吗?答案是肯定的,特别是如果您想拥有完整的Android开发体验的话。如果担心面对复杂的代码,您可以尽量使用设计界面、并参考各种帮助文档。但是作为初学者,如果您期待尽快做出有价值的产品的话,我建议您选择其他简单的语言,等积累了一定的经验后,再回头来接触Java。

2.Kotlin

Kotlin是排在第二位的Android开发官方语言。有人猜测其逐渐升高的热度,会成为下一个Swift。

和Java一样,Kotlin也运行在Java虚拟机之上。它与Java具有完全的互操作性,不会因为文件大小的增加,而造成障碍。

与Java的不同之处在于:Kotlin较少地需要“boilerplate(前端模板)”代码,这使得它更简化且易于阅读。它消减了空指针异常之类的错误,和句末的分号。

Kotlin对于初学者来说虽然是一个更为简单的起点,但是您目前需要下载Android Studio的测试版,才能获得对其“开箱即用”的支持。这比起在Unity里使用C#还是略显复杂。另外,其社区方面的支持也还处于相对初级的阶段。

3.C/C++

Android Studio通过使用Android原生开发工具(Native Development)来支持C/C++。您不必编写在Java虚拟机上运行的代码,而能够将代码在设备上本地原生地运行,并且可以控制内存之类的部件。对于一些3D要求高的游戏应用,您可以使用C或C++编写的库,来获取Android设备上的特有性能。

当然,它在设置上会比较复杂,可能会引入一些bug,同时也缺少一定的灵活度。如果您的确想为电脑开发一款游戏的话,那么您最好还是使用现成的游戏引擎为妙。

4.C#

C#是纯粹面向对象的C和C++版本。微软保留了C++的强大功能和Visual BASIC的简约性,它有点类似于Java的简化版。

和Java相同,C#也具有垃圾回收功能,因此您不需要担心内存泄漏、或考虑自行释放内存等问题。同时相对于Java来说,C#的语法更为清晰。当然,我推荐您将C#和下面将要提到的Unity结合起来使用。

5.Unity

Unity是一款“游戏引擎”,它提供诸如物理计算、3D图形渲染、以及类似Android Studio的IDE。它是一个开源的工具,您能很容易地创建出自己的游戏,并能获得其强大社区的支持。只需几行代码,您就可以在一小时之内搭建出一个基本的游戏平台。作为Google Play Store里大多数游戏工作室所使用的工具,它是跨平台的。由于一直使用的是对象,其开发模式还能提供学习面向对象编程的实战方法。

Unity虽然对于开发游戏非常实用,但面对创建标准的Android应用,特别是要符合Google材料设计语言(Material Design)的要求,则支持欠佳。

如果您想成为一名专业的Android开发人员,那么这条“非标准”的路线将会限制您的就业发展,除非您的目标只是想成为一名游戏开发者。

C#也可以用在Visual Studio的Xamarin之中。与传统的Android开发相比,它不但具有跨平台的优势,还具有适用于Android和iOS的代码库。

对于入门级的初学者来说,这条路并不一定适合,但对于一个想同时为iOS和Android平台创建应用的小公司来说,此路完全值得尝试。

6.BASIC

BASIC(Beginners All-Purpose Symbolic Instruction Code,初学者通用符号指令代码)是初学者理想的切入点。

阅读延展

1
3