深入理解HTML5在移动开发中的发展现状

Ldquo;我们使用HTML5编写我们的移动产品的下一步。是的,很多人都在玩Appcelerator的这些天,我玩过。好的,但那不是我想说的那种HTML5。

最近,我有很多类似的对话,也许是因为我开发一套HTML5应用。就像2005 ajaxhtml5期限没有明确的规定,并已应用甚至投运前决定新技术有什么优点。

如果你在一家公司被一位热衷于新技术的经理控制,如果你运气好的话,卡通人物伯特很愿意坐在你旁边的一个小房间里。

两种观点

当人们在移动设备上讨论HTML5技术时,他们通常只有两种不同的观点。

从感性的角度来看,HTML5技术的渲染过程主要是由浏览器,应用程序嵌入HTML5分析器,如PhoneGap,书签打开应用程序,或手机产品(iPhone和iPad)。这种技术的优点是可以重用现有的网页设计。Web开发人员也更容易上手。同时,产品质量更高,更适合多平台产品,调试和修正错误更容易,版本更新更快,优势在于它的功能。如果你使用嵌入式架构如PhoneGap,你会少了很多麻烦。缺点是它的性能,这也是HTML5技术面临的最大问题。

从理性的角度来看,HTML5技术使用Javascript引擎直接控制地方的功能和改变移动设备上的浏览器组件。HTML5应用的性能问题是由HTML / CSS渲染技术比Javascript解析更多的控制。如果使用得当,HTML5技术无疑可以给你很多新的性能的影响。当前HTML5技术的例子包括Appcelerator的钛,Mobage / ngCore,游戏关闭,和phoboslabs。

Node.js工具包

以phoboslabs项目为例,当项目采用Webkit JavascriptCore组件完成,OpenGL渲染接口用于在设备端,而HTML5的Canvas组件API开发用于发展。这意味着开发商可以开发和在画布上的桌面浏览器很好的支持他HTML5游戏测试,当他把游戏在手机浏览器打开时,也会出现很好(或更好)的性能。这种效应由HTML5是使用Node.js工具包的结果非常相似。当你使用Node.js,你只需要使用Javascript引擎,你只需要添加js组件需要添加到您的应用程序。

Appcelerator的钛细节HTML5技术的概念,向我们展示了一个完整的UI工具的抽象层,使其产生其他的游戏产品,这意味着一个HTML5应用程序开发人员可以通过Appcelerator的Javascript UI库创建一个按钮,和Appcelerator的内部逻辑将转换按钮,iOS的原生界面按钮。我们可以控制通过Javascript接口的本地按钮。在理论上,开发人员不需要编写Objective-C代码。

HTML5技术有其优点。当你还在用Javascript写代码,你可以说那些烦人的HTML / CSS布局逻辑和样式声明再见。你也可以说,那些优秀的调试工具,再见。但这种技术也有一个糟糕的游戏,如HTML5的API看上去有一些小问题,画布组件可以在屏幕上显示界面流畅是较小的,但如果屏幕稍大,如Appcelerator的例子,在调试时,你还需要考虑界面层的额外复杂性。有很多在Appcelerator这里负面的评论,如果你能记住几个,负面的评论其实可以理解。

问题还在浏览器中。

在开发一个完整的HTML5手机应用是运行速度慢的第一个困难。第二个问题是一个非常愚蠢的工具的束缚,在不同的浏览器中的多种成分都或多或少的存在一些漏洞,如innerHTML jQuery移动部件导航组件、iOS的漏洞,所以你需要减少功能避免漏洞,或者是你愿意花一些时间来修复这些漏洞。

你可以做一个实验,当你使用只有一到两个界面库在一个iOS应用,你写你自己的加少量的Javascript代码,没有更多的Javascript库,你会发现这个HTML5应用程序运行流畅、完整,但没有什么作用。iOS项目PhoneGap只需要1到2秒运行在iPhone 3GS。这个事实可以告诉你最基本的HTML5应用运行得非常顺利。所以当你发现某些操作你的HTML5应用需要10-15秒,或需要15秒加载完整的程序,这些都是由一些Javascript界面库拖累。

两组有代表性的UI库

