Pyodide — браузерний інтерпретатор Python від Mozilla

2 хв. читання

На шляху до створення стеку розробки даних для браузерів у Mozilla детально описали Pyodide. Це експериментальний проект Python, призначений для обчислень без використання віддаленого ядра (тобто програми, яка запускає і перевіряє код).

Як пояснив у своєму блозі розробник Майк Дроттбум, це стандартний інтерпретатор Python, що повноцінно працює у браузері. Хоча Pyodide не такий новий проект, як Transcrypt, Brython, Skulpt і PyPyJs, він не потребує переписування популярних обчислювальних інструментів (як от NumPy, Pandas, Scipy і Matplotlib). Його здатність переробляти вбудовані типи даних забезпечує взаємодію між браузерними API й бібліотеками JavaScript.

Pyodide використовує проксі щодо змінної, проксі-сервер зберігає вихідну змінну JavaScript і викликає для неї відповідні методи. Це означає, що будь-яка змінна JavaScript повністю доступна з Python. Такий потужний рівень інтеграції дозволяє користувачу опрацьовувати дані в Python, а тоді надсилати їх у JavaScript для візуалізації.

pyodide-draw

Pyodide базується на WebAssembly, низькорівневій мові програмування, яка працює з майже нативною продуктивністю, і emscripten (зокрема збірці Python для emscripten, що отримала назву «cpython-emscripten»). Emscripten також дає віртуальну файлову систему на JavaScript, яку може використовувати інтерпретатор Python і в якій файли зникають під час закриття вкладки.

Автори кажуть, що проект все ж на стадії розробки й деякі функції ще не підтримуються. Що ж до продуктивності, то інтерпретатор Python всередині віртуальної машини JavaScript працює від 1 до 12 разів повільніше у Firefox і до 16 разів повільніше у Chrome. Така швидкість годиться для інтерактивного дослідження, але навряд підійде для власного коду.

Codeguida 8.1K
Приєднався: 3 місяці тому

Hosting Ukraine

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація