移动云应用开发最佳实践

日期: 2012-12-12 作者:Bill Claybrook翻译:滕晓龙 来源:TechTarget中国 英文

编者按:在过去,移动应用一直被分为本地应用程序或网络应用程序两类。在本文中,我们把网络应用程序归类为移动云应用范畴,因为网络应用程序在移动设备之外运行,而其数据存储也在移动设备以外。“移动云计算”一词通常是指被扩展以处理移动设备的企业云计算基础设施。被提供给用户使用的数据存储和计算处理资源都在云计算平台端而不是在移动设备本身。

  当开发人员开发移动应用时,他们可以选择采用本地应用程序(即安装和运行在本地移动设备上的应用程序)或移动云应用(即在移动云计算环境中运行的应用程序)。本地应用程序和移动云应用都有着各自的优缺点,下面就让我们来逐一分析下。   本地应用程序在诸如智能手机和平板电脑这样的……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

编者按:在过去,移动应用一直被分为本地应用程序或网络应用程序两类。在本文中,我们把网络应用程序归类为移动云应用范畴,因为网络应用程序在移动设备之外运行,而其数据存储也在移动设备以外。“移动云计算”一词通常是指被扩展以处理移动设备的企业云计算基础设施。被提供给用户使用的数据存储和计算处理资源都在云计算平台端而不是在移动设备本身。

  当开发人员开发移动应用时,他们可以选择采用本地应用程序(即安装和运行在本地移动设备上的应用程序)或移动云应用(即在移动云计算环境中运行的应用程序)。本地应用程序和移动云应用都有着各自的优缺点,下面就让我们来逐一分析下。

  本地应用程序在诸如智能手机和平板电脑这样的远程设备上运行,它们是专为某一设备及其操作系统而编写开发的。本机应用程序能够使用特定的设备硬件,这就意味着本机应用程序能够充分利用移动设备上的最新技术,例如全球定位系统(GPS)、相机、定位和运动等功能。这一点可以被认为是本机应用程序优于移动云应用的地方。

  移动云应用在服务器上运行,同时它们的数据存储在云计算中。用户通过设备上的浏览器窗口访问应用程序。移动云应用的开发通常与操作系统无关,而且其性能表现要优于本地应用程序,这是因为部署在云计算端的计算能力和存储资源都远优于小得多的移动设备。因为安全性和其他管理方面更易于集中,所以移动云应用在这些方面的优越性要超过本地应用程序。

  这里有一些最佳实践可以有助于确保移动云应用开发过程能够尽可能地更为顺畅和成功:

  一次开发 跨多平台运行

  因为很多企业都在采用BYOD(使用你自己的设备)策略,这对于设计和实施“一次开发,跨多平台运行”的移动应用是非常重要的,即所开发的移动应用可以在多个远程设备上运行而无须考虑设备的特性。对于专为在目标设备上本地运行而开发的移动应用来说,如果要在另一台设备上运行则必须进行移植或代码重写。移动云应用运行在云端,其开发与操作系统和特定设备功能无关。通过使用诸如HTML5和移动企业应用程序平台(MEAP)这样不同的技术,就可以开发出移动云应用,这样的应用程序可在多个设备上运行而无需重写代码。
