Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Pyodide: Python su browser

Pyodide è un progetto di Mozilla che punta a portare e rendere eseguibile Python direttamente da browser.
Pyodide: Python su browser
Pyodide è un progetto di Mozilla che punta a portare e rendere eseguibile Python direttamente da browser.
Link copiato negli appunti

Mozilla ha da tempo in cantiere lo sviluppo di un data science development stack dedicato ai browser web. Dunque non deve stupire che in questi giorni il team della fondazione abbia presentato Pyodide ovvero un Python interpreter, ancora in fase embrionale, che può essere eseguito interamente all'interno di un browser.

Perché Python?

Attualmente l'ecosistema JavaScript, il linguaggio Web maggiormente sfruttato dai browser, non dispone di librerie dedicate al data scienze mature ed efficienti come quelle strutturate su Python. Dunque la scelta di tale linguaggio di programmazione non è arrivata a caso.

Pyodide non è il primo interpreter del genere, in Rete è possibile trovare software simili come ad esempio: Transcrypt, Brython, Skulpt e PyPyJs.

Tuttavia nessuno di questi tool ha soddisfatto le esigenze degli sviluppatori di Mozilla, infatti gli approcci seguiti dai team di tali progetti prevedono la riscrittura di vari scientific computing tool, come ad esempio NumPy, Pandas, Scipy e Matplotlib, in modo da ottenere performance adeguate.

Questa strategia è sicuramente poco efficiente e prevede enormi carichi di lavoro e tempistiche di sviluppo molto lunghe. Mozilla ha quindi optato per restare il più vicino possibile all'implementazione standard di Python e a quella dei vari scientific stack.

emscripten e WebAssembly

Pyodide è stato quindi sviluppato basandosi su emscripten e WebAssembly, che di base permettono di eseguire il codice C sul browser. Nel dettaglio è stato utilizzato come base cpython-emscripten, un piccolo tool open source che punta a rendere utilizzabile Python sul browser sfruttando la standard Python implementation (CPython) ed emscripten per generare un librerie asm.js.

emscripten è un compiler che si occupa di convertire codice C/C++ in WebAssembly. Di fatto funge anche da compatibility layer, permettendo all'utente di sfruttare il browser come se fosse un native computing environment. Fornendo ad esempio un virtual file system e tutti i software necessari al funzionamento del codice Python.

Pyodide si basa dunque su CPython e su alcuni scientific computing packages, come ad esempio NumPy, compilati in WebAssembly tramite l'emscripten compiler.

Cosa rivelano i test?

Trattandosi di un progetto ancora in fase iniziale le prestazioni non risultano essere ancora al top, tuttavia dai test eseguiti dal team di Mozilla è possibile notare come l'esecuzione del Python interpreter all'interno di una JavaScript virtual machine non penalizzi eccessivamente l'esecuzione dei task.

Pyodide è infatti in grado di interagire con le Web API, potendo convertire moltissimi built-in data types da Python in JavaScrvipt e vice versa, proprio grazie all'impiego di WebAssembly e di emscripten.

Via Mozilla

Ti consigliamo anche