返回顶部
首页 > 资讯 > 精选 >HTML5在移动开发方面发展的示例分析
  • 657
分享到

HTML5在移动开发方面发展的示例分析

2023-06-08 02:06:02 657人浏览 独家记忆
摘要

小编给大家分享一下HTML5在移动开发方面发展的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!两种看法当人们讨论移动设备上的html5技术时,他们通常只会

小编给大家分享一下HTML5移动开发方面发展的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

两种看法

当人们讨论移动设备上的html5技术时,他们通常只会有两种不同的看法。

从感性的角度来看,HTML5技术的渲染过程主要是由浏览器、内嵌HTML5解析器的应用程序 (如PhoneGap)、支持书签打开方式的应用程序又或者是移动手机产品(iPhone和iPad)进行的。这种技术的好处就是能重用现有的网页设 计,web开发人员也更容易上手,同时产品具备更高质量,更适用于多平台产品。也更易于调试和修正错误,并且,版本更新会更快。此消彼长,优势是它的功 能,如果你像PhoneGap一样使用内嵌的架构,那么你会少很多麻烦事,劣势就是它的表现,这也是HTML5技术面临的最大难题。

从理性的角度来看,HTML5技术就是使用javascript引擎直接控制本地功能,改变移动设备上的浏览器组件。而HTML5应用上的表现问题 更多是由HTML/CSS渲染技术控制的,而不是由JavaScript解析生成的。如果使用正确,HTML5技术无疑可以给予你大量新增的表现效果。目 前使用HTML5技术的例子包括Appcelerator Titanium、Mobage/nGCore、Game Closure以及PhobosLabs。

Node.js工具包

以PhobosLabs的项目为例,当这个项目是使用WEBKit的JavaScriptCore组件完成,在设备端使用OpenGL渲染界面,而 在开发时使用HTML5的canvas组件的api开发。这就是说,开发人员可以在一个对canvas有良好支持的桌面浏览器内开发和测试他的HTML5 游戏,并且当他将这个游戏放到移动设备的浏览器打开时,也会出现同样优秀(甚至更优秀)的表现效果。这种用HTML5开发的效果跟使用node.js工具 包开发的效果很相像,使用node.js时,只需启用JavaScript引擎,而你仅需把你需要使用的Node.js组件添加到你的应用即可。

Appcelerator的Titanium详述了HTML5技术的概念,给我们展现了一个完整的UI工具的抽象层,这使得它可以被应用到生成其他 游戏产品。意即一个HTML5应用开发人员可以通过Appcelerator的JavaScript UI库创建按钮,而Appcelerator的内部逻辑会将这个按钮转换为iOS的原生界面按钮。我们可以通过JavaScript控制界面上的原生按 钮。理论上,开发人员可以不需要写一句Objective-C代码。

HTML5技术有它的优势,当你依然在使用JavaScript编写代码时,你可以跟那些烦人的HTML/CSS布局逻辑和样式声明说再见。你还可 以跟那些优秀的调试工具说再见。但这个技术也有蹩脚的一面,像HTML5的游戏API Mobage就存在一些小毛病,canvas组件可以在屏幕相对小一点的界面顺利显示,但如果屏幕稍微变大一点,就好像Appcelerator的例子一 样,在调试时,你还需要考虑界面层额外的复杂性。在这里有很多Appcelerator的负面评论,如果你能把上面的几点记在心里,那么那些负面评论其实 都可以被理解。

问题还在浏览器

开发一个完整的HTML5手机应用的首要难题就是运行速度过慢。而第二大难题就是非常愚蠢的工具束缚,许多组件或多或少在不同浏览器都存在一些漏 洞,如Jquery Mobile的导航组件、ioS的innerHTML组件的漏洞,所以你需要减少功能去避免出现漏洞,又或者你愿意花一些时间去修复这些漏洞。

你可以自己做个实验,当你在一个iOS应用里仅使用一至两个界面库时,再加上你自己写的少量JavaScript代码,没有更多的 JavaScript库,你会发现这个HTML5应用运行得流畅而完整,但却没什么功能。PhoneGap的iOS项目仅需要1至2秒的时间就可以在 iPhone 3GS上发布运行。这个事实可以告诉你,最基本的HTML5应用运行起来真的非常流畅。所以,当你发现你的HTML5应用的某些操作花费了10-15秒时 间时,又或者花了15秒时间才加载完整个程序时,这都是一些JavaScript界面库给拖累的。

两套有代表性的UI库

