Windows取代浏览器,还是浏览器取代Windows 的分析

10多年以来,萦绕在M$公司高管头脑中挥之不去的一个梦魇就是:有一天,也许浏览器将会取代Windows,Windows本身将不再重要。没有人再真正需要Windows,他们只需要一个浏览器。

当10多年前Netscape的浏览器首次支持Java Applet,曾经有预言家说一个新的时代要开始了,在这个新的时代中,所有的应用都是基于浏览器建造的,Windows将不再重要。M$感到了巨大的威胁,动用他们所有的力量,采取各种合法和非法的手段,包括免费下载、操作系统捆绑等等,花费了大约3年时间,彻底消灭了Netscape这个刚刚冒头的终结者人选。没有办法,Netscape实际上并没有可靠的盈利模式,拼流血是完全拼不过M$的。

10年过去了,SAAS的时代快要到来了。在未来SAAS的时代,大多数套装软件很可能都将会转向在线服务。iPhone的意义在于什么?范凯认为最大的意义在于它开启了SAAS的广阔市场,我完全同意这个观点,InfoQ最近的一篇文章也表达了相同的观点。
SaaS could get an unexpected boost from the iPhone

就目前来看,iPhone应用几乎是完全基于浏览器的,核心就是Safari的引擎,Widget基于DHTML来开发,完全支持Mobile Ajax。如果将来有一半的人都使用类似iPhone的移动智能设备上网,谁还会care Windows。什么是Windows?哦,你是说我奶奶用过的那种操作系统吗?

浏览器成长为一种强大的开发平台,是完全符合Apple和Google这些公司的利益的,所以他们会在后面努力推动这个趋势成为现实。Google前一段时间推出的离线存储插件就是第一波行动。

然而,大多数应用都基于浏览器来建造,完全不符合M$的利益。正相反,对他们的威胁非常大。因为目前浏览器已经完全标准化了,想要通过提供独有的功能挑起一场新的浏览器大战,可能性不大,而且此举还会招来无数骂名,甚至会进一步降低IE的市场份额(目前已经降低到了78%)。所以IE现在已经不再是M$的核心利益所在了,这是IE这些年发展迟缓的最大原因。不是M$不进取,而是浏览器必须要兼容Web标准,他们可以玩的花头不多,无法自由地制定游戏规则。

M$的对策是什么呢?通过推广他们的RIA技术,他们希望将来的开发者忘记浏览器,完全基于WPF和XAML来做开发,不需要区分桌面应用还是Web应用,这样他们就可以自由制定游戏规则。Silverlight只是抛向浏览器开发者的一个诱饵。如果将来大多数开发者基于WPF/Silverlight来做开发,那么他们还是无法摆脱Windows,M$仍然将统治桌面,进而扩大在服务器端的市场份额。

嘿嘿,风水轮流转,令M$高管最为恐惧的这个梦魇又回来了。这次的对手可不是像Netscape那样刚出道的小毛头,个个都是老千级的人物,财大气粗。靠拼流血几乎完全无法奏效,因为他们都有着非常可靠的盈利模式。

所以,今后几年我们看到的博弈,主要就是围绕这个主题来展开:Windows取代浏览器,还是浏览器取代Windows。

(0)

