阻止web访问(阻碍Web开放的不是WebKit,而是Web开发者的短视)
近日 ,据国外媒体报道 ,W3C联合主席Daniel Glazman指出,与IE相比 ,苹果和谷歌移动浏览器(都基于开源Webkit引擎)的主导地位对Web开放性的影响更为恶劣 。因为在Web标准发展的途径 。新浏览器通常会引进最终成为标准的新技术 ,但最初这些新技术只出现在一种浏览器中。Web编程人员在使用这些试验性的技术时 ,他们必须在命令前加一个前缀 。例如 ,“-webkit ”前缘表明基于WebKit的浏览器支持的功能 。一旦新功能成为标准的一部分 ,得到所有浏览器支持 ,编程人员就无须再使用前缀了 ,因为他们无须再担心自己是为一种特定浏览器开发代码了 。
国外前端开发技术博客WebMoney针对Daniel Glazman的言论 ,发布阻碍Web开放的不是WebKit ,而是Web开发者的短视 。全文如下:
虽然这听起来非常不切实际,但是事实上 ,比比皆是的网站骄傲地宣称“使用InternetExplorer效果最好 ”的时代才刚刚过去 。谢天谢地 ,那个时代已经成为过去式 。IE6不再主导着整个Web 。
然而,虽然IE6已经成为过去 ,不幸的是 ,其根本问题—网站仍然面向并只面向单一的网络浏览器—较IE6的时代并没有什么变化 。
这次的罪魁祸首是WebKit,渲染引擎 ,用以开发iPhone ,iPad和Android等手机浏览器 。但是 ,这次情况不同于IE6的是 ,WebKit开发商并没有做错什么 ,是Web开发者创造了只面向WebKit的Web。
相反 ,编写能够在所有浏览器上运行的代码 ,可能意味着只在它们的CSS规则的基础上上额外添加的三行代码 ,甚至是一些规模最大的网站只面向WebKit编码 。
在周一的CSS工作小组会议中 ,情况急转而下,Microsoft ,Mozilla和Opera宣称打算添加一些–webkit前缀的CSS属性支持 ,也就是说,由于Web开发者只使用–webkit内核 ,其它浏览器必须添加–webkit支持或 。
其风险在于 ,如果其它浏览器都采用–webkit内核,那么整个为CSS标准所做的努力都白费了。相反 ,不只针对单一的CSS规范编码 ,开发者需要为不同的供应商添加预定义 。正如CSS工作小组联合主席DanielGlazman所说 ,“我认为这并不是正确的做法 ,这是我们工作小组头一次提出这么不靠谱的建议 。 ”
供应商通过允许浏览器厂商在官方标准发布之前使用CSS功能 ,来指定–webkit和–moz帮助web开发者。预先指定的旨在帮助提升在web中添加新功能的速度 , 。不幸的是 ,同时这种预先指定被广泛地滥用 。
对于大多数web开发者来说 ,WebKit是当前主流的移动浏览器(事实上 ,Opera是唯一使用最广泛的移动浏览器) 。但是,甚至这些误以为WebKit的优势都不是真正的问题 。问题是—正如上面所提到的—Web开发者只面向WebKit开发 。
需要弄清楚的是 ,Firefox ,IE,和Opera也支持这些功能 。大多数情况下 ,在响应的浏览器中使用的–webkit属性有-moz ,-ms,-o等前缀词 。CSS3中非常受欢迎的功能 ,像border-radius ,transform ,gradients ,和amination等属性在所有主流浏览器中都有不错的表现 。开发者只要额外添加三行代码就能使他们的网站兼容Firefox ,IE和Opera 。但是他们没有这样做。
问题在于web开发者 ,而不是浏览器 。Glazman发动大家号召 ,要求web开发者“不要再设计只面向WebKit的网站了 ,特别是在添加几行CSS属性就可以添加对其它浏览器的支持 。 ”
Glazman和其它人都不支持Apple和Google应该停止创新或者尽可能快的开发新的功能。正如CSSWG中Mozilla的代表TantekÇelik在周一几分钟的发言所说的一样 ,“我想,Apple想尽可能快地进行创新 ,我不想Apple在创新和开发新功能上面放慢速度 。因为这样能够帮助Web成长和创新 。 ”
Apple和Google同时开发了一些只针对WebKit的demo ,这件事为广大的开发者树立了负面的“榜样 ”,这样会致使开发者得出结论:只有WebKit支持这些功能。
是什么导致这种专门针对–webkit开发的行为让人头疼呢?原因是有非常简单的解决方案使开发者开发出针对多个平台的网站—只需要按照开发者的意图进行预先定义就OK了 。幸亏使用当前的工具不需要添加额外的代码 。像SASS和LESS这样的预处理使添加额外代码变得十分简便 。如果你不喜欢SASS或者LESS ,没有关系 ,你可以使用cssprefixer,这款软件可以解析你的CSS代码 ,并且在你把代码发布到Web之前根据你的需求添加预定义(如果你喜欢 ,还有一种客户端自动预定义的解决方案) 。
这样对你的网站来说是不错的选择 ,但是剩下的30000个网站怎么办呢?好吧 ,你可以E-mail那些开发者 ,让他们知道他们的网站并不是运行在最受欢迎的移动Web浏览器上 ,让他们知道他们并没有使用那些最受欢迎的浏览器所提供的服务 。如果你是个程序员 ,或者Web开发者 ,你可以使用Molliza开发者ChristianHellman花了不少精力做出的Pre-fixtheweb 。Pre-fixtheweb正在寻找志同道合的开发者 ,帮助他们寻找Github中只运行在Webkit内核上的项目,并且使这些项目增加对其它浏览器的支持 ,为CSS代码中添加一些预定义 ,扩展JS代码来开发适当的特征检测,并发出Pull请求 。换句话说 ,就是修复整个Web 。
我们Webmonkey的工作人员希望开发者意识到开发只针对WebKit的网站是在浪费时间 。如果你只对iOS用户感兴趣 ,就学 Instagram只开发本地App好了。正如Hewlett-Packard’sCSSWG代表PeterLinss,所说的,“在Web中 ,只开发针对特定平台的网站没有任何优势可言 。 ”对于开发者来说 ,这的确没有任何优势 ,特别是有一个自动的预定义的工具可以代替你所有工作的时候 。如果你想让你的网站支持整个Web ,慢慢学习技术 ,使你的网站能够支持整个Web。擅长做你所做的事情 ,并且要以正确的方式去做 。
原文出处:WebKit Isn’t Breaking the Web. You
阻碍Web开放的不是WebKit ,而是Web开发者的短视
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!