一个HTML5手机应用程序员需要的通常只有那么两样东西:第一样就是原生平台和网页界面的嫁接层;第二样就是手机UI库。

PhoneGap近年已逐渐成为默认的嫁接层选择,它允许HTML5应用通过JavaScript调用移动设备的照相机、访问手机通讯录和读写文件。而最受欢迎的手机UI库就包括由jQuery Mobile和Sencha Touch。

jQuery Mobile是去年才创建的一个项目,所以它是非常新的,很显然,它也不够成熟。jQuery Mobile的导航栏组件就非常糟糕,翻页时明显比原生的翻页功能要慢,如果你不刷新浏览器,你就没有办法递增列表内容。而在PC桌面平台测试时,它的 CPU耗用率也是非常高(版本是jQuery Mobile的alpha 4)。我的项目使用它,主要是考虑到相对简单(比较容易破解),因为这个库是基于jQuery构建的,所以任何一个资深的网页程序员都很容易上手。

据说Sencha Touch比jQuery Mobile更成熟更快。但我一看到高复杂性的东西,我就不会不自觉地厌恶它们。因为潜意识会告诉我,有很多功能我根本不会使用到,但却强制加载这些额外 的东西到我应用里,让我应用整体表现差了很多。尽管我可能是错的,PhoneGap应用页中最强大的手机应用是IGN Dominate,它运行得很流畅并且它就是基于Sencha Touch开发的,但我确定他们肯定花了很多时间去优化这个产品。

调试和修改

在上面谈到的开发HTML5应用时,许多人可能都忽略了一点,其实调试或修改一个HTML5应用是很简单的。任何一个曾参与过大型HTML5开发项 目的开发人员都可以告诉你,调试和维护几乎占了整个项目生命周期的80%的时间,甚至更多。这就是说,当你听到一个开发工具宣称可以在15分钟内开发一个 聊天应用时,那么它可能只是能让你在15分钟内解决20%的工作,剩下的80%,你可能得耗上3倍以上的精力才能完成。

HTML5手机应用在调试时存在触碰问题,因为无法打印出控制台的日志。所以,如果JavaScript代码存在漏洞或者报错,你需要 alert()报错,否则你可能没法发现。PhoneGap修正了这个问题,它可以通过XCode的控制台打印控制台的调式日志,但功能依然很有限。

目前最有效的解决方案就是weinre。尽管漏洞百出,但它就是能跑起来,有了它,你还能断点调试你的手机应用的UI,weinre是基于 WebKit的网页检查器的,它的调式工具后台通过远程服务端获取和替换调试代码。两至三周前,我曾对网页检查器的代码做过一些研究,我发现把它转换为一 个远程调试器真的不难。Weinre接下来几个月的开发进度将会更快,某些人可能还会开发出它的替代产品。我们拭目以待。

未来几年,移动应用开发中的HTML5技术的调试工具无疑变得更加重要,它可以解决大部分开发人员80%的工作量。你想要用Objective-C 改变你的界面设计吗?编辑,再编译,运行。重复这三个步骤直到你满意为止。如果再编译步骤很多,这可能会耗上一天的时间。用HTML5技术去实现?用 weinre编辑一些CSS属性并测试,你甚至不用关闭应用,你就可以继续调试。一定程度上,你还可以在桌面浏览器调试你的HTML5手机应用。但相信 我,你的应用产品最终可能只会在移动设备上爆发一大堆漏洞而已,所以你必须得使用weinre。

不幸的是,人们常赞美某个工具包或者某项功能,但你却很少听到有人夸赞某个调试工具非常棒。所以我猜测就算它是HTML5手机程序员最常用到的工具,我们也很少听到它被讨论到。

总结:现在的状况

尽管这篇文章真的有点长,但我还是得总结一下:

在移动设备开发HTML5应用只有两种方法,要不就是全使用HTML5的语法,要不就是仅使用JavaScript引擎。

JavaScript引擎的构建方法让制作手机网页游戏成为可能。由于界面层很复杂,我已预订了一个UI工具包去使用。

纯HTML5手机应用运行缓慢并错漏百出,但优化后的效果会好转。尽管不是很多人愿意去做这样的优化,但依然可以去尝试。

HTML5手机应用的最大优势就是可以在网页上直接调试和修改。原生应用的开发人员可能需要花费非常大的力气才能达到HTML5的效果,不断地重复编码、调试和运行,这是他们首先得解决的一个问题。

是的,HTML5的移植非常简单,但我假设每个人都会让这变成一个自动化操作。

