对WEB应用及WEB浏览器的一些思考
2012-07-03 00:03
225 查看
面对当今纷繁的web技术,各种眼花缭乱的web应用极大的丰富的人们的生活。在工程师们不断地惊叹各种层出不穷的新技术的同时,用户却在为各种莫名奇妙的死机和崩溃而恼怒着。web应用的稳定性问题越来越让用户难以接受了。
与桌面应用程序的不同之处在于,web应用只需要一个浏览器即可运行。但是在一个新技术层出不穷、浏览器百家争鸣的时代,各浏览器互不兼容的问题往往让开发人员和用户甚为恼火。一些技术,某个浏览器支持而某些却不支持,即使是相同的技术,在实现细节上也不尽相同。开发人员使用某个浏览器编写并调试好了程序,但是到了别的浏览器下程序却无法运行甚至崩溃。于是开发人员不得不为了一个简单的功能而不断地在各种浏览器上重复试验,以确保代码在大部分浏览器上可以运行,这导致的结果就是开发效率低下。另外对于大多数拥有完美主义情绪的工程师来说,看着自己的代码里充斥着各种补丁,就如同C++工程师阅读微软的vc++代码一样,那种肮脏和厌恶的感觉会让你产生一种砸了电脑的冲动。
很明显,浏览器是web应用的基础,作为浏览器厂商,都有竞逐新技术以保持产品和企业生命力的需求。但是在竞逐的同时,有没有考虑到这种行为带来的后果和负面影响呢?新技术每天都在添加进来,改进每天都在发生,于是你自以为是地做着各种升级,欣喜若狂地通知你的用户“xxx版本已经可用”。用户当然希望用到更好的产品了,于是他们会选择升级。可是,用户可以忍受偶尔的升级,但是不能忍受频繁甚至每天都去升级。频繁的升级,最终的结果就是激怒了用户。因为你不能保证你的产品始终保持一致的风格。可能你不经意的一个小改动,会彻底打破用户的使用习惯。面对频繁的升级和更新,用户会产生一种抵触心理,一旦这种抵触心理的底线被打破,你的产品就会被视为垃圾,你的企业、公司就会被附着上流氓的印记。为此用户会很受伤,一旦他知道了某个产品具有替代性,他就会立即把你的产品剔除出去。作为浏览器厂商,面对新事物,一方面要去跟,但是另一方面,你又不能要求用户每天都去更新你的产品。这中间就产生了一个矛盾,要怎么去解决呢?或许这个问题真的值得Chrome和FireFox等主流浏览器去深思。
其次,作为web应用程序的开发者,面对浏览器的不统一,你所能做的只有尽可能多的支持主流浏览器。注意,仅仅是支持主流浏览器,而不是所有浏览器。仅此而已,就已经极大地降低了你的团队的研发效率。而你又不能去要求用户为了你的web应用而特意安装某个浏览器,就像我们不能要求用户登录网银要用IE,而浏览网易要用FireFox一样。如果用户没有FireFox呢?面对一个紧急的事情,你告诉用户只支持FireFox?我想等用户下载、安装、打好补丁装好插件时,黄花菜都凉了。另外,对于大多数web应用程序,用户是不知道你的程序是基于那款浏览器开发的,用户所知道的只有使用浏览器来打开它。当用户一次次尝试打开,而页面一次次崩溃、甚至死机的时候,用户想到的或许不是浏览器有问题,而是你的web程序有问题。这种问题就如同使用淘宝和京东来购物一样,如果用户想买某样东西,可淘宝始终打不开,而京东恰好打开了,那么用户肯定会买京东的物品了。道理就是这样的,你要么去花费代价支持它,要么就得去承担那些无形的损失。因为浏览器的不统一,带来的不单单是开发成本的增加,更多的是应用之后的潜在损失和巨大的维护成本。所以诸多企业的开发团队不得不告诫自己一定要小心谨慎,因为大家都知道,一旦上了“贼船”,想下来可就没那么容易了。这在无形中让诸多web应用开发者产生了一个共同的心声,那就是期盼武林纷争的年代尽早结束,期盼标准的出现和某家浏览器尽早一统江湖。然而,这又谈何容易呢?
对于web技术,未来依旧是血雨腥风,打造一款好用、易用的浏览器依旧充满了挑战,下一个胜出者会是谁呢?
与桌面应用程序的不同之处在于,web应用只需要一个浏览器即可运行。但是在一个新技术层出不穷、浏览器百家争鸣的时代,各浏览器互不兼容的问题往往让开发人员和用户甚为恼火。一些技术,某个浏览器支持而某些却不支持,即使是相同的技术,在实现细节上也不尽相同。开发人员使用某个浏览器编写并调试好了程序,但是到了别的浏览器下程序却无法运行甚至崩溃。于是开发人员不得不为了一个简单的功能而不断地在各种浏览器上重复试验,以确保代码在大部分浏览器上可以运行,这导致的结果就是开发效率低下。另外对于大多数拥有完美主义情绪的工程师来说,看着自己的代码里充斥着各种补丁,就如同C++工程师阅读微软的vc++代码一样,那种肮脏和厌恶的感觉会让你产生一种砸了电脑的冲动。
很明显,浏览器是web应用的基础,作为浏览器厂商,都有竞逐新技术以保持产品和企业生命力的需求。但是在竞逐的同时,有没有考虑到这种行为带来的后果和负面影响呢?新技术每天都在添加进来,改进每天都在发生,于是你自以为是地做着各种升级,欣喜若狂地通知你的用户“xxx版本已经可用”。用户当然希望用到更好的产品了,于是他们会选择升级。可是,用户可以忍受偶尔的升级,但是不能忍受频繁甚至每天都去升级。频繁的升级,最终的结果就是激怒了用户。因为你不能保证你的产品始终保持一致的风格。可能你不经意的一个小改动,会彻底打破用户的使用习惯。面对频繁的升级和更新,用户会产生一种抵触心理,一旦这种抵触心理的底线被打破,你的产品就会被视为垃圾,你的企业、公司就会被附着上流氓的印记。为此用户会很受伤,一旦他知道了某个产品具有替代性,他就会立即把你的产品剔除出去。作为浏览器厂商,面对新事物,一方面要去跟,但是另一方面,你又不能要求用户每天都去更新你的产品。这中间就产生了一个矛盾,要怎么去解决呢?或许这个问题真的值得Chrome和FireFox等主流浏览器去深思。
其次,作为web应用程序的开发者,面对浏览器的不统一,你所能做的只有尽可能多的支持主流浏览器。注意,仅仅是支持主流浏览器,而不是所有浏览器。仅此而已,就已经极大地降低了你的团队的研发效率。而你又不能去要求用户为了你的web应用而特意安装某个浏览器,就像我们不能要求用户登录网银要用IE,而浏览网易要用FireFox一样。如果用户没有FireFox呢?面对一个紧急的事情,你告诉用户只支持FireFox?我想等用户下载、安装、打好补丁装好插件时,黄花菜都凉了。另外,对于大多数web应用程序,用户是不知道你的程序是基于那款浏览器开发的,用户所知道的只有使用浏览器来打开它。当用户一次次尝试打开,而页面一次次崩溃、甚至死机的时候,用户想到的或许不是浏览器有问题,而是你的web程序有问题。这种问题就如同使用淘宝和京东来购物一样,如果用户想买某样东西,可淘宝始终打不开,而京东恰好打开了,那么用户肯定会买京东的物品了。道理就是这样的,你要么去花费代价支持它,要么就得去承担那些无形的损失。因为浏览器的不统一,带来的不单单是开发成本的增加,更多的是应用之后的潜在损失和巨大的维护成本。所以诸多企业的开发团队不得不告诫自己一定要小心谨慎,因为大家都知道,一旦上了“贼船”,想下来可就没那么容易了。这在无形中让诸多web应用开发者产生了一个共同的心声,那就是期盼武林纷争的年代尽早结束,期盼标准的出现和某家浏览器尽早一统江湖。然而,这又谈何容易呢?
对于web技术,未来依旧是血雨腥风,打造一款好用、易用的浏览器依旧充满了挑战,下一个胜出者会是谁呢?
相关文章推荐
- 关于.NET WEB应用系统UI层的一些思考
- 对Spring.Net的AOP一些思考及应用
- 企业Web应用以谁为中心:服务器?浏览器?
- 关于企业应用SAP成本管理模式与方法的一些思考
- web应用自动检测客户端浏览器,并转跳到不同页面
- 从事web开发方向的一些思考
- web应用中浏览器与服务端的编码和解码
- JS动态修改单网页web应用在微信浏览器中的title
- 关于浏览器核心的一些思考
- ionic 实现 应用内(webview中html页面点击) 和 应用外 (浏览器html页面点击) 打开本地安装应用
- 关于机器学习应用的一些思考
- C++虚函数探索笔记(3)——延伸思考:虚函数应用的一些其他情形
- Android应用架构的一些思考-从零开始
- 对Spring.Net的AOP一些思考及应用
- 我对.Net应用价值的一些思考
- 基于Web开放平台的应用的开发的一些研究
- web基于浏览器的本地存储方法应用
- web应用中浏览器与服务端的编码和解码
- 解决web应用用户退出系统后浏览器后退问题