Chrome OS,对程序员和Windows意味着什么?
Chrome OS 和 Chrome Web Store 终于算是正式发布了,好象这个发布,不象微软的Windows7,Phone7这样动静大。但是Google刻意的低调下面,蕴藏着一场操作系统的革命。
原因在这里:
之前大家一直都以为 Chrome OS 主要针对上网本市场,而且在去年 Chrome OS 项目刚刚宣布的时候,Google官方也是这么说的,但昨天晚上的新闻发布会上,Google 根本就没有提到过上网本,一直都是在讨论笔记本。甚至,Google 还在 Chrome的新标签页上赤裸裸的问大家:
你想要体验一把 Chrome 笔记本吗?
可能大家对于这个笔记本,上网本,台式机,手机的市场了解的不是很深刻。让我们先回顾下历史:
先回到30年前,当时还是大型机,终端机的型式,80年代初,微机蛋生了。微机的蛋生破壳,让电脑进入到个人的桌面上成为可能。
那个时候的微软的Bill Gates, 目光穿越了30年的时空,看到了现在大量的个人电脑的运用,于是推出了DOS1.0,它是微软买下 86-DOS(QDOS)版权,1981年7月,成为 IBM PC上 第一个作业系统。同时微软又为IBM PC开发专用版本 PC-DOS。一举奠定了微软操作系统的统治地位。
30年河西,30年河东,30年后的今天,同样的一幕正在上演,不过本次的主角换成了Google,Google的领路人,同样又以超越时空的目光,看到了30年以后的未来世界,那个时候的世界和现在的世界有一点是一致的,就是智能设备如电脑,手机这些玩意仍然无处不在。
但是有一点最大的不同:
现在的人是在固定的地方用电脑,比如在公司做电脑面前坐一天,回家坐电脑面前一动不动。可以总结为“电脑在哪里,人就在哪里”
在未来,人们不在需要象这样没人性的坐在终端面前敲敲打打,以电脑为中心,那个时候人们想去哪去哪,电子设备都是接入云里,在哪都是一样的。网络和电子设备,必然会象空气一样包围着你。,可以总结为“人在哪里,电脑就在哪里”
可以看出,未来的趋势,人们更倾向于移动,无缝链接。电子设备,数据应该象衣服穿在身上一样自然。
上面说了这么多,无非是想说明一个未来人们对电脑的使用趋势。就是从传统固定式的PC机,正在向便携式,移动的手机,笔记本,上网本转移,最终PC机,必将消亡。
在这样的大趋势下,不是操作系统选择用户和电脑,而是用户和电脑,来选择操作系统。Windows,选择了错误的方式,继续以庞大的体积开发下一代,最后的战线是固守Server端,企业级应用。
作为新兴市场的竟争者Google,则野性爆发,先是手机,然后上上网本,现在更把目标锁定到笔记本上,考虑到台式机未来的消亡被笔记本取代,Google其实已经野心暴露,就是要取Windows而代之。成为终端系统的标准。
Google野心勃勃,MS不肯让位,一场操作系统大战即将开演。从目前双方的目标,意图和趋势发展看,MS会退守Server端,让出桌面系统,Google占据终端系统。
这样的一个复杂局面,让我们这些低级开发者,难于选择。选择错技术展方向,跟错老大,后果是惨痛的。曾经的伤痛比如Borland的Delphi,Sun的Java,现在的.net正遇到一个类似的关口。
在桌面应用级开发,无论是Winform,WPF,SilverLight,都是浮云,无法应用,打不开局面。还没开始,就已结束。
在Server端Web应开上,Asp.net到Ajax.net再到什么MVC,还是浮云,只有不是很成功的过去,没有光明的未来。
从现在的呼声来看,JQuery+CSS3+Html5,到是个从桌面到Web应用通吃的组合。未来的界面层很可能就是它。
而底层的开发,还是传统的C,C++,服务端后台,到是百花齐放,C#,Java,还有很多动态语言。
那么我们这里总结一下:未来的技术主要是分三层:
界面层:为了适应不同的界面,屏幕及应用,必须要有一个行业通用的标准,它就是从Html进化过来的Html5+CSS3+Javascript这样的一个组合。
中间层:就是服务器应用层,这一层上无需直接显示,下不用和硬件打交道,它是抽象的,所以可以百花齐放,爱用什么就用什么,什么顺手就用什么,什么效率高就用什么,什么便宜免费就上什么。C#,Java,F#,PHP等等等等。全可以上。
系统层:目前来看还是C,C++,或者是类C/C++比如Objective C这类的。从发展来看,这一层演变非常慢,连进化到面象对象都很困难。
从技术的角度看,三个层次的开发语言,技术,用法差异越来越大,象CSS和C的差异,已经超过了猴子和人类的差别。程序员要想通吃已经很困难,在未来,不得不在庞大的技术分支里寻找一个定位。
那么如何面对未来复杂的局势呢?
1.精选一个方向,深入发展学习可能是一个比较好的办法。
2.另外值得一提的是:界面层和系统层的技术发展变化已经比较稳定,值得在这方面投资时间和精力。而中间层百花齐放,死抱里面的一个或指望里面的一个长久不是个好办法,比如抓住Java,SilverLight,F#这类的作为救命稻草,可能会对程序生涯产生危险。
3.还有一种方法就是什么技术领先,流行就去学什么,比如SilverLight,WPF,F#,等等,但要小心这些昙花一现的技术,在消耗掉大量的时间成本后,留下的是一地鸡毛!
如果Chrome OS大量应用到桌面电脑上,我们程序员怎么办?尤其是我们这些Windows下的程序员,希望大家也来讨论下。