随着移动技术的快速发展,Android平台已经成为全球开发者的热门选择。开发者社区提供了丰富的资源,包括代码示例、技术信息和同行专家的知识,以帮助开发者创新和成功。无论是Android、物联网、Intel® RealSense™技术还是Windows,都可以加入社区,下载工具,获取开发套件,与志同道合的开发者分享想法,并参与黑客马拉松、竞赛、路演和本地活动。
如果有一个突破性的Android应用想法,但不知道如何通过现有的编程工具和语言来完全实现它,本文将为提供Android开发中使用的关键编程语言的概述。
Java自1995年首次出现以来,就作为一种互联网应用语言而广受欢迎。今天,它被用于游戏、导航、商业解决方案以及移动行业等多个开发领域。Java是Android开发的古典语言,它是一种解释型语言,这意味着它具有跨平台的特性:要运行Java代码,需要Java虚拟机。在Android的情况下,ART或Dalvik(在KitKat及更早版本的Android中)扮演了虚拟机的角色。但是ART采用了一种完全不同的方法:它在应用程序安装阶段编译Java dex字节码,将其转换为目标设备的可执行文件。
Google提供了强大的Java基础设施:Android SDK拥有丰富的Java API。可以只下载SDK工具,或者下载Android Studio——基于IntelliJ IDEA的官方Android IDE,包括Android SDK工具、平台和模拟器。它可以安装在Windows、Mac OS X和Linux上。SDK 6.0 Marshmallow已经推出,带来了新的特性和技术!
如果更喜欢使用一些常用的通用工具,可以获取Android开发工具(ADT)并将其集成到Eclipse IDE中。除了SDK和IDE,还有很多框架可以帮助开发者,例如Box2D、LibGDX和Basic4Android。
C#是微软推出的一种面向对象的、Java替代语言。它与.NET Framework相关联,.NET Framework是Windows的一个组件,包括运行C#代码所需的公共语言运行时(CLR)和类库。在Android的情况下,Mono扮演了Windows中.NET的角色。Mono是一个由Xamarin支持的开源项目,基于C#和CLR的ECMA标准。
Mono包括四个主要部分:C#编译器、Mono运行时、基础类库和Mono类库(包括Gtk+、Zip文件、LDAP、OpenGL、Cairo、POSIX等的类)。Xamarin还为移动开发者提供了一系列的工具:Xamarin Platform用于构建具有原生界面的跨平台C#应用,Xamarin Test Cloud用于在没有的真机上测量有效性,Xamarin Insights用于实时监控用户如何与应用程序交互,Xamarin University提供在线和离线课程,学习移动开发。Xamarin框架可以轻松集成到Microsoft Visual Studio中。
C#编程可用的框架有Unity、Monocross和Cocos2D-XNA。
C++是世界上功能最强大的语言之一。可以用它编写无尽的软件列表:Adobe Photoshop、Illustrator、Windows OS、其他微软产品如Office、Visual Studio和Internet Explorer,以及Mozilla Firefox和一些OS X部分。
传统的C/C++Android开发代表了构建原生应用的方式。原生意味着编译器将程序代码转换为特定硬件的二进制文件。因此,必须为每个特定设备构建原生代码。这相当困难,但这类应用以其速度而闻名。此外,原生应用可以直接访问相机、GPS、地址簿和其他OS和设备的特性。
描述的原生应用开发有其自身的优缺点。重要的是要理解将要创建的应用。它是一个3D游戏、简单的笔记本还是一个叫车应用?如果应用需要大量的CPU或GPU计算,C++编码可能是一个好主意。但重要的是要保持简单,而不是在不需要的时候使事情变得复杂。
如果100%确定原生功能开发可以提高性能,将需要Native Development Kit(NDK)。然而,完全原生的Android应用是罕见的。通常它们有部分是用其他语言编写的。因此,Java提供了Java Native Interface(JNI),它从Java VM调用原生函数。
许多游戏引擎或其他框架旨在简化C/C++Android开发。这里有一些:Unity、Unreal Engine、Project Anarchy、Marmalade、Cocos2D-X。
Intel提供了两个工具,用于优化和提高Android原生应用的性能:Intel® Graphics Performance Analyzers(Intel® GPA)和Intel® VTune™ Amplifier for Android。Intel GPA由三部分组成:系统分析器、平台分析器和帧分析器,它们帮助检测和解决GPU绑定应用中的困难。
在CPU绑定应用的情况下,Intel VTune Amplifier对于发现和修复热点和瓶颈是不可或缺的。查看教程以获取更多信息。
HTML5是用于结构化和呈现Web内容的标记语言标准。通常HTML5标记与Web的其他关键工具一起使用:JavaScript编程语言和CSS3(层叠样式表)。这种组合允许创建非常复杂的Web应用程序。
但万维网并不是HTML5使用的唯一地方。如今,它在移动开发中广泛用于创建混合应用。所以,如果是一个经验丰富的Web程序员,并且想在Android应用上工作,不需要花时间学习一种全新的语言。
“混合应用”是什么意思?有一个分类将所有应用分为三种类型:原生、Web和混合,即结合Web特性和原生UI元素。一方面,混合应用由WebView运行——Android View类的扩展,它使能够在Android应用中插入Web页面。它使应用能够连接到所需的硬件能力。另一方面,无法在视觉上区分混合应用和原生应用!
许多引擎或SDK专注于HTML5标准:Marmalade Web、Unreal Engine、Cocos2D-JS、Cordova等。
要经济高效地创建混合Android应用,请尝试使用Intel® XDK,这是一个开发环境,为每个开发阶段提供工具——从设计到在应用商店共享。它包括一个直观的GUI布局编辑器App Designer和一个内置代码编辑器,可以加速开发过程。享受实时开发任务的应用测试。有关这些和其他Intel XDK特性的更多信息,请阅读入门教程。
Intel® XDK有一个特殊的2D游戏开发服务。游戏资产管理器可以帮助轻松访问、管理和操作游戏资产。许多框架支持和Apache Cordova插件和API也被包括在内。要开始使用Intel XDK游戏开发,请参见HTML5游戏开发的入门。