Smart Phones Application development using HTML5 and related technologies: A tradeoff between cost and quality
Abstract
Smart Phone Revolution has forced companies to develop the smart phone versions of their applications. Smart Phone market is very fragmented and volatile and there is no single dominant platform. Building native applications for all the platforms is too costly and time consuming. As HTML5 is emerging as a viable option for building cross platform applications, experts are debating their quality and cost effectiveness. In this research paper we have evaluated the quality as per ISO 9126 and look closely where HTML5 based applications are standing against the major quality factors of ISO 9126. In this paper HTML5 based applications were evaluated against the quality factors like Functionality, Usability, Efficiency, Maintainability, Reliability and Portability. We have also discussed the possible cost effectiveness of HTML5 based applications in comparison with native application development.
Keywords: HTML5, Smart Phones development, Quality Attributes.
1. Introduction
Since the emergence of IPhone in 2007, smart phones (SP) have revolutionized the domain of cellular technology.Smart phones have already made a huge impact in our society. The ability of smart phones to give us the features that could be accessed only through personal computers in past are the major reason behind the popularity of Smart phones. Due to this dramatic growth of smart phone market, mobile application development has also seen a huge surge. Every business wants to target smart phone market because they want to stay relevant with their customer base. The biggest issue in capturing their customer base is that the smart phone market is very fragmented and there is no single popular platform that customers prefer. The market is divided among different players and that is why businesses are confused i.e. Which platform they should choose so that they could capture most of their customer base. In fact due to the fragmentation of market they canrsquo;t just chose one platform. For capturing the whole customer base businesses have to develop multiple applications due to different platforms.
2. An Overview of Smart Phone market
As opposed to PC market where there is one single platform which is clearly a dominant force i.e. Microsoft Windows; the smart phone market is very much fragmented and distributed amongst various OS vendors.According to the latest data released by Gartner, a leading research company, market is divided amongst Googlersquo;s Android, Nokiarsquo;s Symbian, Applersquo;s IOS, and RIMrsquo;s Blackberry Operating Systems. According to the data released from third quarter of 2011 in table 1. Android has the majority of the market share with 52.5%. Symbia currently holds 16.9% of the market share while Applersquo;s IOS has a 15% share[1]
Table 1: Worldwide smartphone sales by Operating System
- Development platforms for Smart Phones
Smart Phone market is divided amongst multiple major players. In this section we have discussed in detail about the differences in the development platforms of these smart phone platforms.
3.1 Android
Android is Linux based operating system. Android OS consist of various components which include a Linux kernel, Android runtime, Set of various libraries, Application framework and Applications. Android uses Linux kernel version 2.6 for providing its essential services, such as process management, memory management, security etc. Android runtime includes Dalvik virtual machine. Dalvik Virtual Machine is conceptually quite similar to Java Virtual machine but instead it uses a different file format. Android applications are written in java language and compiles into dex files. These dex files are packaged into a single file called Android Package (apk).The dex files are optimized for consuming minimal memory[2].
3.2 IOS
Apple IOS is derived for MAC OS and specially designed for IPhone. The basic foundation of IOS stands on original MAC OS X including OS kernel, BSD sockets and C/C compilers for getting native performance[3].The stability and performance of IOS is excellent. IOS supports Objective-C language for developing applications. Apple provides IPhone SDK to developers for developing applications for IPhone. The programming framework used for user interaction in IOS is Cocoa Touch[4].
3.3 Symbian
Symbian operating system was designed by Symbian foundation and quite recently Nokia has announced to open source the Symbian OS. Symbian OS is a micro kernel based Operating System which is the basic reason behind its robustness and responsiveness[5]. Nokia recommends QT for development and publishing applications. QT SDK has an excellent support of easily creating applications along with tools that comes with QT SDK. Development of User Interfaces is simplified by QT which provides a new QML language which is quite similar to popular JavaScript language.
3.4 BlackBerry
BlackBerry OS was developed and designed by Canadian Company, Research in Motion (RIM). RIM does not share the information about the internal design and architecture of BlackBerry OS[5]. Black Berry applications can be developed using Java language. BlackBerry provides a blackberry Plugin for eclipse and also provides an integrated development environment through JDE (Java development Environment). BlackBerry Java SDK includes Java Me APIrsquo;s as well as BlackBerry specific APIrsquo;s.
3.5 Windows Phone
Windows Phone is Microsoft based Compact edition of windows i.e. Window CE. Windows Phone supports Silverlight and powerful XNA framework for building applications. Windows Phone SDK comes up with Visual Studio 2010 IDE for building applications, Windows Phone Emulator, XNA Game Studio and Expression Blend software[6]. The Silverlight fra
剩余内容已隐藏,支付完成后下载完整资料
智能手机使用HTML5和相关技术应用的发展:
成本与质量之间的权衡
摘要
智能手机革命迫使企业开发他们的智能手机版本的应用程序。智能手机市场非常分散,不稳定,没有一个占主导地位的平台。对于所有平台构建本地应用太昂贵和费时。由HTML5是新兴作为构建跨平台的应用程序的一个可行的选择,专家们正在讨论他们的质量和成本效益。在本研究论文我们已经按ISO 9126质量进行评估并仔细观察基于HTML5应用程序在哪里与ISO 9126的主要质量因素相对立。本文基于HTML5应用程序进行评估与质量因素,如功能、可用性、效率、可维护性、可靠性和可移植性。我们还讨论了与本地应用开发相比基于HTML5的应用程序的成本效益。
- 简介
自2007年iPhone的出现,智能手机(SP)革新了蜂窝技术的领域。智能手机已经在我们的社会中造成了巨大的影响。智能手机给我们最大的变化是可以访问过去只能通过个人电脑访问的功能,这是是智能手机的流行背后的主要原因。由于智能手机市场的大幅增长,移动应用程序开发也出现了巨大的飙升。每个企业都想瞄准智能手机市场,因为他们想保留他们的客户基础。捕捉他们的客户群中最大的问题是,智能手机市场非常分散,没有一个流行的受客户喜欢的单一平台,市场划分成不同的阵营,这就是为什么商家都搞不清楚,即哪个平台,他们应该选择,使他们能够捕捉到大部分的客户群。事实上,由于市场的分散,他们不能只选择了一个平台。要获得整个客户群的企业必须开发多个应用程序由于不同的平台。
- 智能手机市场概述
相对于PC市场上有一个单一的平台,显然有一个占主导力量即微软的Windows,智能手机市场非常分散,分为不同的操作系统供应商。根据一家领先的研究公司Gartner公布的最新数据,市场被划分在谷歌的Android,苹果的IOS,诺基亚的塞班,RIM的黑莓操作系统。据2011年第三季度在表1中公布的数据显示Android有广大的市场份额为52.5%。 Symbia目前拥有的市场份额为16.9%,而苹果的IOS拥有15%的市场份额。
表1:全球智能手机销售的操作系统
操作系统 |
市场份额(%)(2011年第3季度) |
安卓 |
52.5 |
塞班 |
16.9 |
iOS |
15.0 |
黑莓 |
11.0 |
Bada |
2.2 |
微软 |
1.5 |
其他 |
0.9 |
- 智能手机开发平台
智能手机市场被多个主要参与者划分。在本节中,我们将详细讨论智能手机的不同的开发平台。
3.1安卓
Android是基于Linux的操作系统。Android操作系统包含各种组件,包括Linux内核,Android运行时,设置各种库、应用程序框架和应用程序。Android使用Linux内核版本2.6提供基本服务,如进程管理、内存管理、安全等等。Android运行时包含Dalvik虚拟机。Dalvik虚拟机在概念上非常类似于Java虚拟机,而是它使用一个不同的文件格式。Android应用程序是用java语言编写和编译成DEX文件。这些DEX文件打包成一个名为Android的文件包(apk)。该DEX文件的消耗最小的内存优化。
3.2 IOS
苹果IOS派生为MAC OS和专门为IPhone设计的操作系统。 IOS的基本依据是建立在原来的MAC OS X上,包括OS内核,BSD套接字和C / c 编译器来获取本机性能[3]。IOS的稳定性和性能都非常出色。IOS支持Objective-C语言开发应用程序。苹果提供了IPhone SDK方便开发人员为IPhone开发应用程序。用于用户交互的编程框架在IOS是Cocoa Touch。
3.3 塞班
塞班操作系统是由塞班基金会和最近诺基亚宣布开源Symbian操作系统共同设计,Symbian操作系统的稳定性和响应性背后的基本原因是Symbian操作系统是微基于内核的操作系统,诺基亚推荐使用QT开发和发布应用程序。QT SDK很好的支持用户独自轻松的使用QT SDK的工具来创建应用程序,用户界面开发是QT提供的一种类似于流行的JavaScript的语言的简化版的QML语言。
3.4 黑莓
黑莓操作系统是由加拿大公司开发和设计,Research in Motion(RIM)。 RIM公司不共享黑莓OS有关内部设[5]和体系结构的信息。黑莓的应用程序可以使用Java语言开发。黑莓提供黑莓的Eclipse插件,并且还提供了一个JDE的集成开发环境(Java开发环境)。黑莓的Java SDK包括Java ME的API的还有黑莓特有的API。
3.5 Windows Phone
Windows Phone的是微软基于Window CE的紧凑型版本。Windows Phone支持Silverlight和强大的XNA框架来构建应用程序。Windows Phone SDK带来了Visual Studio 2010 IDE来构建应用程序,Windows Phone模拟器,XNA游戏工作室和Expression Blend软件[6]。Silverlight的框架是用于事件驱动的应用程序,并提供了一个基于XAML的语法,用于创建富用户界面。XNA框架是用于游戏,并提供了出色的游戏体验。基于Windows的最新版本手机这两个框架也可以合并成一个单一的应用程序。
- HTML5,相关技术和混合方法
在本节中,我们将讨论HTML5的各种特性,这些特性可以帮助构建高质量的应用程序。我们还讨论了CSS和混合使用方法的发展。
4.1 HTML5
HTML(超文本标记语言)是用于显示网页的基本标记语言。HTML最初是只显示简单的静态的网页。这些简单的静态页面包含了一些静态文本,没有任何简单的动画图像。万维网的增长和企业的普及发现需要一些复杂的应用程序才能够满足用户的需要。在用户互动的网站上对于动态内容有更多的要求,由于HTML的开发商的局限性和很大程度上依赖于第三方插件如Flash或Silverlight。这些第三方工具最大的缺点是用户需要安装这些第三方工具来查看网页。同时他们也没有适当的技术在不同的移动平台使用。
4.1.1 Canvas
Canvas元素有利于开发人员绘制图表,图形和复杂的动画[7]。Canvas是非常简单且非常强大的,因为几乎所有种类的2D图形都可以很容易地在帆布的帮助下得出。Canvas是一个基于低水平位图的元素。JavaScript是用来沟通与canvas元素和各种使用JavaScript在Canvas上绘制的图形图像。所有图形的范围由宽度和高度呈现,随着JavaScript的使用,我们可以得到的canvas元素的引用,然后可以很容易地得出所需的图形。
4.1.2 本地存储
HTML的一个最大的限制是没有任何数据存储能力,客户端存储是现代任何交互式应用程序的基本要求,这是本地应用程序相对于web应用程序的一个巨大的优势,HTML5通过引入许多数据存储功能解决了这个问题。其中之一是本地存储其也被称为HTML5规范Web存储[8],本地存储在浏览器内提供了一种以键/值对为数据存储的方法用于网页。即使我们关闭了浏览器该键/值对数据的持久化。
4.1.3 Web SQL 数据库
Web SQL数据库是另一种规范用于存储和持久化,HTML5带来的关系型数据库SQL对Web SQL 数据库有很大的帮助,SQLite数据库被预先嵌入在浏览器中提供定义和结构化的所有功能的数据存储。作为被嵌入在浏览器中的数据库,它不需要任何安装。每个数据库的默认大小为5M字节并且可以用户拥有可扩展权限[10]。
4.1.4视频和音频
HTML5提供的视频和音频元素通过web页面可以直接播放视频和音频而不需要任何第三方插件。而HTML5的音频或视频的最大的问题在于浏览器的编解码器之争,例如Mozilla和Opera支持Theora格式而Safari浏览器不支持,Safari浏览器支持H.264,IE9也支持H.264。无论IPhone和Android在他们的移动浏览器中都支持H.264。W3C推荐的音频和视频分别为OGG Vorbis和 OGG Theora。
4.1.5地理定位API
HTML5提供地理定位API,这有利于增加他们在应用程序中开发基于位置的功能。在本地应用程序中基于定位的服务是很受欢迎的,HTML5地理定位API提供了一个用户的地理位置的纬度和经度。HTML5的地理位置API通过GPS或使用网络信号,如基站或使用其它来源,如IP地址等找到了用户的位置[12]。
4.2 CSS3
CSS(层叠样式表)是标记语言,通过它我们可以给网页显示不同风格的元素。 CSS3是层叠样式表的下一个版本。在CSS3中众多新功能已被添加,以提高用户体验,CSS3允许开发者实现重要的设计特性,例如动画元素或者转换元素,并且通过CSS3还可以使现有的设计特点变得更加容易实现,如展示多个列中的内容等等。同样我们也能很容易地通过CSS3创建那些只能通过JavaScript实现的元素。CSS3分为各个模块[11]。每个模块是独立的,大约有50个这样的模块。现代的移动浏览器已经开始支持CSS3的许多功能。
4.3 混合应用
混合应用是本地应用程序和Web开发相结合。混合应用程序开发人员在HTML5 / CSS和JavaScript中编写代码,也可以通过本地接入设备访问硬件特性。混合应用程序通过访问设备的API在浏览器和设备之间架起一座桥梁。混合应用允许对所有硬件设备进行访问。
PhoneGap的是一个HTML5应用平台,许开发人员通过PhoneGap的JavaScript API编写智能手机应用程序的HTML5/ CSS和JavaScript和访问设备的API[13]。PhoneGap把所有写在HTML、CSS和JavaScript的代码封装到了本地设备的Web视图控件,该应用程序在Web视图控件内运行,但它的行为像一个正常的程序,用户很难区分开来。PhoneGap还提供了一组JavaScript函数,映射到本地设备的功能,通过这些JavaScript函数我们可以很容易地访问设备特性,如相机、加速度计、GPS等。
- HTML5基于智能手机应用的质量属性
根据ISO9126有六大质量属性。这些因素是功能性,可用性,效率,可靠性,可维护性和可移植性[14]。
5.1功能
功能是通过评估确定HTML5技术不同特性的可用性,尤其是基于设备的特性,这些特性在本机应用程序中经常使用的。根据功能测试结果大多数的设备功能可通过PhoneGap框架的最新版本版本用于智能手机,尤其是IPhone,Android和Windows Phone7。某些功能缺失来自Symbian和黑莓。虽然HTML5可用大部分的设备功能,但还是有很多特点是HTML5的应用程序不能使用的。比如我们不能改变我们的手机壁纸,或添加铃声到我们的电话等等。同样,也有很多基于云服务的API,如苹果的iCloud服务或谷歌的云打印服务提供给本机应用程序,但不可用于HTML5的应用程序。其他公用事业服务,如谷歌的C2DM这是提供给原生的Android开发人员使用,推送服务也无法提供给HTML5。不同的开源实现这些服务对于HTML5开发人员是可行的,但是他们并不可靠。
5.2 可用性
基于HTML5的智能手机应用程序的可用性评估是基于整体用户满意度评价的基础上进行评估的,为此,我们制定了一个简单的示例应用程序,并且风发给经常使用智能手机的用户,如今大多数的智能手机都有触摸屏和简易的交互应用软件,这在整个应用程序是十分重要的一部分。构建应用程序与基于Web技术总是不同的,具有挑战性的。我们的示例应用程序是一个简单的员工信息系统。这个应用程序是部署在多个平台和移交给七个经验丰富的智能手机用户。可用性是通过他们的反馈进行评估。把对于反馈的调查问卷分发给客户。客户被问及他们对应用程序的视觉吸引力,一种方便的导航到另一种,触控响应,任务完成时间,个别屏幕的设计,组织和正确使用的控件,屏幕滚动行为和总体可用性的满意度。根据客户的反馈总体可用性的结果非常令人满意,在这些结果的基础上可以做更复杂的可用性调查。
5.3 效率
评估效率因素是在响应和处理时间的基础上进行的。效率的因素是指应用如何有效地完成其的任务,也就是应用程序如何快速、高效地执行其工作。一项研究表明,对用户的任务是即时的,且如果它正在约为0.1秒内完成。如果任务大约为1秒钟,将延迟显示给用户,但用户将不会被该延迟干扰。然而,如果某些任务花费10秒左右来执行,就会导致用户开始变得恼火,并且系统应该反馈一些时间限制给用户。对基于HTML5的应用程序进行一些常规的效率性能测试,应用程
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[463197],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。