HTML5的移动应用程序程序员通常只需要两件事情:第一个是本地平台和网页界面的嫁接层;第二个是手机的UI库。

PhoneGap近年来逐渐成为默认的移植物的选择。它允许HTML5应用程序调用移动设备的摄像头,接入手机联系人和文件的读写通过Javascript。最流行的手机UI库包括jQuery和Sencha Touch的移动。

jQuery Mobile是去年创建的一个项目,所以它很新,很明显它还不够成熟,jQuery的导航栏组件非常糟糕。翻页速度明显慢于本机翻页功能。如果你不刷新浏览器,你不能增加列表内容。而PC桌面平台的测试,其CPU消耗率也很高(版本的jQuery移动α4)。我的项目中使用的主要是由于相对简单(容易开裂),因为这个库的建立在jQuery,所以任何高级网页程序员很容易上手。

据说,Sencha Touch更加成熟比jQuery移动得更快。但当我看到一些非常复杂的,我不知道他们,因为潜意识会告诉我,有我不会用很多功能,但强制加载这些额外的东西到我的应用程序,使我在整体性能差。虽然我可能是错的,在PhoneGap应用页面最强大的手机应用是设计主导,运行流畅,并且它是基于Sencha Touch开发的,但我敢肯定,他们花了很多时间优化产品。

调试和修改

当开发HTML5的应用,很多人可能忽略了一点,但它是非常简单的调试或修改一个HTML5应用。谁参加了大规模的HTML5开发项目可以告诉你,调试和维护几乎占了整个项目生命周期的80%,甚至更多。也就是说,当你听到一个开发工具,声称可以开发在15分钟的聊天应用程序,它可以让你在15分钟内解决20%的工作,而剩下的80%,你可能要花超过3倍的能量去完成它。

HTML5手机应用程序有一个触摸问题调试时,由于控制台日志不能打印了。所以,如果Javascript代码漏洞或错误报告,你需要警惕()犯了一个错误,或者你可能找不到it.phonegap修改问题,它可以通过Xcode控制台打印控制台的色调的日志,但作用仍然是有限的。

最有效的解决方案,现在是Weinre的虽然是漏洞百出,运行它,你的手机可以断点调试界面,是一个基于Webkit Weinre及其模式工具背景通过远程服务器访问和更换调试代码的网页检查器。两到三周前,我做的网页的代码检查的一些研究,我发现真的很难将它转换成一个远程调试器。Weinre将在接下来的几个月,发展快,有的还可能发展的选择。我们将拭目以待。

在接下来的几年中,调试工具HTML5技术在移动应用的开发无疑是更重要的,它可以解决大多数开发商80%的工作量。你想和Objective-C改变你的界面设计编辑、编译、运行。重复三的步骤,直到你满意为止。如果有多个编译步骤,可能需要一天的时间。使用HTML5技术实现的吗编辑一些CSS属性和测试Weinre,你可以继续调试甚至没有关闭应用程序。在某种程度上,你也可以在桌面浏览器中调试你的HTML5手机应用。但是相信我,您的应用程序可能会在移动设备上不仅有很多漏洞,所以你必须使用Weinre。

不幸的是,人们经常称赞工具箱或函数,但很少听到人们称赞一个非常好的调试工具。所以我猜即使它是HTML5移动程序员最常用的工具,我们也很少听到它的讨论。

概述:现状

虽然这篇文章确实有点长,但我得总结一下:

1。在移动设备中开发HTML5应用程序只有两种方法,或者完全使用HTML5语法,或者只使用Javascript引擎。

该2.javascript发动机的结构使得移动网络游戏。因为界面层很复杂,我已预订使用UI工具包。

三.纯HTML5手机运行缓慢,泄露出去,但优化后效果会更好,虽然没有多少人愿意做这样的优化,他们还是可以试试。

对4.html5手机应用最大的优势在于它可以调试和在网页上直接修改,本地应用程序开发人员可能需要花费很多的精力去实现HTML5的效果,不断重复编码、调试和运行,这是他们要解决的第一个问题。

5。是的,HTML5的迁移非常简单,但我想每个人都会把它变成一个自动化操作。

这种深入的了解,在移动开发HTML5的发展现状,萧边分享了你的全部内容。我希望能给你一个参考,希望你能支持它。