zoukankan      html  css  js  c++  java
  • Web开发要做好浏览器兼容谈何容易?


    浏览器兼容虽说是web开发的基本要求,但是要做到完全兼容各种浏览器谈何容易?对于开发和设计都由程序员兼着的小公司的信息部门来说,更是雪上加霜。就连京东商城,包括百度做出了的东西,也都很难保证主流浏览器的完全兼容。其中最典型的是京东,经常性地用Firefox打不开,看来是只兼容IE族啊。一次在京东上给孩子买奶粉的时候,还以为京东被黑了,可是换了IE浏览器一切正常。我给京东写过邮件反映过此问题,现在情况好多了,但还是偶尔会遇见火狐打不开的情况。而本以为百度在兼容性方面做得天衣无缝,可是今天在上传文档到百度文库的时候,出现了Firefox不能上传而IE可以的情况。看来要做好兼容性谈何容易?

    我认为原因主要有以下几点:

    1. 浏览器种类和版本多,并且其渲染引擎的工作原理不一样,俗称的浏览器内核不一样。导致了要做到兼容工作量很大。随着web标准的推行,这种问题虽然比以前有所减少,但还是不容乐观。导致Web前端设计者每改变一点代码,就要在所有主流浏览器上跑一遍。并且一旦发现了不兼容的情况,要找出问题原因并给出解决方案并不是一件容易的事。这一点我很有体会,导致我对web前端的编码非常小心,有时根本不敢写,想实现一些特殊的效果,只能到别人的网站上借鉴:)。在这个过程中Firebug帮了我不少忙,也学习了很多前端知识。但如果要我选择BS还是CS哪种方式,我会首选CS,因为BS方式的开发经验告诉我很难做好,开发体验很不愉快。看来Silverlight真是程序员需要的(浏览器中的C/S开发),门户网站因为存在部署成本,相对于HTML+JS的方式,很难大面积推广。

    2. 浏览器的javascript引擎工作原理不一样,尤其是JS和DOM在一起写代码的时候,你也不敢写,同样不能保证兼容性。于是JQuery等框架满天飞,当然借助这些框架可以节省我们很多宝贵的时间。但是毕竟我们不是专业的前端开发者,你对JS很熟悉吗?比对C#还熟悉?而且,使用框架的尴尬是不敢跳出框架的范围,一旦跳出了,就担心兼容性是否被破坏了。

    3. 前端开发是需要经验积累的职业。知识零碎是我的第一印象,HTML、css和js哪一样要想精通都不容易。然而,业内对其技术含量并不尊重,没有好用和专业的IDE这一点就可见一斑,Js被大多数人看作脚本语言,更说明了很多人根本没给予充分的重视。开发者都不重视了,还怎么做到兼容性。我敢说公司要招聘到一个有经验的前端工程师并不容易。

         其实企业选择Silverlight开发也是无奈之举,毕竟C#+XAML就能搞定一切,成本低。就让程序员兼着前端开发吧,我不用招聘2倍的人。毕竟,内部应用部署个SL很轻松,更何况SL更强大,想怎么做就怎么做,更适合行业软件的开发。程序员也更喜欢这种C#前后端一体化开发的方式。

      然而,HTML应用不会被任何东西取代,我也仍然需要积累前端开发的知识,其实也不用悲观,因为有大量的成熟网站可以被我们拿来研究。也许随着时间的积累我会不再惧怕前端开发。

  • 相关阅读:
    C#
    C#
    ssh学习笔记
    (已解决)Could not open '/var/lib/nova/mnt/*/volume-*': Permission denied
    RPCVersionCapError: Requested message version, 4.17 is incompatible. It needs to be equal in major version and less than or equal in minor version as the specified version cap 4.11.
    如何在linux下安装idea
    The system has no LUN copy license
    调整mysql数据库最大连接数
    mysql数据库编码问题
    cinder支持nfs快照
  • 原文地址:https://www.cnblogs.com/slmk/p/2373136.html
Copyright © 2011-2022 走看看