Pypyjs: Python-Interpreter auf Javascript portiert

Es ist nur ein Experiment und soll es wahrscheinlich auch bleiben - dennoch zeigt die Javascript-Portierung des Python-Interpreters Pypy, was mit aktuellen Webtechniken möglich ist.

Artikel veröffentlicht am ,
Pypy läuft dank einiger Anpassungen auch im Browser.
Pypy läuft dank einiger Anpassungen auch im Browser. (Bild: Pypy.org)

Viele Programmiersprachen sind deutlich besser geeignet als Python, um Webanwendungen zu erstellen. Dank einer Javascript-Portierung des in Python geschriebenen Python-Interpreters Pypy, lässt sich nun aber damit experimentieren. Eine tatsächliche Einsatzreife wird Pypyjs wohl zwar nicht erreichen, das scheint aber auch nicht das Ziel des Projekts zu sein.

Stellenmarkt
  1. Wissenschaftliche*r Mitarbeiter*in (d/m/w) - Institut für Softwaretechnik und Theoretische Informatik/FG
    Technische Universität Berlin, Berlin
  2. Storage/SAN / Server Senior Administrator (w/m/d)
    Klinikum rechts der Isar der Technischen Universität München, München
Detailsuche

Das wird auch aus der Eigenbeschreibung auf Github deutlich: "Pypy, kompiliert in Javascript, JIT-kompiliert (Python) nach Javascript zur Laufzeit, warum auch nicht". Eine technisch etwas detailliertere Beschreibung zur Funktionsweise und dem Aufbau des Projekts bietet Pypyjs aber ebenfalls.

Demnach handelt es sich dabei um eine angepasste Version von Pypy mit einigen Erweiterungen. Diese umfassen etwa eine Build-Umgebung, die dafür sorgt, dass die Rpython-Toolchain aus Pypy auch mittels Emscripten kompilieren kann. Dazu kommt ein JIT-Backend, das Asm.js zur Laufzeit erzeugt. Ein Javascript-Modul für den dabei entstehenden Interpreter ermöglicht eine Interaktion mit der Javascript-Umgebung, welche als Host genutzt wird.

Außerdem gibt es einen Wrapper, der die kompilierte VM im Browser laden kann und den Zugriff auf diese über eine API erlaubt, sowie ein Skript, um verschiedene Python-Module über ein indiziertes Format ebenfalls laden zu können. Der relativ komplexe Code ist ziemlich groß, so dass das Laden im Browser einige Zeit benötigt. Mit einfachem Python-Code scheint der Interpreter aber keine Probleme zu haben.

Golem Akademie
  1. Masterclass: Data Science mit Pandas & Python
    9./10. September 2021, online
  2. Advanced Python - Fortgeschrittene Programmierthemen
    16./17. September 2021, online
Weitere IT-Trainings

Erstellt worden ist Pypyjs von dem Mozilla-Angestellten Ryan Kelly, den Status eines Hobbyprojekts wird es wohl aber nie verlassen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Neues Betriebssystem von Microsoft
Wir probieren Windows 11 aus

Windows 11 ist bereits im Umlauf. Wir haben die Vorabversion ausprobiert und ein schickes OS durchstöbert. Im Kern ist es aber Windows 10.
Ein Hands-on von Oliver Nickel

Neues Betriebssystem von Microsoft: Wir probieren Windows 11 aus
Artikel
  1. Niedrige Inzidenzen: Homeoffice-Pflicht soll am 30. Juni enden
    Niedrige Inzidenzen
    Homeoffice-Pflicht soll am 30. Juni enden

    Die allgemeine Pflicht zum Homeoffice soll Ende des Monats fallen. Coronatests sollen aber weiterhin in Betrieben angeboten werden.

  2. Nach Juni 2022: Europäische Union will freies Roaming verlängern
    Nach Juni 2022
    Europäische Union will freies Roaming verlängern

    Die Regelung vom Juni 2017 soll verlängert und verbessert werden. Ein Ende von 'Roam like at home' wäre undenkbar.

  3. Websicherheit: Wie KenFM von Anonymous gehackt wurde
    Websicherheit
    Wie KenFM von Anonymous gehackt wurde

    Die Webseite AnonLeaks berichtet, wie das Defacement von KenFM ablief: durch abrufbare Backupdaten und das Wordpress-Plugin Duplicator Pro.
    Von Hanno Böck

derh0ns 07. Mai 2015

Das Problem ist, dass man zum pingen root rechte benötigt, deswegen hat auch der Ping...

M.P. 07. Mai 2015

Ursprünglich von Ansi-C und C++ kommend, habe ich das bei einer Javascript-Weiterbildung...

FreiGeistler 07. Mai 2015

Einspruch. Ich blocke js standardmässig und muss nur selten Ausnahmen zulassen.

twothe 07. Mai 2015

Ich glaube das Kernproblem in der heutigen Webentwicklung ist, dass der durchschnittliche...

qwertü 06. Mai 2015

war nur Spaß, schöne Sache dieses Projekt!


Folgen Sie uns
       


  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Schnäppchen • Dualsense Midnight Black + Ratchet & Clank Rift Apart 99,99€ • Saturn Super Sale (u. a. Samsung 65" QLED (2021) 1.294€) • MSI 27" FHD 144Hz 269€ • Razer Naga Pro Gaming-Maus 119,99€ • Apple iPad Pro 12,9" 256GB 909€ [Werbung]
    •  /