首頁 Javascript General Javascript發展歷史與未來
Javascript發展歷史與未來 列印 填寫電子郵件
(0 位用戶參與評分, 當前平均得到 0 顆星星)
Javascript / General / Eddy Chang / 週日, 13 九月 2009 19:26
這一篇文章是看了Douglas Crockford的「JavaScript:The World's Most Misunderstood Programming Language」之後,也收集了很多相關的資料寫出的。

Javascript是目前Web程式開發最重要的程式語言,是一種Script語言(指令碼語言、腳本語言),在瀏覽器(客戶端)的程式語言領域,幾乎沒有其它的程式語言可以與之對敵。有許多不同的名字或類似的名稱與之有關係,像是Mocha、LiveScript、JScript、ECMAScript。當然,首要的誤解在於名稱,Javascript與知名的程式語言Java事實上並沒有太大關係,Javascript的語法相較於Java,和C語言還比較相似,Javascript是在1996年由網景(Netscape)開發出來的程式語言,當時也是為了自家的瀏覽器所制定。而Java是由昇陽公司所開發的語言,會使用Javascript的名稱純粹是為了和昇陽公司商業合作的考量。script字尾意謂著Javascript是一個腳本語言,而非程式語言,程式語言的結構相對會比較複雜,在能力上也較強,但在現今電腦資訊硬體和網路愈來愈發達的年代,腳本語言的優秀的開發效率更好、學習容易且結構簡單,成了現今非常重要的應用程式開發的一類。


當然,Javascript的誤解很多,像是早期的Javascript並不是可以搬得上抬面的程式語言,只是用來作一些動態選單、圖片特效的網頁小程式。但是,因為在2005年之後,Jesse James Garrett提出集合多種技術的AJAX應用說法Oreilly提出的Web 2.0應用說法之後,這個與各瀏覽器支援的客戶端程式語言,突然像是冰在冷凍庫中很久的冷飯,被拿出來熱炒了一翻,要注意這期間距現在才短短數年而已。當然,Google這家突然間成為這一代的網路霸主,主導著新一代的網路技術與應用,其所憑藉的相關技術,都是當今最熱門的技術發展主軸。

對於許多Web開發工程師而言,現在的Javascript與之前的小程式應用愈來愈無關了。Javascript有其特殊的物件導向屬性,Crockford認為它的物件導向的部份是足以應用的,利用Javascript的雛形(prototype)導向繼承、以及封閉(Closure)特性來定義私有、公開的屬性與方法,物件導向的基本結構仍然可以達成。

姑且不談Javascript的程式有何優缺點,在現今實務上的應用,許多程式設計師因為了AJAX的技術應用,而進到Javascript的程式開發領域。AJAX本來就有太多問題存在,首見的也是最重要的問題,在於不同的瀏覽器的相容問題。在市佔率仍然高達6成的Internet Explorer的瀏覽器市場,看起來也只有位居第二的Firefox瀏覽器(市佔率約2.5成上下),也是血統來自Netscape的瀏覽器,可以與之相對抗。在這場瀏覽器大戰中,Firefox的發展並不會太順利,尤其是遇到了非常會自行發展自有程式語言,以及掌握了大多數的客戶端應用端市場的微軟。

在現今AJAX或Javascript函式庫或框架百家爭鳴的時代,或許這些函式庫或架框的出現,可以幫程式開發師省了不少麻煩事,例如考慮每個瀏覽器相容問題之類的,但是新的麻煩事確逐漸出現。原來的Javascript或是AJAX程式,只是為你作一些簡單的事,現在的程式則是愈來愈像是在瀏覽器上的桌面應用程式,這也許是另一種新式的應用程式類別,但發展之路仍然是非常初期和粗糙,許多的問題,最終都會回歸到Javascript語言本身的設計,就是不夠好或不夠用。瀏覽器相關應用廠商也推出了許多中介的服務方案,例如Adobe AIR或Google Gear,都是為了解決利用Javascript作為桌面應用程式的開發語言的問題。

至於有關於Javascript的未來,我個人則是保持樂觀的態度。這個語言有非常多好的優點,在這一段時間和未來的幾年內,發展性仍然是十分多的,現在已經可以見到像下面這些更先進更新的應用:
  • Palm Pre的webOS使用Javascript作為開發的基礎語言
  • Adobe AIR架框,可以在桌面上執行應用程式,也是使用Javascript作為開發的基礎語言
  • Google仍然是Javascript語言的大推手,除了許多如Ajax API函式庫的提供、GWT框架的發佈等等,瀏覽器也有自行研發的Javascript引擎
總之,Javascript是一個浴火重生的程式語言,Web程式設計師應該用新的態度來學習這個語言,以及如何用這個語言的特性和優點,需要改變自己對新一代的應用程式的想法。畢竟,至少目前到之後5年內,Javascript在瀏覽器客戶端的程式語言地位,是無人能敵的,這一點需要被正視。

評論:

新增回應


驗證碼
更新

關於我something about me

eddy

Eddy Chang

Joomla!台灣站長、資擘(股)軟體工程師

最新留言Latest Comment