2019年9月5日 星期四

在瀏覽器中執行 Python Script

自從 Netscape 開發了 Javascript 並用在自家瀏覽器以來, Javascript 便是前端網頁程式的王者. 據說當初 Netscape 也評估過採用 Python 的可行性, 但最終不知為何否決了這個選項. 我想若前端也能使用 Python 的話, 學習者便不需要學習這麼多技術了.

今天找到下面這篇很棒的文章, 介紹了幾種在瀏覽器上執行 Python 程式的解決方案, 讓我非常振奮 :

Running Python in the Browser

作者 Shaun Taylor-Morgan 任職於提供全功能網頁應用程式平台的 Anvil 公司, 該公司即只採用 Python 來打造全套網頁應用服務. 此文彰顯一個訴求, 即以往只能使用 Javascript 來打造網頁介面的局面已被打破, 目前至少有下列五種技術可在瀏覽器中執行 Python 程式以取代 Javascript 的功能 :


 前端 Python 技術 技術說明
 1. Transcript  提供 CLI 工具將 Python 轉譯成 Javascript
 2. Brython 提供 brython.js 函式庫轉譯所嵌入之 Python 程式碼
 3. SKULPT 直接在瀏覽器中建立 Python 執行環境 (REPL)
 4. PyPy.js Python 解譯器的 Javascript 實作
 5. Batavia 在 Python 虛擬機器上執行編譯過的 bytecode
 6. Pyodide 提供 PyPy.js 函式庫, 以 Javascript 實作 Python 解譯器


前三種技術基本上就是將 Python 翻譯成 Javascript 後交給瀏覽器的 Javascript JIT 引擎執行; 而後兩者擇式則是在瀏覽器中先佈置 Python 虛擬機器或執行環境來跑 Python byte code 或直接跑 Python 程式碼.

我對 Brython 很有興趣, 這幾天整理完 Javascript 筆記後就來試試看.

沒有留言 :