原生、网页或混合移动应用开发外文翻译资料

 2022-08-26 16:34:37

英语原文共 12 页,剩余内容已隐藏,支付完成后下载完整资料


原生、网页或混合移动应用开发

简介

许多正在采取第一步来实施移动战略的组织正面临着一个重要的决定,这一决定将会影响这项倡议的结果。选择移动应用程序开发方法的过程(以下简称被称为“应用程序”),即原生、网络或混合开发,需要许多参数,如预算、项目时间表、目标访问群体和应用程序功能等等。每种方法具有内在的好处和局限性,找到一个最能满足组织需求的方法是一个具有挑战性的任务。

本白皮书的目的不是为了找出最好的开发方法,因为那不存在,我们的目的是列出优点和缺点并分析他们适合的不同场景,或企业需求,这才是最有用的。

方法介绍

原生应用

原生应用程序具有二进制可执行文件,可直接下载到设备并存储在本地。安装过程可以由用户发起,在某些情况下,也可以由组织的IT部门发起。最流行的下载方式原生应用程序是通过访问应用程序商店,如苹果的应用程序商店,Android的市场或黑莓的应用世界,但有其他方法存在,有时由移动供应商提供。

一旦应用程序安装到设备上,用户就会像设备提供的任何其他服务一样启动它。初始化后,本机应用程序直接与移动操作系统接口,不需要任何中介或容器。本机应用程序可以自由访问操作系统供应商提供的所有API,并且在许多情况下,具有特定移动操作系统的典型特性和功能。

要创建本机应用程序,开发人员必须编写源代码(以人类可读的形式),并创建其他资源,如图像、音频段和各种特定于操作系统的声明文件。使用操作系统供应商提供的工具,编译(有时也链接)源代码,以便以二进制形式创建一个可执行文件,该文件可以与其他资源一起打包并准备分发。

除了其他实用程序和文件之外,这些工具通常称为移动操作系统的软件开发工具包(SDK)。尽管不同操作系统的开发过程通常是相似的,但SDK是平台特定的,每个移动操作系统都有自己独特的工具。下表列出了与领先移动操作系统相关的不同工具、语言、格式和分发渠道。这些跨平台的差异导致了为一个移动平台编写的本地开发方法代码无法在另一个移动平台上使用的最严重的缺点之一,这使得为多个OS开发和维护本地应用程序成为一项非常漫长和昂贵的工作。

那么,为什么尽管存在这种代价高昂的劣势,许多公司还是选择本土发展呢?为了回答这个问题,我们需要更好地理解API的作用。

应用程序编程接口(API)

Apple iOS

Android

Blackberry OS

Windows Phone

Languages

Objective-C, C, C

Java (some C, C )

Java

C#, VB.NET and more

Tools

Xcode

Android SDK

BB Java Eclipse Plug-in

Visual Studio, Windows Phone development tools

Packaging format

.app

.apk

.cod

.xap

App stores

Apple App Store

Google Play

Blackberry App World

Windows Phone Marketplace

在移动设备上安装原生应用后由用户发起,与移动运营交互系统通过专有API调用操作系统暴露。这些可以分为两组:低级API以及高级API。

低级API

正是通过这些低级API调用,应用程序可以直接与触摸屏或键盘交互、渲染图形、连接到网络、处理从麦克风接收的音频、通过扬声器或耳机播放声音或从相机接收图像和视频。它可以访问全球定位系统(GPS),接收方向信息,当然还可以在固态磁盘上读写文件,或者访问当前或将来可用的任何其他硬件元素。

高级API

除了提供我们刚才提到的低级硬件访问服务外,移动操作系统还提供对个人移动体验非常重要的高级服务。这些服务包括浏览网页、管理日历、联系人、相册,当然还有打电话或收发短信的能力。

尽管大多数移动操作系统都包含一组可以执行这些服务的内置应用程序,但本地应用程序也可以访问一组公开的高级API,从而允许它们访问上面提到的许多重要服务。其他API允许可下载的应用程序访问操作系统供应商提供的各种基于云的服务,例如推送通知或应用程序内购买。

