购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 移动应用开发概述

2.1.1 移动应用开发简介

移动终端设备的软硬件技术、移动通信技术等的更新换代、快速发展迎来了智能移动设备的出现和高速发展,如各种品牌的智能手机及多种平板电脑,使得此前只能在计算机上实现的一些事情在移动终端设备上同样可以完成,如移动办公、游戏娱乐等。智能移动设备的功能逐渐增强,缩短了移动终端设备和计算机在功能上的差距。

目前最流行的智能移动设备当属智能手机,它体积小巧、方便携带,相对计算机来说更加经济、操作简单。日渐完善的软硬件技术为智能手机提供了较为强大的功能,使其在人们的生活、工作中扮演着不可或缺的角色。智能手机的普遍使用和巨大的应用需求使商家发现了手机软件巨大的潜在市场,各种App层出不穷,应用范围非常广泛,如出行方面的“携程旅行”、饮食方面的“美团外卖”,还有购物、娱乐、支付、办公等各种新奇、有创意的软件,给我们生活的方方面面都带来了很大的变化。

用户的需求推动了手机软件的产生、发展,也开阔了移动应用开发的天地。移动应用开发也称为手机开发,或叫作移动互联网开发,是指以手机、超级移动计算机(UMPC)等便携终端为基础,利用一些开发工具、开发技术进行相应的开发工作,开发得到的成果就是可以安装在便携式终端上的应用程序,最主要的就是手机软件,或称App。

2.1.2 移动应用开发模式

开发移动应用有三种常用的开发模式,这三种方式采用不同的开发技术,具有各自的优缺点,适用于不同的开发环境。

2.1.2.1 Native App开发模式

Native App是一种基于智能手机本地操作系统并使用原生方式编写、运行的第三方应用程序,也叫本地App。Native App开发模式,即原生开发模式。

下面来讲解Native App开发模式的特点。

(1)开发技术:针对不同的移动设备操作系统使用的开发语言不一样,如iOS操作系统上的App开发采用Objective-C或Swift语言,Android操作系统上的App开发一般采用Java语言,HarmonyOS操作系统上的App开发采用Java/C/C++/JS等语言,开发技术都较成熟。

(2)开发维护:如果开发能够适用于多种移动操作系统的App,就需要利用对应的工具、语言开发各自的版本,要求开发者具有较高的开发能力,或者投入更多的开发人员。另外,在测试时需要多种设备测试,拉长了开发周期,App的维护难度也相应增加。

(3)发布渠道:原生应用必须通过手机的应用商店发布,有了官方的审核流程,保证了App的质量和安全性。

(4)获取方法:需要用户从应用市场下载安装之后才能使用。

(5)用户使用:由于是使用原生代码开发的,所以程序的运行速度快,性能稳定,同时为用户展现了优质、美观的界面,能够实现很多酷炫的交互效果,提供给用户较好的交互体验。

(6)更新方式:当新版本的程序出现时,用户要想更新,需要重新下载、安装,过程相对烦琐。

(7)移动设备API访问:能够访问移动设备所有的功能,如GPS、摄像头、扬声器、蓝牙、相册、联系人等,增强了原生应用的功能性。

(8)消息推送:支持App的消息推送功能,可以为用户提供系统级别的消息和提醒,增加与用户之间的沟通联系。

(9)跨平台性:原生App的跨平台性很差,对不同移动操作系统需要单独开发应用。

(10)开发者利益:开发者发布的App被下载之后,可以从应用商店获取一定的收益。

2.1.2.2 Web App开发模式

Web App在应用本质上是为移动浏览器设计的基于Web的应用,它们是用普通Web开发语言开发的,可以在各种智能手机浏览器上运行。

Web App其实就是依托于浏览器的Web站点,也可以说是触屏版的网页应用。Web App开发就是网页开发模式,该开发模式的特点如下。

(1)开发技术:由于Web App在本质上就是Web站点,所以其开发技术也和普通的Web开发一致,使用HTML5、CSS3、JavaScript、JAVA、PHP等技术。

(2)开发维护:开发成本低、难度小、周期短、程序的维护工作也大大减少。

(3)发布渠道:不需要像Native App那样下载、安装,其发布方式和普通的Web站点一样。

(4)获取方法:只需要获取对应的站点即可在浏览器中访问。

(5)用户使用:虽然在开发、获取上有原生应用不可比拟的优势,但是也牺牲了其他的特性。网页应用访问依赖于网络,运行速度较慢,界面美观性、交互性都较差,程序性能低,无法提供较好的用户体验。

(6)更新方式:不需要用户手动更新,可以随时、实时获取最新版的应用。

(7)移动设备API访问:无法访问移动设备的摄像头、相册、离线存储等,其开发方式限制了能够获取的功能。

(8)消息推送:无法向设备推送通知。

(9)跨平台性:具有非常好的跨平台性,其可移植性相对于原生应用有巨大的优势。可以实现一次开发,兼容多种操作系统、多种设备,不需要针对不同的操作系统开发具有针对性的应用。

