任何能被 JavaScript 改寫的軟體,都終將被 JavaScript 改寫
Atwood's Law: "Any application that can be written in JavaScript will eventually be written in JavaScript."
Atwood 定律:任何能被 JavaScript 改寫的軟體,都終將被 JavaScript 改寫。
有什麼東西是早期沒有,後來被 JavaScript 改寫的呢?
Microsoft Office。早期 Office 都是 Windows 軟體,後來出了線上版 Office。現在你可以在瀏覽器上使用 Microsoft Word、Outlook 等等應用程式。
ffmpeg、vim,知名的軟體也被 WebAssembly 改寫成線上版本。
虛擬機器。WebAssembly 出來後,也嘗試在網頁上跑許多作業系統:像是 Linux、Windows 2000 等等。(JSLinux) 桌面應用程式。
許多原本在作業系統中運作的軟體,都搬到瀏覽器上來執行了。更別說那些原本就打著「雲端工作」口號的工具:像是 Gmail、Google Drive 等等。
像是 Photopea 就是個能在瀏覽器上運作的,仿 Photoshop 的網站。
還有在雲端上工作的 Cloud9 IDE、以 VS Code 改的 Code-server等等。
JavaScript 並不只能跑在瀏覽器上,Electron 這個開源項目就是讓你可以以 Web 方式撰寫一個跨平台的桌面應用程式。Slack、VS Code 都是用 Electron 開發的;許多手機 App 也是以 Cordova 等工具,把 Web 放進 WebView 打包成手機 App。
生活中無處不是 JavaScript。你怎麼看?