英语原文共 41 页,剩余内容已隐藏,支付完成后下载完整资料
基于HTML5的面向iOS和安卓操作系统的跨平台应用开发
Jari Pohjanen
硕士论文
2014秋季
信息技术学位课程
奥卢应用科学大学
摘要
奥卢应用科学大学
信息技术学位课程
作者:Jari Pohjanen
论文题目:基于HTML5的面向iOS和安卓操作系统的跨平台应用开发
导师:Kari Laitinen
完成日期:2014年秋季
这篇论文的主要目的是描述如何使单个用户界面代码在不同的操作系统中使用。这篇论文的目标是要呈现一个HTML5混合应用如何通过使用iOS的NSWebView组件和Android的WebView组件作为容器来实现(组成)这个混合应用的要点。本文还描述了HTML,JavaScript和本机代码之间是如何进行数据传输的。
作为一个一个出发点,混合应用程序是指能够在iOS和安卓两个平台都能执行的应用程序。我想要开发一个应用程序,它能够给终端用户提供使用价值。我学习过一段时间关于开放的web API,发现Finnkino电影公司免费提供xml API服务,由此我找到了开发本应用的思路。我采访了我的一些朋友关于功能需求的问题以及UI应该是什么样子。这个应用本身的设计仅使用了一个平台的具体原生WebView组件。为了让用户界面在两个平台看起来一样,用户界面是使用HTML组件和JavaScript来构建的。在我的应用程序中,本机代码操控从Finnkino公司的web API中解析出来的xml数据然后发送数据去调用JavaScript函数,这将会把数据动态地放置到HTML元素中。
当这个应用程序完成的时候,所有两个平台之间的差异性会被研究清楚并记录在本论文中。
iOS的NSWebView组件和安卓的WebView组件对混合应用的开发提供了良好的支持,但它们之间有一些小小的差异。主要区别是在这些平台上的性能表现和UI的响应速度会有所不同。从发展的角度来看,我发现了一个很好的机会去使用web技术来实现移动应用,因为web技术提供了一个可以快速开发的环境,为开发人员的快速开发需求引入新的可能性。另外从商业的角度来看,我可以看到这为小公司或者个人开发者提供了很好的机会,因为只要一次开发应用就可以在多个平台使用,这节约了金钱和资源。
关键词:
HTML5,混合,移动应用,JavaScript,Objective-C,安卓, iOS, 跨平台, jQuery, 移动用户界面
术语和缩略语
JSON JavaScript
Object Notation
HTML Hypertext Markup Language
CSS Cascading Style Sheets
iOS iPhone operating system
IDE Integrated Development Environment
Xcode Applersquo;s IDE
Eclipse Androidrsquo;s IDE
XML Extensible Markup Language
ADT Android Development Tools
UI User Interface
URI Uniform Resource Identifier
URL Uniform Resource Locator
1 引言
移动应用程序开发面临的最大挑战之一是如何在不同操作系统和手持设备之间保持和获得相同的用户体验,同时保证更改源代码需要最少的工作。如今,市场上有三种主要的移动操作系统——iOS、Android和Windows Phone——开发者希望确保他们的应用程序尽可能地传播给尽可能多的移动用户。如果应用程序开发人员希望从应用程序市场获得最大的利益,他/她必须小心谨慎地选择技术,因为从开发和维护的角度来看,这是至关重要的。
开发应用程序的一种方法是使用目标平台的原生库和UI组件,然后将代码导出到另一个平台。这种方法需要大量的人力和资源,因为UI和库组件的行为在不同的操作系统之间可能有很大差异。同样,对程序的规范和所需行为的进行测试和验证也很困难。而且通常情况下,UI组件在平台之间不提供相同的外观和感觉,这可能会改变终端用户体验,从而导致应用程序本身不再是它本应该是什么样子的情况。如果不需要将应用程序移植到其他平台,那么这是最好的选择。
创建多平台支持的一种方法是开发Web应用程序。这意味着整个应用程序寄存在Web服务器的某个地方,终端用户A通过使用移动Web浏览器使用和访问应用程序。Web应用程序几乎可以通过使用任何编程语言实现,Web服务器共享应用程序服务。例如Web应用程序可以由微软C#编程语言来编写,应用程序本身是运行在IIS(Internet Information Server)服务器,并且应用程序能够适用于Android或iOS等平台下的设备。一个Web应用程序可以使用Web服务器拥有的所有资源。它可以使用数据库和可能的报表服务。Web应用程序可扩展到最新的技术,像Node.js或HTML5以获得华丽的外观和漂亮的动画。Web应用程序最大的问题仍然是用不同的Web浏览器测试应用程序的成本。安装Web服务器并不便宜,服务器硬件也不便宜。Web应用程序的另一个问题是它没有给出真正的原生应用程序的外观和感觉。它也很难像照相机或收音机这样的应用去使用移动平台的特性。
创建多平台支持的另一种方法是开发一个特定于平台的本地应用程序,并以同样的UI代码可以在多个操作系统使用的方式创建UI。而创建用户界面的方式是利用HTML。这些把原生和HTML组合起来的应用程序被称为混合移动应用程序。混合应用程序仍然是Web应用程序,但它的UI封装在一个容器中,该容器提供对本机平台特性的访问。PhoneGap是目前用于创建HTML5混合应用中最流行的容器包装。PhoneGap提供组件来为iOS、Android、Windows Phone、黑莓和webOS平台创建混合应用程序。
本文档中我将介绍如何创建一个原生HTML5混合移动应用,但我不打算使用任何现成的包装容器如PhoneGap或Titanium。所以我将要深入挖掘、展示和描述如何用iOS的nswebview组件和Android的WebView组件来从一个跨平台的UI获得完全访问平台的原生功能。我将展示并描述如何在平台的原生代码、HTML元素和JavaScript之间实现一个通信层。对于混合应用程序,软件开发人员可以开发出给不同平台的终端用户提供相同的使用体验的UI。
当我开始研究这个课题并开发这个软件的时候我只选择了iOS和Android平台,因为Windows Phone(7.5)平台的WebView类还没有发展成熟到能用于这种应用开发,对于混合应用开发更好的支持将在后来的Windows Phone 8版本到来。即使Windows Phone平台没有在本文档中描述,但同样的理论原则也将会适用。
2 什么是HTML5
HTML5是HTML标准的最新版本。HTML版本4.01诞生在1999年,到现在互联网的使用方式已经发生了显著的变化。HTML5将会取代HTML4,XHTML和HTML DOM级别2(更多关于DOM Level 2的信息可以在以下链接看到:http://www.w3.org/tr/dom-level-2-core/)
HTML5的设计目的是在没有额外插件的前提下提供丰富的内容,如图形和动画,音乐和电影。HTML5还支持跨平台的应用程序开发。无论目标平台是PC,平板电脑还是智能手机或智能电视,它都可以发挥作用。
2.1 HTML5中新的东西
随着互联网自1999年以来发生了显著的变化,在HTML4成为标准的时候,HTML5已经取代了一些HTML 4.01元素。这些元素在HTML5中被删除或重新编写,因为这些旧元素从未被使用过或没有被像预期那样使用过。如今,互联网包含越来越丰富的动态内容,如动画,视频和音乐。这正是HTML5的设计目标。HTML5还包括一些API,如拖放,获得用户地理位置,本地数据存储等。
HTML5引入了许多新元素,它们可以在以下链接查看:
http://www.w3schools.com/html/html5_new_elements.asp
以下是最重要的新元素
lt;articlegt; |
定义文档中的一篇文章 |
lt;aside gt; |
定义页面内容之外的内容 |
lt;header gt;,lt; footergt; |
定义文档或单元的页眉或页脚 |
lt; navgt; |
定义文档中的导航链接 |
lt; sectiongt; |
定义文档中的一个单元 |
lt; audiogt;,lt;video gt; |
定义声音、音乐内容或视频、电影 |
lt; embedgt; |
为外部应用程序定义容器(如插件) |
lt; canvasgt; |
使用JavaScript定义图形绘图 |
例如,在Web页面上显示视频可以用下面的HTML5代码示例完成。
lt;!DOCTYPE htmlgt;
lt;htmlgt;
lt;bodygt;
lt;video width='320' height='240' controlsgt;
lt;source src='movie.mp4' type='video/mp4'gt;
lt;/videogt;
lt;/bodygt;
lt;/htmlgt;
新的丰富的元素为开发者带来了巨大的优势。由于元素本身支持丰富的内容,开发人员可以专注于创建好看的、工作良好的应用程序,而不是花时间在Web浏览器发展的时候去实现插件和维护这些插件。
2.2 HTML5的优点是什么
HTML5的设计目的是为互联网带来丰富的内容。Web页面不再需要看起来或表现得像静态Web页面那样。Web页面可以实现为像桌面或移动应用程序那样运行,比如Adobe Flash这样的工具,而不需要给用户带来太多的内容。通过使用新的HTML5标签,动画和媒体内容可以很容易地添加到网页中。所有主流的Web浏览器包括移动浏览器都支持HTML5。这是一个很大的优势,因为为桌面浏览器设计的网页也能够适用于移动浏览器。HTML5受到了移动设备的良好支持。由于HTML5是轻量级的、快速的,例如Adobe Flash的动画和过渡,通过HTML5和css样式表以及改进的JavaScript API让移动设备获得相同的用户体验是可行的。
随着新型智能设备的发展和市场化,HTML5和Web技术可以为消费者带来巨大的财富。例如冰箱、冰柜、洗碗机或洗衣机等家用电器都可以由不同的品牌制造,但如果这些设备构建的时候带着一个计算机系统比如设备包含了屏幕和web浏览器,然后,所有这些设备都可以使用一个单独的应用程序,同时在Internet服务器上为该设备及其目标要实现的功能创建服务。
2.3 HTML5使用中最基本的技术
HTML代码本身就是一个普通的静态文本,Web浏览器可以通过使用浏览器内为HTML元素提供的具体内置样式来呈现它。这意味着HTML元素本身可以绘制UI(图形用户界面),但这还不是一个应用程序。要用HTML创建Web应用程序,我们需要JavaScript来处理UI事件、数据传输和不同的UI操作。要创建HTML界面让它看起来和感觉是新鲜的和现代化的,我们需要CSS(级联样式表),它告诉Web浏览器HTML文件中的特定元素应该怎样被设计和放置在Web浏览器中。但是如果我们想最大化发挥UI、处理UI事件、数据传输和UI操作的优势,那么jQuery库就得加进来了。当所有这些技术:JavaScript、CSS和jQuery都包含在单个HTML Web应用程序中时,所有的UI处理、动画、数据传输和样式都会变得非常简单明了。
2.3.1 JavaScript
JavaScript是一种动态类型的面向对象的脚本语言,它的语法来自C语言。JavaScript的设计目的是与HTML DOM(文档对象模型)一起工作。JavaScript可以操纵HTML文件中的所有元素,这意味着元素的布局或上下文可以动态更改。例如,如果我们想改变amp;
全文共8610字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[14323],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。