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下的程序員,希望大家也來討論下。