1、前言
自苹果 iOS 和谷歌 Android 操作系统发布以来,在互联网界就多了一个新名词:App(意为运行在智能移动终端上的第三方应用程序)。
最初的 App 有两种形式:一种是基于本地(操作系统)运行的 App,称之为原生App,或者Native App;一种是基于浏览器运行的 Web App,同样是安装在手机上。因为本地 App 位于平台层上方,向下访问和兼容的能力比较好一些,可以支持在线或离线,消息推送或本地资源访问,摄像、拨号功能的调取。但是由于设备碎片化,本地 App 的开发成本很高,维持多个版本的更新升级也很麻烦。
随着 HTML5 的出现,基于 HTML5 低成本跨平台开发优势又兼具本地 App 特质的混合模式移动应用( Hybrid App) 迅速兴起。它大幅降低了 App 的开发成本,可以通过现有应用商店模式发行,在用户桌面形成独立入口等等。 Hybrid App 已成为开发 App 不错的选择,是未来移动应用开发的趋势。
2、原生App的开发方法
以开发工具的不同来分类,原生 App 的开发方式有两种:Eclipse + ADT 和 Android Studio。
Eclipse + ADT
Eclipse + ADT 的开发方式是曾经Android开发者最好的选择,也是谷歌官方所支持的。但是2013的Google I/O 大会上,Google官方曝光一款新的开发工具 Android Studio,并在2014年底正式推出自家的IDE Android Studio1.0,2016年11月2日,Google Android Developer 官博发文,宣告停止对 Eclipse ADT 的支持。
由于现在市场上的书籍和视频教程,包括很多项目和源码绝大多数都是基于 Eclipse + ADT 的,所以了解这种开发方式对于初学者是很必要的,便于更快的入门和转入 Android Studio的使用。(当然,有自信和自学能力强的人可以直接使用 Android Studio)
Eclipse + ADT 开发环境的搭建
Eclipse 是一个免费的、开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境,通过安装插件,可以用它开发 C/C++,Java,Python,Perl,Ruby,Android,PHP等。
Eclipse 的官方下载地址:http://www.eclipse.org/downloads/,其他下载站点百度一下即可。
Eclipse是免安装的,下载下来的一般是个压缩包,但是有Windows,Linux,Mac操作系统和32bit和64bit之分,根据自己的电脑选择对应的下载即可。
我们都知道,原生 App 是基于 Java 开发的,因此,在开发 Java 程序之前,必须先完成一些准备工作,也就是在计算机上安装并配置 Java 开发环境,即安装和配置 JDK。
完成以上步骤,我们就可以开发J2SE的程序了,但是这里我们是要开发 Android App,所以我们还要安装 Android 在 Eclipse 上的插件 ADT ,它的全称是 Android Developer Tools Plug-in。现在,谷歌的官网上已经没有 ADT 的下载链接了,它会提示你用 Android Studio ,并将之前的项目迁移到 Android Studio 上,因此推荐大家采用离线安装的方式。
这里贴出一个国内的下载链接,里面提供了Android开发的所有工具下载。http://tools.android-studio.org/index.php。Eclipse离线安装 ADT 插件的方法可以参考如下百度经验:ADT离线安装教程。
Android SDK 的下载配置
这里值得一提的是,这种下载速度基本是龟速(如果不翻墙的话),所以,强烈建议大家学会科学上网,哪怕花钱也好,试想,一个Android开发人员连Android官网都上不去的话,那是多么可怕的一件事!
这里,贴上一篇解决这个问题的文章(我没有试过,我一直在墙外),http://blog.csdn.net/freedom2028/article/details/6261810。
安装完成之后,为了在命令行窗口可以使用 Android SDK 的各种工具,建议将 Android SDK 目录下的 tools 子目录、 platform-tools 子目录添加到系统的PATH环境变量中。
最后,值得一提的是,如果你觉得上面的步骤太复杂,你也可以下载多合一下载包ADT Bundle,里面包含了:sdk + 特定版本platform + eclipse + adt + 兼容包,解压缩即可使用。
第一个Hello World项目
Android虚拟设备神器Genymotion
运行HelloWorld
Android Studio
前面也说到了,Android Studio是Google官方推出的IDE,官网上这么说的“Android Studio 提供用于为各类 Android 设备构建应用的最快速的工具,利用世界一流的代码编辑、调试、性能工具、一套灵活的构建系统以及一套即时构建/部署系统,您可以专注于构建独特的高品质应用。”总之,Android Studio是非常强,也非常大的Android开发利器,学习它需要一定的时间,另外,运行AS对电脑的配置要求比较高,官方推荐win7以上操作系统,8GB RAM,最低屏幕分辨率:1280 x 800,这意味着一般的电脑根本跑不动。(那些非常强大的IDE一般都很大,运行条件都很苛刻,其实也可以理解)。
AS的官方下载地址是https://developer.android.com/studio/index.html,其他的下载地址有:http://tools.android-studio.org/index.php,http://www.cnblogs.com/bjzhanghao/archive/2012/11/14/android-platform-sdk-download-mirror.html,http://tools.android-studio.org/index.php/sdk/等,百度一下,你就知道。
AS的使用教程如下:http://www.open-open.com/lib/view/open1433387390635.html。
AS的视频教程如下:http://www.jikexueyuan.com/course/2531_1.html?ss=1。
2、Web App
什么是Web App?维基百科的解释是这样的:In computing, a web application or web app is a client–server software application in which the client (or user interface) runs in a web browser. Common web applications include webmail, online retail sales, online auctions, wikis, instant messaging services and many other functions.理解一下是这样的:Web App就是运行于网络和标准浏览器上,基于网页技术开发实现特定功能的应用,可以理解为一个触屏版的网站。不同于原生App,Web App 不是基于操作系统运行的,而是运行在浏览器里的,它的宿主是浏览器,它所需的资源一般都在网络上,因此,它不需要下载安装,但是使用它必须要联网。这类应用我们常用的有百度新闻,163邮箱,淘宝触屏版等。
因此,Web App 就是网页的开发,主要利用前端知识,诸如HTML5,CSS,JavaScript等。
知乎上推荐的一些较好的 Web App: https://www.zhihu.com/question/19727553。