skip to main content

Javascript簡介:JS可以做甚麼,與EMCAScript, VanillaJS的關係

於2020年11月22日更新


Javascript,人們簡稱JS除了是網站開發中的其中一塊基石,還是現在Number 1火最多人用和討論的題目,如果你不知道甚麼是Javascript,和它可以做甚麼的話,就記得留心看了。

Javascript的正名和別名

正名ECMAScript

如果你找有關Javascript東西時,你會常看到ECMAScript 或者ES這兩詞。

其實ECMA(European Computer Manufacturer's Association),是歐洲一個制定標準的機構。

ECMA構制定了Scripting Language標準,也稱ECMAScript,或者直叫ES 。因為Javascript是基於ES標準製作的,所以Javascript屬ES的一種。

如果ES標準變的話,Javascript也會跟著變,所以學Javascript時就看ES有甚麼變化。現在的JS版本的大概基礎就是ES 6,所以別人如在說ES 6,其實就是在說基於ES 6標準的Javascript

別名Vanilla Javascript

Vanilla Javascript這個別名是源於一個網站開發的業內的笑話,對於剛學JS的人可能領略不到笑點在那。那不要緊,如你是初學者的只要記住Vanilla Javascript就是純Javascript的別名就可以了。

如果你本身是網站開發的業行內人,那這個笑話就是源於這個VanillaJS前端框架。這框架是用來諷刺那些對新JS library過度響往的開發人員而設的,因為這笑話,Vanilla Javascript就成了JS別名了。

Javascript用來做甚麼

Javascript最開始是用於網站前端中(不知道甚麼是前端的請看這篇關於甚麼是前端後端)提供網站特效的,你可以看看以下兩個Javascript代碼的簡單例子和其效果

最原始的Javascript代碼是可以直接在網頁瀏覽器運行的一種程序語言。

大概在2010年,Javascript定義改了

隨著Apache Cordova,NodeJS和Electron的發明,Javascript功用就再不僅僅限於在網頁前端做瀏覽器特效了。

Apache Cordova讓Javascript讓JS走進手機app

從大概2010手機app開始流行起,要弄一個手機app挺麻煩的。 由於當時Android版的要用Java寫,iPhone app要用Objective-C, Windows Phone(已經拜拜了~)要用C#寫,所以一個app想要覆蓋所有平台的話就要寫三次。

由Apache推出的Cordova就推出了解決方法,這方法是基於大部份網站開發人員都懂Javascript,而且人數最多而想出來的。Cordova讓你可以用寫網站的知識,就是HTML/CSS/JS,來寫手機app。

原理就是Cordova會將你寫出來的HTML/CSS/JS轉為各平台的代碼。例如你想弄個安桌的,Cordova會將代碼轉成Android app所需的Java代碼。想弄個iPhone app的話,Cordova則將相同的代碼翻譯成Objective-C,這樣開發人員不用一個手機app寫幾次,手機app開發商也省了不少錢。

NodeJS讓JS走進後端

自從NodeJS出來以後,你可以用JS去做後端server side的事,例如可以拿來做網頁伺服器收發訪客請求,創建/刪除主機上檔案,或者轉換檔案格式等等。

因為NodeJS對於傳送小量資料的反應速度非常快,除了一般網站外,很多即時網站通訊例如網上聊天室,股票即時報價等類似應用都會用到NodeJS。

Electron讓JS走進後端桌面應用

Electron是基於NodeJS創造出來,Electron讓JS這語言的功用再上一層樓。使用Electron可以讓你做出類似VSCode, Facebook messenger, Twitch這些桌面應用Desktop app。

所以現在Javascript的定義從以前只是一種用於前端網站特效的程序,進化成可以用於後端,手機app和桌面應用的多端程序語言。

Javascript使用情況

The State of Javascript做了一個很好的關於javascript了的調查,調查現今的專業開發人員使用各類Javascript工具,框架的情況,有興趣可以去看看。

希望這次能讓你對於Javascript是甚麼和它有甚麼作用有多點了解,這次就說到這,感謝你的觀看。

如果你覺得本文有用,想再看更多我寫關於DIY網站開發,Google SEO內容的話,可以以你的電郵進行 訂閱

作者 :- 全端網站開發者,教練

其他文章