相关推荐

  • Windows Server 2008R2文件服务器升级到Windows Server 2016

    用户单位有2台Windows Server 2008 R2的文件服务器,已经加入到域.域服务器另有两台,是Windows Server 2016的操作系统.因为Windows Server 2008 和 2008 R2 技术支持将于2020年1月14日结束,所以用户想将这2台Windows Server 2008 R2的文件服务器升级到Windows Server 2016.这2台文件服务器有共享文件夹,文件夹权限配置较多,用户要求在升级到Windows Server 2016后,需要保留原来的

  • js无提示关闭浏览器窗口的两种方法分析

    1,使用js: 用多种方式打开一个页面,然后用 window.close() 关闭它,在各浏览器下表现有所不同.如在地址栏中直接输入URL 时,Firefox Chrome Safari 下调用 window.close() 关闭页面无效.再如 Ctrl + 点击链接打开的窗口,Firefox 下无法通过调用 window.close() 来关闭. firefox下无法关闭可能原因: 不是JS代码window.close()的问题,而是Firefox的配置问题,解决方法如下: 在Firefox地

  • python爬虫模拟浏览器的两种方法实例分析

    本文实例讲述了python爬虫模拟浏览器的两种方法.分享给大家供大家参考,具体如下: 爬虫爬取网站出现403,因为站点做了防爬虫的设置 一.Herders 属性 爬取CSDN博客 import urllib.request url = "http://blog.csdn.net/hurmishine/article/details/71708030"file = urllib.request.urlopen(url) 爬取结果 urllib.error.HTTPError: HTTP

  • 浏览器缓存知识小结及应用分析

    浏览器缓存,也就是客户端缓存,既是网页性能优化里面静态资源相关优化的一大利器,也是无数web开发人员在工作过程不可避免的一大问题,所以在产品开发的时候我们总是想办法避免缓存产生,而在产品发布之时又在想策略管理缓存提升网页的访问速度.了解浏览器的缓存命中原理,是开发web应用的基础,本文着眼于此,学习浏览器缓存的相关知识,总结缓存避免和缓存管理的方法,结合具体的场景说明缓存的相关问题.希望能对有需要的人有所帮助. 1. 浏览器缓存基本认识 它分为强缓存和协商缓存: 1)浏览器在加载资源时,先根据这

  • Windows下ORACLE 10g完全卸载的方法分析

    Windows下ORACLE完全卸载:使用OUI可以卸载数据库,但卸载后注册表和文件系统内仍会有部分残留.这些残留不仅占用磁盘空间,而且影响ORACLE的重新安装及系统性能. 在WINDOWS下卸载ORACLE 10g的步骤:1 删除聚集同步服务CSS(Cluster Synchronization Services).如果数据库配置了自动存储管理ASM,应该先删除CSS服务,因为ORACLE不会自动删除这个服务.在DOS命令下使用localconfig delete命令可删除该服务. C:\D

  • Windows平台Python连接sqlite3数据库的方法分析

    本文实例讲述了Windows平台Python连接sqlite3数据库的方法.分享给大家供大家参考,具体如下: 之前没有接触过sqlite数据库,只是听到同事聊起这个. 有一次,手机端同事让我帮着写个sql,后面说运行不了报错了,我问是什么数据库,同事说是sqlite,这才知道了还有sqlite这个数据库... 接下来说说Python连接sqlite数据库,非常简单,因为python中的sqlite模块也遵循了DB-API 2.0的规范,所以操作起来和sql server.MySQL.oracle

  • jQuery手机浏览器中拖拽动作的艰难性分析

    本文实例分析了jQuery手机浏览器中拖拽动作的艰难性.分享给大家供大家参考.具体如下: 本想在手机网页中实现一个如iphone可以随意拖动的控制按钮的,但是最后发现竹篮打水一场空, 虽然拖拽动作在手机浏览器中司空见惯,但是在手机浏览器中,要想实现可以被拖拽的组件,却是一件不可能的事情. 先来看看在PC网页中,拖拽动作是怎么做的, 首先,我们有一个按钮,点击有动作,一直按着不放,可以随意拖动,就像iphone可以随意拖动的控制按钮一样, 如上图的灰色图层,写出来也不甚容易, 首先,要把灰色图层的

  • Windows取代浏览器,还是浏览器取代Windows 的分析

    10多年以来,萦绕在M$公司高管头脑中挥之不去的一个梦魇就是:有一天,也许浏览器将会取代Windows,Windows本身将不再重要.没有人再真正需要Windows,他们只需要一个浏览器. 当10多年前Netscape的浏览器首次支持Java Applet,曾经有预言家说一个新的时代要开始了,在这个新的时代中,所有的应用都是基于浏览器建造的,Windows将不再重要.M$感到了巨大的威胁,动用他们所有的力量,采取各种合法和非法的手段,包括免费下载.操作系统捆绑等等,花费了大约3年时间,彻底消灭了

  • JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)

    一.JavaScript简介 JavaScript是一种解释执行的脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,它遵循ECMAScript标准.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,主要用来给HTML增加动态功能. 几乎所有主流的语言都可以编译为JavaScript,进而能够在所有平台上的浏览器中执行,这也体现了JavaScript的强大性和在Web开发中的重要性.如Blade:一个Visual Studio扩展,可以将C#代码转

  • java selenium 操作浏览器实例

    本篇文章介绍selenium 操作浏览器 阅读目录 浏览器最大化 前进,后退, 刷新 截图操作 模拟鼠标操作 杀掉Windows浏览器进程 浏览器最大化 前进,后退, 刷新 public static void testBrowser(WebDriver driver) throws Exception { driver.get("http://www.cnblogs.com/tankxiao"); Thread.sleep(5000); // 浏览器最大化 driver.manage

随机推荐