取消
显示结果 
搜索替代 
您的意思是: 
cancel
1880
查看次数
10
有帮助
1
评论
julianchen
Spotlight
Spotlight
引言:本文通过向您介绍有关Android应用编程语言的优缺点,以帮助您选择出一种适合于自己应用的语言进行入门学习。

开始学习一种复杂的编程语言往往会让人望而生畏,因为在大多数情况下,您会不知道从何处开始学习,而且在开始之前,您可能已经对该语言满腹怀疑了。因此,事先了解不同类型的语言,会让您清楚地知道在面对不同需求环境和不同类型的应用时,应当如何做出明智的选择。
众所周知,JavaAndroid的官方编程语言,但是其实我们完全可以用其他的语言,来构建Android应用。由于各种Android编程语言之间可能存在着复杂或细微的差别,因此我们在做选择之前,先来了解一下各自的优缺点吧。
以下是目前常用的Android开发编程语言:
· Java - JavaAndroid开发的官方语言,Android Studio能够支持它。然而,它学习曲线却比较“陡峭”。
· Kotlin - Kotlin是最近被推出的、仅次于JavaAndroid开发语言。它虽然与Java类似,但是在很多方面具有清晰的“思路”。
· C/C++ - Android Studio通过使用Java NDK来支持C++。这允许产生本地原生编码,这对于游戏之类的应用来说会更为方便。不过C++比较复杂。
· C - 相对于CC++容易混淆代码来说,C#是一种新的替代方式。它能够被UnityXamarin之类的工具所方便支持,因此更适合于游戏、以及跨平台的开发。
· BASIC您可以通过Anywhere SoftwareB4S IDE来支持BASIC。此工具虽然简单且强大,但比较小众。
· Corona/LUA是另一个基于LUA的跨平台工具,它大幅简化了应用构建的过程,也允许您去调用本地原生库。
· PhoneGapHTMLCSSJavaScript - 如果您已经知道了如何构建交互式页面的话,那么您可以将该知识运用到PhoneGap上,来构建更为基础的跨平台应用。
开发Android应用的最佳方式是直接下载Android Studio。这是一款具有IDE和集成开发环境的软件。它提供带有Android SDK包的一组工具,以满足Android的开发。它能够一站式地提供各种应用启动和运行所需的环境。
Google提供了其官方教程与文档,您也可以在那里找到更多的库和免费的代码,以增强您的应用效果。视觉设计和各种提示之类的功能,能够使得程序进程更为流畅。同时就像其他云存储空间那样,一些更为先进且强大功能还会被持续添加进去。
Java
对于世界各地的移动应用开发人员来说,首选的、也是最受欢迎的编程语言莫过于Java。它是Android应用开发的官方语言,Google不但能完全支持它,而且Play Store中的大多数应用也都是用它来构建的。JavaSun公司于1995年所开发。Android设备上的虚拟机能够运行并解释其代码。
不幸的是,Java对于初学者来说有点复杂,这也是Android应用开发人员所面临的最大障碍。由于是一种面向对象的编程语言,因此它的构造函数、空指针异常、检查异常等会显得不易阅读。而且它经常使用大量的代码来表示一些简单的对象。
如果添加了Java SDK,初学者就更难分辨出哪些部分属于Java、哪些属于Android。如果使用Java进行开发,您还需要用到Gradle之类基于JVM的构建工具,并需要理解Android Manifest、以及标记语言XML。当然,Java有着广泛的交流社区。
所以,Java会是您学习编程的最好语言吗?答案是肯定的,特别是如果您想拥有完整的Android开发体验的话。如果担心面对复杂的代码,您可以尽量使用设计界面、并参考各种帮助文档。但是作为初学者,如果您期待尽快做出有价值的产品的话,我建议您选择其他简单的语言,等积累了一定的经验后,再回头来接触Java
Kotlin
Kotlin是排在第二位的Android开发官方语言。有人猜测其逐渐升高的热度,会成为下一个Swift
Java一样,Kotlin也运行在Java虚拟机之上。它与Java具有完全的互操作性,不会因为文件大小的增加,而造成障碍。
Java的不同之处在于:Kotlin较少地需要“boilerplate(前端模板)”代码,这使得它更简化且易于阅读。它消减了空指针异常之类的错误,和句末的分号。
Kotlin对于初学者来说虽然是一个更为简单的起点,但是您目前需要下载Android Studio的测试版,才能获得对其“开箱即用”的支持。这比起在Unity里使用C#还是略显复杂。另外,其社区方面的支持也还处于相对初级的阶段。
C/C++
AndroidStudio通过使用Android原生开发工具(Native Development)来支持C/C++。您不必编写在Java虚拟机上运行的代码,而能够将代码在设备上本地原生地运行,并且可以控制内存之类的部件。对于一些3D要求高的游戏应用,您可以使用CC++编写的库,来获取Android设备上的特有性能。
当然,它在设置上会比较复杂,可能会引入一些bug,同时也缺少一定的灵活度。如果您的确想为电脑开发一款游戏的话,那么您最好还是使用现成的游戏引擎为妙。
C
C#是纯粹面向对象的CC++版本。微软保留了C++的强大功能和Visual Basic的简约性,它有点类似于Java的简化版。
Java相同,C#也具有垃圾回收功能,因此您不需要担心内存泄漏、或考虑自行释放内存等问题。同时相对于Java来说,C#的语法更为清晰。当然,我推荐您将C#和下面将要提到的Unity结合起来使用。
评论
one-time
Level 13
Level 13
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接