转载
  • 发表于 2018年06月04日
  • 浏览 (715)
  • 评论 (0)

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

【51CTO.com快译】引言:本文通过向您介绍有关Android应用编程语言的优缺点,以帮助您选择出一种适合于自己应用的语言进行入门学习。

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

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

众所周知,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,初学者通用符号指令代码)是初学者理想的切入点。

可惜,它并不被Android Studio官方所支持,您不能在Unity或Xamarin中使用它。不过好消息是:您可以用到一个鲜为人知的工具--Anywhere Software的B4A(BASIC 4 Android),来运用BASIC开发Android应用。正如您所期望的那样,它可让您使用BASIC来编写Android应用程序。

B4A是为RAD(Rapid Application Development,快速应用开发)环境所设计的。它有着非常强大的支持社区。

由于“非官方”语言的因素,您用它制作出的高端游戏可能会不太理想,而且也很难完全符合材料设计语言的规范。这同时也会限制您的专业发展道路。另外,BASIC还有一个重大的缺点:它并不免费。

7.Corona

Corona作为开发Android应用的另一个选项,同样为您提供了相当强大的控制功能。比Java简单的是:您可以在LUA中进行编码,而且Corona SDK能够支持所有的本地原生库,并允许您将应用发布到多个平台之上。

除了被广泛地运用到创建游戏,您还可以在其他方面使用它。您可以使用Notepad++之类的文本编辑器来输入代码,并在模拟器上运行,而无需提前进行编译。在准备创建APK并予以部署时,您完全可以使用在线的工具来完成此操作。

由于确实需要一定的编程基本技巧,它提供了全面的使用介绍。不过,它也有自己的局限性:对于想要创建简单应用、又不想提高自己的编码技能与专业度的人来说,它是够用的;而如果您想用到“应用内购买”和原生Android API等功能的话,您就需要支付额外费用了。

8.PhoneGap

除非您想使用应用程序生成器,不然PhoneGap将是您“简化” Android应用开发的最后选项。

由Apache Cordova带来的PhoneGap,允许您使用HTML、CSS和JavaScript这些常用于创建网站的编程语言。PhoneGap就像桥梁一样,允许开发者访问手机或平板电脑上的一些原生功能,如计算器或相机等。

PhoneGap实际上不是真正的“Android”开发,而只是用到了JavaScript进行编程。因此它所完成的只是一些基本的任务,而如果您想成为真正的Android应用开发者的话,还是请从前面的列表中选择语言吧。

原文标题:Top Programming Languages for Android App Development,作者:Mohit Maheshwari

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

原文  http://developer.51cto.com/art/201806/575272.htm
正文到此结束

热门推荐

  • openfire数据库安装指南
    浏览(13,173) 评论(0)
  • Caffe 深度学习框架上手教程
    浏览(10,099) 评论(0)
  • ReactiveCocoa入门教程:第一部分
    浏览(10,937) 评论(0)
  • 开源HIDS-OSSEC使用实例:监测CC攻击
    浏览(10,808) 评论(0)
  • Decorators in ES7
    浏览(15,333) 评论(4)
  • 用Electron(Atom编辑器的兄弟项目)开发桌面应用
    浏览(28,306) 评论(0)
  • Windows下JetBrains CLion中文输出乱码的解决方法
    浏览(11,773) 评论(1)
  • 同步-@synchronized, NSLock, pthread, OSSpinLock性能比较
    浏览(10,799) 评论(0)
  • Seaweedfs之Volume读请求重定向
    浏览(25,068) 评论(3)
  • HTML、CSS及JavaScript : 有Promise,不会搞大肚子
    浏览(12,951) 评论(0)

相关文章

  • 如何修改文件中间的几个字节
  • iOS知识小集 第二期(2015.05.31)
  • MagicMove 在 iOS 中的实现
  • Unity Shader : Ghost v1(残影)
  • TitanPages-免费快速搭建你的个人博客
  • javascript单元测试框架mochajs详解
  • Spring框架IOC容器
  • SpringBoot整合Shiro安全框架
  • Java提供了哪些IO方式? NIO如何实现多路复用? - 《java核心技术》笔记
  • Jenkins 服务持续集成整合 Kubectl 用来管理 Kubernetes
阿里云首购8折
Loading...

PHP网站源码坑梓网络广告推广大芬网站优化按天扣费宝安网站建设坪山设计公司网站南澳外贸网站设计福田SEO按效果付费坑梓seo网站优化深圳如何制作网站大运模板网站建设横岗网络推广坪地网络广告推广双龙网站建设设计观澜推广网站同乐百搜标王坑梓高端网站设计大运模板制作民治模板推广观澜如何制作网站爱联百度爱采购南联网站开发双龙网页设计大浪英文网站建设罗湖网站推广石岩网站优化排名松岗网站优化按天扣费南联建网站大鹏营销网站沙井阿里店铺托管南澳网站制作设计横岗网站开发歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化