(10)开发者利益:无法发布到应用商店,所以也无法通过应用的下载获取收益。

从产生到如今,Web App没有得到很好的发展,其应用范围并不广泛,主要局限于以下几方面。

● 没有有效、广泛的Web App的发布渠道。

● 界面表现、用户体验较差。

● 使用的HTML5技术并没有形成公认统一的标准。

● 较难适配所有的手机。

2.1.2.3 Hybrid App开发模式

Hybrid App是指介于Web App、Native App这两者之间的移动应用,是两者的结合,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。

Hybrid App表面看起来是Native App,采用原生视图作为外壳,使用UI Web View控件,访问的是Web内容,相当于将Web App嵌入原生视图中,是一种半原生半Web的混合类App。

Hybrid App的兴起是现阶段移动互联网产业的一种偶然。由于移动应用开发比较火热,移动原生开发的人员较少,导致人才被争夺。HTML5技术的出现使得移动开发找到了新天地,但是由于其技术问题,无法给予用户更好的使用体验,所以并未迎来大爆发。在这种情况下,一种结合原生开发和网页开发的思想、技术产生,结合了两者的优点,偶然之间在移动开发中争得一席之地,目前也变得越来越受欢迎,如手机百度、手机淘宝、大众点评、去哪儿旅行等移动客户端都是采用的此种方式。

由于Hybrid App结合了原生开发和网页开发的技术,是一种混合应用,所以两种技术的占比量也不是固定的,如原生开发部分占80%,网页开发部分占据20%;也可以原生开发和网页开发各占据一半,可以由开发者自由决定,所以,可以分为以下三种类型。

(1)多View混合型:主体一般为Native App,Web技术只起补充作用,Native View和Web View交替出现,其开发难度和Native App基本相当,是目前的主流方式。

(2)单View混合型:在同一个View之内,既包括Native View,也包括Web View,相互层叠嵌套。此类型非常灵活,用户体验也较好,不过开发难度较大。

(3)Web主体型:主体为Web View,这种类型虽然开发难度较低,但用户体验存在缺陷。

Hybrid App开发模式的特点如下。

(1)开发技术:Hybrid App由原生和Web两部分组成,所以需要同时使用原生语言和网页语言进行开发。目前常用的主流开发框架有Cordova、AppCan、ionic、Mobile Angular UI等。

(2)开发维护:开发Hybrid App一般需要两个研发人员,一个进行Web的开发,一个进行原生开发,或者是一个两种技术都会的工程师,这样来说,Hybrid App学习、开发成本比较高,开发的时间周期介于前面两种开发模式之间。

(3)发布渠道:其发布方式和原生应用一样,需要发布到应用商店。

(4)获取方法:需要用户下载程序包,再进行安装后,才能使用。

(5)用户使用:Hybrid App兼容了Native App良好用户交互体验的优势。由于Hybrid App分为三种类型,所以其用户体验由原生部分和Web部分的占比决定,而且在使用时大部分也是需要依赖网络的。

(6)更新方式:需要用户重新下载更新。

(7)移动设备API访问:和原生应用一样,可以访问移动设备功能,如GPS、相机等。

(8)消息推送:支持向系统发送消息、通知。

(9)跨平台性:Hybrid App的跨平台性较好,虽然没有像Web App那样绝佳的跨平台性能,但是能节省大量跨平台的成本和时间,核心Web功能只需编写一次,即可在不同的平台中使用。

(10)开发者利益:发布到应用市场之后,可以通过用户的下载而从中获取部分收益。

2.1.2.4 开发模式的选择

移动应用选择哪种开发模式进行开发需要考虑很多因素,不同的模式适合不同的需求,取决于各种模式的特点及开发人员等因素。

(1)成本:实行一个项目,必须要考虑到项目的预算是多少,有多大的经济承受能力。如果预算充足,可以开发多个本地应用,也可以加上一个网页应用。

(2)开发成员:需要考虑个人或团队所熟悉的开发技术,或者已经拥有的开发资源,当然是扬长避短较好。

(3)时间:需要考虑项目何时交付上线,时间最快的当然是Web App。

(4)产品需求:这是最关键的一点,要根据产品需求确定开发方式。例如,如果要使用移动设备的摄像头、闪光灯、重力感应器等,就需要使用原生方式;如果功能必须要联网,或许网页方式较好;如果要求应用可以在所有移动操作系统上使用,使用网页方式更好。

(5)性能要求:如一些游戏应用就要求具有较高的性能、稳定性,所以适合采用原生开发模式。

(6)利益考虑:如果想通过应用来盈利,采用原生应用和混合应用都可行。

不同的模式有各自的优势和劣势,需要结合具体情况综合考虑,选择最适合的开发模式。 wpG+xdeWmdDXXNCzLL4c1fUWXOChPweMByONXeHU4xhYJHgaFw38SF4pgnOF5Men

点击中间区域
呼出菜单
上一章
目录
下一章
×