图形用户界面(GUI)

操作系统提供的另一组重要的API是GUI工具包。每个移动操作系统都有自己的一组用户界面组件,如按钮、输入字段、滑块、菜单、标签栏、对话框等。使用这些组件的应用程序继承了特定移动操作系统的特性和功能,这通常会带来非常简单和愉快的用户体验。

需要注意的是,不同的移动平台都带有独特的用户界面(UI)组件选项板。因此,设计用于多个操作系统的应用程序需要设计人员熟悉每个操作系统的不同UI组件。

尽管API是特定于操作系统的,并且为开发多个本地应用程序增加了许多复杂性和成本,但这些元素是创建丰富移动应用程序的唯一方法,充分利用现代移动设备所提供的所有功能。

移动Web应用程序

现代移动设备由功能强大的浏览器组成,这些浏览器支持许多新的HTML5功能、级联样式表3(CSS3)和高级JavaScript。随着这方面的最新进展,HTML5标志着这项技术从“页面定义语言”向基于浏览器的丰富应用程序的强大开发标准的转变。

HTML5潜力的几个例子包括高级用户界面组件、对富媒体类型的访问、地理定位服务和离线可用性。通过使用这些特性以及更多正在开发中的特性,开发人员可以创建高级应用程序,只使用Web技术。

这有助于区分两种极端的Web应用程序方法。每个人都熟悉移动浏览和移动优化网站。这些网站能够识别智能手机何时访问它们,并提供HTML页面,这些页面的设计目的是在小屏幕上提供舒适的“触摸体验”。但有些公司甚至更进一步,通过创建一个看起来像本地应用程序的移动网站来增强用户体验,并且可以从一个与启动本地应用程序不可区分的快捷方式启动。

这两个极端之间存在着广泛的可能性,大多数网站都实现了自己的功能组合。移动网络应用是一个非常有前途的趋势。为了利用这一趋势并帮助开发人员构建客户端UI,已经创建了越来越多的javascript工具包,如dojox.mobile、sencha touch和jquery mobile,它们生成的用户界面在外观上与本地应用程序相当。两者都完全在移动设备的浏览器中执行,并利用现代移动浏览器中可用的最新JavaScript、CSS和HTML5功能。

Web应用程序最突出的优点之一是它的多平台支持和低开发成本。大多数移动供应商在浏览器中使用相同的渲染引擎webkit,这是一个主要由谷歌和苹果领导的开源项目,它提供了当今最全面的HTML5实现。由于应用程序代码是用与WebKit兼容的标准Web语言编写的,因此单个应用程序为不同的设备和操作系统提供统一的体验,使其默认为多平台形式。然而,这些优势并非没有代价。

尽管网络技术在移动领域的潜力和前景巨大,但它们仍然有很大的局限性。为了理解这些限制,我们需要解释Web应用程序如何操作。

与本机应用程序不同,本机应用程序是直接与操作系统交互的独立可执行文件,Web应用程序在浏览器中运行。浏览器本身就是一个可以直接访问操作系统API的本地应用程序,但是只有有限数量的这些API暴露在运行在浏览器内部的Web应用程序中。虽然本机应用程序可以完全访问设备,但许多功能仅部分可用于Web应用程序,或者根本不可用。尽管随着HTML技术的进步,这一点在未来可能会有所改变,但目前的移动用户无法使用这些功能。

混合应用程序

混合方法将本机开发与Web技术结合在一起。使用这种方法,开发人员在跨平台Web技术中编写其应用程序的重要部分,同时在需要时保持对本机API的直接访问。

应用程序的本机部分使用操作系统API创建一个嵌入式HTML呈现引擎,作为浏览器和设备API之间的桥梁。这座桥使混合应用程序能够充分利用现代设备提供的所有功能。

