本篇文章3114字,读完约8分钟
作者认为,html5只是一个技术标准,就像爱情一样,它是一个理想的模型;真正的产品和项目是真正的婚姻生活,很明显它们是否适合特定的应用。
王子和公主终于过上了幸福的生活,但是在幸福生活的第一天,他们不得不为给谁做饭而争吵。
在技术选择方面,我们不应该太盲目,尤其是在移动应用领域,html5有太多的特殊性。
我们需要仔细选择一个纯html5相关的开发框架或产品。让我们以appcan为例。appcan的客户端架构使用系统自带的webview/uiwebview作为html5页面的解析引擎显示接口(webkit),并将系统的本地功能封装为js函数,通过桥接调用本地功能。
主要特点是它依赖html5标准作为界面显示,并独立封装一组html5 ui规范,产品本身不被系统引擎修改或重构。尽管它支持本机功能的窗口级扩展,但它并没有与html5紧密集成,并且相对独立。我们从以下几点分析了使用webkit作为产品架构核心的缺点。
发动机的可控性
目前,在手机上,基于html5的引擎通常由操作系统提供商集成到rom中,并通过webview组件为开发人员提供界面;安卓系统中的Webview由谷歌提供,ios系统中的uiwebview由苹果提供。虽然html5非常强大,但作为其产品的核心架构,它是不可控制的。
我还记得,在2011年,许多使用webview的android程序员突然发现,原来的webview addjavascriptinterface接口会导致程序崩溃,这是基于html5开发的基本接口;Phonegap和其他图书馆莫名其妙地崩溃了。最终,人们发现谷歌的网络工具包引擎有一个重大缺陷。我该怎么办?我们必须等待谷歌修复这个漏洞。谷歌是一家特立独行的公司,在手机制造商更新它之前,它需要花很多时间来修复这个漏洞。这会让程序员承受很大的痛苦。
最新消息显示,谷歌最近也准备放弃webkit内核。据《新闻网》报道,谷歌宣布将放弃苹果开源浏览器的核心——网络工具包,并在chrome项目中独立开发闪烁渲染引擎(即浏览器核心),该项目内置于chrome浏览器中。
在不久的将来,安卓手机的浏览器内核将会放弃webkit,采用flash浏览器内核。那么这些受制于他人技术的html5移动应用供应商将面临一场大灾难。
我们看看市场上支持或基于html5的产品:那些老浏览器制造商,比如腾讯的qq浏览器、UTV的uc浏览器、海豚浏览器,都有自己的引擎,都有自己的扩展功能;一些中间件工厂也实现了自己的解析和渲染引擎。难道仅仅是因为这些制造商训练有素,技术娴熟?绝对不会,老板不会浪费钱的!不受他人支配是一个非常重要的原因。
一些没有引擎的产品依赖于引擎在手机rom中的实现,所以他们不得不担心兼容性,这影响了产品本身的稳定性。
html5实现中引擎的一致性
无论如何,我将使用html5。无论如何,目前,我们似乎可以在移动应用的开发中放松一下,因为安卓和ios的浏览器引擎都是网络工具包。但是我们不要忘记微软。
像appcan这样的制造商使用html5没有策略。当winphone流行时,你的代码可能需要重新打补丁,这对程序员来说将是一场噩梦!那么应用程序本身就支持浏览器引擎,所以最好将其嵌入到应用程序中,这样才能实现一致性。为什么你必须使用操作系统本身?好问题!我们应该知道,标准的浏览器引擎通常非常大,例如,webkit超过3000万,用户不能接受普通的应用程序,非资源内容超过3000万。例如,appstore上有一个应用程序,它有12个星座妻子的指令,长度为70米,这似乎太大了。这就是为什么基于html5的中间件通常只使用手机rom中的浏览器引擎。此外,移植发动机或实现自己的发动机是一项技术性工作。不是每个公司都有能力做到这一点。换句话说,能够自己实现引擎的公司拥有强大的技术力量和充足的资金。
发动机尺寸
我们不能否认html5的力量。基于html5的web框架或产品通常强调其标准化和灵活性。有些产品已经成功了,比如jquery、ext、gwt等等。然而,当我们将注意力转向移动应用程序开发时,情况仍然是这样吗?在移动应用开发中,交互性能非常重要,用户对程序的大小非常敏感。为什么我们不能为移动应用定制引擎,从而实现一个复杂高效的引擎呢?
事实上,一些软件供应商已经做到了。量身定制的引擎在性能上有绝对优势,还可以根据自身特点支持适合移动应用的控件和API。中国的一家中间件公司已经削减了webkit,最终的规模只有大约300万。
标准html5在描述能力上的局限性
众所周知,标准html的控件描述能力非常有限,支持的控件也非常有限。甚至html5也添加了控件类型,但它也非常有限。如果基于html5的中间件想要支持具有高级特性的控件,它需要得到p+css组合拼接的支持。这使得代码极其复杂,维护起来通常很麻烦。我随机选择了一家支持标准html5的中间件制造商的应用程序代码,发现它只是一个简单的登录输入框,其代码看起来非常复杂,难以阅读。
此外,如果我们想扩展控制,仅仅使用webkit内核本身是无法实现的。然而,一些使用html5开发移动应用程序的制造商,例如appcan,即使他们实现了本地应用程序集成,也是页面级的,这意味着如果我想定制一个按钮,我需要使用一个新的页面来显示它。
那么html5应该如何在移动应用中使用呢?虽然html5在开发移动应用程序方面有很多缺点,但它也不是没有场景。html5应用程序的性能更多地由html/css呈现技术控制,而不是由javascript解析生成。如果使用得当,html5技术无疑会给你带来很多新的性能效果,那么如何利用html5的这些优势而不让整个应用程序用html5开发呢?中国的一些中间件制造商可以做到这一点。使用html5只是一个控制功能,html5的页面可以通过集成的查看器控件方便地显示,而无需像本机程序那样进行集成和打包。
摘要
华为的任有句话:让听到枪声的人做决定。在移动应用程序的开发中,开发者是能够听到枪声的人。作为一名在web开发和移动应用开发方面有着多年经验的技术总监,在经历了对标准html5开发的狂热之后,作者有了一个相对理性的认识。建议开发商根据项目的实际情况来决定自己的技术路线,不要盲目跟风。
三链:吃昆虫、吃厕所和油炸??3.模纸锻造,模具模具模具模具模具模具模具模具模具模具模具??. 95镣铐和镣铐??0.07%锝58.....
当前流行度:0
[娇娇]http://itougu.jrj/view/189514.j.....
当前流行度:0
1.1 .涓涓细流??邦邦、邦邦、邦邦、交邦和廖廖??要坚强,要坚强。.....
当前流行度:0
你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道........
当前流行度:0
缇落入三条锁链??3镝??6铥??0(乌桕脂含有3条链吗??4镝??4铥??0)死,死,死,死又死,4.72??......
当前流行度:0
那墙,墙,墙和墙呢??钳子里有丰富的镰刀、叉子、叉子、nan和链条,这些都是銮棒的来源.....
当前流行度:1
你想挑起镝,破坏哮喘吗??缇,汤,汤,3汤和柊镶嵌??链条??4."敌鲁,缇,汤,汤,汤."??.....
当前流行度:0
咸丰、大树、细垴、十二寸、相互涓涓??环秀细链,涓涓细流,砸铙钹,甩铙钹,砸铙钹,砸铙钹,砸响,砸得咝咝作响??葛格·岳格·柊.....
当前流行度:0