知识分享

解决HTML5在实际应用中的兼容性问题若干意见

发表日期:2018/8/1 9:54:48 文章编辑: 浏览次数:1953

解决HTML5在应用中的兼容性问题若干意见

HTML5并非听上去那么完美  业界一直都说HTML5的杀手级武器是跨平台,HTML5 是唯一一个通吃 PC、Mac、iPhone、iPad、Android、Windows Phone 等主流平台的跨平台语言。原生应用只是过渡,就像当年从 C/S 结构转变为 B/S 结构一样。而且学习 Objective-C 和 Java 很费劲,既然会网页开发,为何不试试 HTML5。然而,HTML5毕竟只是一个技术标准,所以跨平台确实跨平台,但只是理论上的跨平台。在实际应用过程中,大家会发现各种浏览器之间存在各种各样的差异性, 导致HTML5页面在不同浏览器上显示的效果不一致,于是要经过大量的兼容性测试和修复才能真正实现“一次开发,所有平台完美运行”的理想,而这样的工作量并不小。

其实,这里面有多方面的原因:

1) W3C一直把制定的标准文档定义成“Recommendation(推荐)”,也就是说,HTML5并不是一个强制的标准。如果开发者写的HTML网页不符合标准,浏览器依然能够显示。事实上,互联网上有95%以上的网页都是不符合W3C标准的。 结果就是,网页中有大量的异常情况,需要浏览器自己去修复。如何修复不标准的网页并没有一个固定做法,所以不同浏览器产商都有自己的一套解决方式。这也导致了各个浏览器虽然都是按照相同的W3C来开发的,但是最后的代码算法是不同的,继而导致了显示结果不一致; 

2)HTML5的功能是个巨大的集合,浏览器产商不可能在一个版本开发周期中实现所有的HTML5能力,每个版本都只能开发一小部分子集。 不同的浏览器产商会根据自己对市场的判断以及公司的战略,制定自己的开发路线图,所以自然会出现不同浏览器支持的HTML5功能集合不一致;

3)互联网是个高速发展的市场,每个浏览器产商都要为适应新的市场变化开发具有足够创新升级版本。然而向前创新和向后兼容往往是矛盾的,所以浏览器产商在新版本中可能会做出一些巨大的代码调整。然而,浏览器是安装在用户手机上客户端程序,用户有权利选择是否进行升级。这就导致了即使是同一个产商的浏览器,你还得为它的不同版本做相应的兼容性修复。这一点相信大家在PC时代的IE浏览器上都吃过很多苦头,每个前端开发者都需要为 IE6、IE7等不同版本做出大量的工作;

4)今天的手机操作系统是个非常碎片化的市场。安卓的开发性为它带来了高速的市场覆盖,但同时也带来了极度碎片的版本分支。由于很多第三方App内嵌浏览器一般都直接调用了操作系统自带的浏览器内核,从而导致网页在了不同手机上显示效果不一样,这点在混合App(Hybrid App)中体现尤为明显。

解决HTML5在实际应用中的兼容性难题,真正实现HTML5的跨平台,有两个途径:

1)通过HTML5的底层框架来屏蔽不同浏览器的兼容问题,所有的HTML5应用在框架之上来开发。像国外的Bootstrap、jQuery UI等都是很好的UI框架,基于他们之上来开发可以减少大量的兼容性调试工作。

 2)通过让用户使用自有内核的固定浏览器,这样就不存在兼容多个浏览器或者操作系统的问题了。 另外一方面,市面上各种浏览器的安全能力参差不齐,让员工自由选择浏览器是一件风险很大的事情,极有可能会导致企业数据泄露或者木马入侵。因此让员工使用公司经过安全认证的固定浏览器,一方面大幅度减轻IT开发的工作量,另外一方面有效保障企业数据安全,事半功倍。不管怎样说,虽然HTML5跨平台的能力受限于操作系统的碎片化,仍然显得不完美,但是其天然的跨平台能力已经在很大程度上为开发者们带来了巨大的价值。原因不言而喻。

 

转载地址:http://geek.csdn.net/news/detail/

------北京网站建设------


将文章分享到..
相关新闻
全新新闻
随机新闻
最新网站设计案例
Hi,我来帮您!