应用程序开发人员可以在编写自己的网桥或利用现成的解决方案(如PhoneGap)之间进行选择。PhoneGap是一个开放源代码库,为选定的设备功能提供统一的javascript接口,这些设备功能在操作系统中是一致的。

应用程序的本地部分可以独立开发,但是市场上的一些解决方案提供了这种类型的本地容器作为其产品的一部分,从而使开发人员有能力创建一个高级应用程序,该应用程序只使用Web语言而不使用任何设备功能。在某些情况下,解决方案将允许开发人员使用他或她可能必须根据组织的独特需求定制本地容器的任何本地知识。

应用程序的Web部分可以是驻留在服务器上的网页,也可以是一组HTML、JavaScript、CSS和媒体文件,打包到应用程序代码中并存储在设备上。这两种方法都有优点和局限性。托管在服务器上的HTML代码使开发人员无需经过某些应用商店要求的提交和批准过程,即可向应用程序引入小更新。不幸的是,这种方法消除了任何脱机可用性,因为当设备未连接到网络时,内容不可访问。另一方面,将Web代码打包到应用程序本身可以增强性能和可访问性,但不接受远程更新。两种方法的结合可以达到两全其美的效果。这样的系统设计为在Web服务器上承载HTML资源以实现灵活性,而在移动设备上本地缓存这些资源以获得性能。

比较不同的方法

总的来说,下面是三种开发方法的比较。

原生开发在性能和设备访问方面都很出色,但在成本和更新方面都会受到影响。Web方法更简单、更便宜、更易于更新,但目前功能有限,无法实现使用本机API调用可获得的异常用户体验。混合方法提供了一个中间地带,在许多情况下,它是两个世界中最好的,特别是如果开发人员针对多个操作系统。

从上表可以推断,没有任何一种方法能够始终提供所有的好处。选择正确的方法取决于组织的特定需求,可以由许多参数驱动,例如预算、时间框架、内部资源、目标市场、所需的应用程序功能、IT基础架构和许多其他参数。

一件很清楚的事情是:现在大多数公司都面临着用户体验和应用程序功能,以及开发成本和上市时间之间的明显权衡。挑战在于选择正确的开发方法,以平衡组织的需求及其预算和上市时间限制。它的预算和上市时间限制。

选择正确的方法

以下是帮助指导组织的方案列表选择方法的过程。

原生开发的方案

现有的原生功能。反对本机方法的主要论点之一是它缺乏多平台支持。要求为多个移动平台开发应用程序的组织需要雇用新员工,或者用各种本地语言培训内部开发人员。拥有这种本土技能的组织能够利用这些技能,而无需大量的新投资。

一个移动操作系统。在某些情况下,组织的目标是向有限的目标受众发布移动应用程序,即已知使用单个移动操作系统的目标受众。例如,考虑这样一个场景:一个内部应用程序分布在一个向员工发布黑莓设备的组织中。在这种情况下,实现多平台覆盖可能不是一个优先事项,因为开发单个本地应用程序需要一组有限的技能和工具,所以这种方法可能非常有意义。

原生功能。有些应用程序是围绕单个功能构建的。以Skype为例:互联网语音协议(VoIP)和对用户联系人的访问是应用程序的关键元素,并且,鉴于目前可用的技术,只能在本地开发。对于这样的应用程序,Web语言还没有得到充分的发展,远远不能实现所需的功能。

丰富的用户界面需求。对于需要提供实时响应的丰富用户界面的类似游戏的应用程序,Web技术还没有提供足够的解决方案。对于具有此类需求的应用程序,开发人员仍然可以更好地采用本机方法。

Web的方案

直接分配。一些组织更喜欢以内部控制的方式分发他们的应用程序,而不受有时会变成一个长而不确定的批准过程的影响。在这种情况下,使用纯Web语言可以完全绕过应用程序存储过程,并允许组织完全控制应用程序及其定期更新的分发。

试点应用。当比较开发原生应用程序而不是Web应用程序所涉及的成本和市场时间时,使用Web方

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[439524],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。