实施混合应用程序以充分利用设备硬件

  混合应用程序能够允许移动云应用充分利用移动设备的硬件。通过混合移动应用,移动云应用的用户界面出现在浏览器窗口,而其中的本地应用程序就可提供对设备硬件功能的访问,而这一点是通过浏览器无法实现的。

  对于用户来说,混合应用程序就如同一个本地应用程序一样。用户可从应用程序商店购买下载应用程序,将其存储在移动设备中并进行初始化。但是,从开发人员的角度来看,这其中还是存在着区别的。开发人员无需对每一种设备重写整个移动应用的代码。采用HTML5、CSS以及JavaScript等语言编写的部分代码可以实现跨多个不同移动设备的重用。

  使用诸如HTML5和MEAP之类的技术

  HTML5是一组包括CSS3、规则、属性以及JavaScript API的技术。通过让开发人员使用跨多个设备平台的相同技术堆栈,它简化了应用程序开发并缩短了其开发周期。对于目前种类不断快速发展扩张的移动设备来说,通过开发移动云应用而不是本地应用程序,你就可以更快、更轻松地把应用程序部署在更多的移动设备上。HTML5支持远程设备功能,提供与本地应用程序相同或极其接近的外观与应用体验,同时它还允许你实现“一次开发,跨多平台运行”。它能够发现识别远程设备的特点,从而自动对显示信息进行调整以符合远程设备的显示尺寸、分辨率、显示方向、高度以及其他特性。

  虽然并不是所有的浏览器、智能手机和平板电脑都支持HTML5的所有功能,但是其中大部分的主流浏览器还是支持HTML5的部分功能的。因此,你应当确保你所使用的浏览器支持HTML5。

  移动平台是指位于移动设备与应用程序之间的软件。它在移动云计算中运行,同时完成一些与移动设备相关的特定任务,例如将数据转换至一个用户友好的界面并确保所有的内容都符合设备的屏幕。它还有一个直达设备硬件的认证机制,因此如果有设备遗失或被盗,该机制就能够实现远程数据删除。

  通过重用代码,MEAP允许企业实现跨多种设备的移动应用部署,而不必为某一特定设备准备应用程序。当有需要利用到远程设备上的关键功能时,或者当无法在移动云计算服务器上仿真本地功能时,它们还允许管理员有选择性地在远程设备本地运行应用程序。目前已有大量MEAP或类MEAP平台,其中包括Sybase Unwired平台、WebMobi和Appcelerator Titanium。

  同步开发和测试

  即便移动云应用在移动云计算服务器上运行,你还应当同步应用程序的开发与测试,在移动设备上完成开发以实现移动云应用“一次开发,跨平台运行”。

  技术公司Lionbridge认为,目前移动设备的评价使用寿命是一年,而移动软件技术的寿命则更短。这一极具挑战性的环境需要有一个新的软件开发与测试方法。所以,我们不应坐等移动云应用开发完成,在云计算开发的同时就应同步进行应用程序测试和设备测试以便于在项目周期中尽可能早地发现和纠正缺陷。

  利用移动云计算的安全性

  在移动设备上运行诸如Kaspersky和McAfee这样的安全软件和防病毒软件是检测安全威胁的最简单方法之一。但是移动设备的电源和处理功能是比较有限的,因此保护它们免受威胁的影响是困难的。例如,在移动设备上保持病毒检测软件持续不断地运行即便不是不可能的,那也是非常困难的,因为设备的电源是有限的。

  大部分的安全威胁检测功能都可以从移动设备迁移至移动云计算。然后就可以使用多个虚拟化恶意软件检测引擎(在移动云计算端运行)进行实际的威胁检测。这就涉及在每个移动设备上部署一个简单的软件代理,并在移动云计算端部署复杂的、特定的移动设备检测软件。该代理会检查设备上的文件活动,并把活动记录在一个文件中,并将其发送至一个移动云计算服务以供进一步分析。云计算服务将周期性地从代理处接收活动文件,并确定是否有恶意或有害的内容。多个虚拟化检测引擎可以分析单一代理活动文件以确定该文件是否包含对移动设备有威胁的攻击。

  这个基于云计算的方法有几个好处,其中包括增强的病毒检测覆盖面、不太复杂的移动软件以及减少的移动设备资源消耗。随着移动威胁的规模和复杂性不断增加,这个方法将变得更具价值。

相关推荐

  • 《云技术第一线》之云应用开发

    云应用开发的技术和工具多种多样。为了充分地利用它们,将您的应用超越可扩展性,并进入自我修复和无状态的领域。Maximilien是IBM云创新的首席架构师,经常被称为“Max博士”,他还讨论了IT专业人士开发云应用必须考虑的12个关键特性。

  • 开发云应用必守的12个规则

    云应用开发的技术和工具多种多样。为了充分地利用它们,将您的应用超越可扩展性,并进入自我修复和无状态的领域。

  • Red Hat Cormier发布OpenShift.io和容器状态指数

    Red Hat为云应用开发人员提供了新功能和针对容器运行状态和安全性的评级服务。同时,它还避免了在本地工作站上使用OpenShift.io来安装开发工具。

  • 云端应用开发:Vistual Studio 2017能帮开发者做什么?

    经过十年 发展,云计算的优势已经越发凸显起来,越来越多的企业也已经开始把应用开发转移到了云端,这意味着软件应用的创建过程将发生在云端。但j ,因为一些问题,云中开发还没有大规模的实施。