Node.js能讓Javascript寫后端,為啥不讓Python寫前端?
問:現在已經可以用javascript(nodejs)寫服務端的代碼,但如果是為了語言一致性的話,為什么沒人去做過python在瀏覽器端的實現呢?
答:這個問題其實與Python沒半毛錢關系,比如可以把最后一句改成為什么沒人去做ruby在瀏覽器端的實現呢?還可以改成為什么沒人去做java在瀏覽器端的實現呢?等等。
從歷史的角度來看,JavaScript的發展一直與瀏覽器密不可分,最初由網景公司的Brendan Eich設計,叫LiveScript,后與Sun公司合作,改為JavaScript。后來Ecma國際以JavaScript為基礎制定了ECMAScript標準。現在大家知道了制定標準的才是最牛B的了吧。
再后來微軟的IE干掉了NetScape后,以為自己已經無敵于天下了,開始搞VBScript,JScript,但是大家看微軟霸占著瀏覽器這個小清新非常的不爽,Firefox、Chrome、Safari等瀏覽器開始出現,Google的V8和Apple的WebKit等牛引擎和框架出來后,JavaScript在瀏覽器端越發如魚得水,而且隨著V8和Node.js的出現開始侵入服務器端。
說到微軟的IE,這里還要插一段,剛剛看到@李松峰老師翻譯了一篇叫做《Internet Explorer的創新》的文章,我們不得不說IE是一個劃時代的產品,而且當年微軟在互聯網領域具備得天獨厚的優勢,Windows獨霸天下、捆綁瀏覽器、MSN等,互聯網領域似乎要延續微軟在PC端的輝煌,一切那么順理成章,但是2000年的微軟市值5000多億,已經是個巨無霸公司,公司政治和權利的影響取代了技術。比如MSN Explorer,當年我們這些菜鳥怎么也想不明白微軟不好好升級IE,弄出這么個華而不實的東西干嘛;比如2000年比爾蓋茨啟動的互聯網計劃,由于Windows之父Jim Allchin的阻止而擱淺;比如遲遲不做搜索;比如Vista的推出用了5年還是個爛貨......曾經有一個機會擺在微軟面前,它沒有珍惜,而世界也因此更加五彩斑斕......所有慵懶的大公司,顫抖吧!
好吧,言歸正傳,那為啥JavaScript可以寫服務器端程序,Python等語言不能去搞前端呢?其實還是標準決定一切。
使用Node.js,開發者面對的是自己開發環境,你只要把自己面對的環境伺候好了就可以了,因為Node.js本身就是建立在標準之上(V8)的東西,而且,Node.js確實簡化了服務器端的異步IO和事件驅動開發,這是它最大的意義。如果只是能在后端運行而毫無特性,估計這個技術的生命力不會長久。
但想讓類似Python的語言在前端運行,你就得搞定所有瀏覽器和瀏覽器廠商。如果有個引擎能搞定Python語言解析,同時又得到各大瀏覽器廠商的支持,那這種可能性也不是沒有。
身邊越來越多的人開始使用Mac,經常被問道Mac的使用問題和技術問題。遂決定,每天發布一則#Mac技巧#。同時發布于微博和微信公眾賬號“Mac技巧”,微信號sagacity-mac,有微信賬號的童鞋掃描下圖片或搜索微信號即可

浙公網安備 33010602011771號