以上是“HTML5在移动开发方面发展的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: HTML5在移动开发方面发展的示例分析

本文链接: https://lsjlt.com/news/251081.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • HTML5在移动开发方面发展的示例分析
    小编给大家分享一下HTML5在移动开发方面发展的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!两种看法当人们讨论移动设备上的HTML5技术时,他们通常只会...
    99+
    2023-06-08
  • 移动端开发1px线的示例分析
    这篇文章将为大家详细讲解有关移动端开发1px线的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1px线变粗的原因在做移动端项目时,常常是根据设计图设置元素节点的大小和样式,但是有时候根据设计图写出...
    99+
    2023-06-08
  • HTML5未来发展趋势的示例分析
    这篇文章将为大家详细讲解有关HTML5未来发展趋势的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、移动优先如今移动应用层出不穷,可以用只有咱没想到的没有人家没...
    99+
    2024-04-02
  • web移动开发知识点的示例分析
    小编给大家分享一下web移动开发知识点的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 1、生命周期调用函数 常见的...
    99+
    2024-04-02
  • 移动前端开发之viewport的示例分析
    小编给大家分享一下移动前端开发之viewport的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在移动设备上进行网页的重...
    99+
    2024-04-02
  • html5+css3响应式页面开发的示例分析
    这篇文章给大家分享的是有关html5+css3响应式页面开发的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一,自适应和响应式的区别    自适应是一套模板适应所有终端,但每...
    99+
    2023-06-09
  • 移动开发中自动化测试的示例分析
    小编给大家分享一下移动开发中自动化测试的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、自动化测试的概念自动化测试是把以人为驱动的测试行为转化为机器执行...
    99+
    2023-06-04
  • 移动web开发之touch事件的示例分析
    这篇文章主要介绍移动web开发之touch事件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前面的话iOS版Safari为了向开发人员传达一些特殊信息,新增了一些专有事件。...
    99+
    2024-04-02
  • 前端开发中移动端适配的示例分析
    这篇文章主要介绍了前端开发中移动端适配的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、百分比使用场景:只要求宽度随屏幕自适应,比如文字块百分比在PC端自适应上也经...
    99+
    2023-06-08
  • HTML5移动端开发中Viewport标签及相关CSS用法的示例分析
    这期内容当中小编将会给大家带来有关HTML5移动端开发中Viewport标签及相关CSS用法的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。移动前端中常说的 vi...
    99+
    2024-04-02
  • html5中video移动端的示例分析
    这篇文章主要为大家展示了“html5中video移动端的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5中video移动端的示例分析”这篇文章吧...
    99+
    2024-04-02
  • Linux发展史的示例分析
    这篇文章主要介绍Linux发展史的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux发展史1. 什么是操作系统我们在使用电脑时候,一般是使用应用程序的,你比如说我现在在Chrome浏览器访问云栖社区。C...
    99+
    2023-06-06
  • HTML5开发Kinect体感游戏的示例分析
    小编给大家分享一下HTML5开发Kinect体感游戏的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!HTML5开发Kin...
    99+
    2024-04-02
  • Html5多线程开发之WebWorkers的示例分析
    这篇文章将为大家详细讲解有关Html5多线程开发之WebWorkers的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我们都知道,浏览器执行js代码是单线程的,当...
    99+
    2024-04-02
  • JavaScript发展历史的示例分析
    小编给大家分享一下JavaScript发展历史的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、JavaScript的...
    99+
    2024-04-02
  • PHP应用发展的示例分析
    今天就跟大家聊聊有关PHP应用发展的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。PHP应用发展的速度是相当迅猛的。它的强大功能使它成为了许多程序员在开发网站时的***语言。...
    99+
    2023-06-17
  • python面向对象开发的示例分析
    这篇文章主要介绍了python面向对象开发的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因...
    99+
    2023-06-29
  • html5移动开发Ajax上传多张Base64格式图片到服务器的示例分析
    这篇文章将为大家详细讲解有关html5移动开发Ajax上传多张Base64格式图片到服务器的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、上传组件 ...
    99+
    2024-04-02
  • Angular开发的示例分析
    这篇文章给大家分享的是有关Angular开发的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是AngularAngularJS是动态Web应用程序的结构框架。 它允许...
    99+
    2024-04-02
  • linux驱动程序开发的示例分析
    这篇文章主要为大家展示了“linux驱动程序开发的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux驱动程序开发的示例分析”这篇文章吧。前提,一般来说内核代码的错误可能会引起一个用...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作