Heim Backend-Entwicklung Python-Tutorial 4 Tools zur Codekonvertierung zwischen Python und JavaScript

4 Tools zur Codekonvertierung zwischen Python und JavaScript

Oct 17, 2016 am 11:54 AM

Python oder JavaScript? Obwohl viele Freunde immer noch darüber diskutieren, wer von beiden derzeit stärker ist und wer bessere Entwicklungsaussichten hat, besteht kein Zweifel daran, dass der Wettbewerb zwischen den beiden im Bereich Web-Frontend eine klare Antwort hat. Wenn wir auf JavaScript verzichten, haben wir basierend auf der Browserplattform nur wenige Projekte zur Auswahl.

Nun, vielleicht ist die Antwort nicht so eindeutig. JavaScript ist zum Konvertierungsziel der Wahl für viele andere Programmiersprachen geworden (Beispiele sind TypeScript, Emscripten, Cor und Cheerp). Python hingegen verfügt über eine große Fangemeinde und eine starke Bibliothek bestehender Bibliotheken, was es zu einer idealen Konvertierungs- oder Übersetzungsoption für JavaScript macht.

Hier sind vier Projekte, die Python erfolgreich in die JavaScript-Welt bringen können:

Transcrypt

Dies ist ein neu entwickelter Python-zu-JS-Übersetzer. Transcrypt legt großen Wert auf die Qualität des generierten Codes. Erstens bleibt so viel wie möglich von der ursprünglichen Python-Codestruktur erhalten, einschließlich Mehrfachvererbung und Lambda-Ausdrücken. Python-Quellcode kann in JavaScript auch Objekte im Namespace direkt aufrufen. Wenn Sie versuchen, in Python auf document.getElementById zuzugreifen, wechselt der konvertierte Code auch zur Verwendung von document.getElementById in JavaScript.

Der Dokumentation zufolge verwendet Transcrypt das abstrakte Syntaxbaummodul von CPython, um diese Übersetzungsaufgaben abzuschließen, auf die programmgesteuert zugegriffen werden kann, basierend darauf, wie Python seinen eigenen Code analysiert. Obwohl sich das Projekt noch im Alpha-Teststadium befindet, zeigt es bereits erstaunliche Erfolge.

Jiphy

Das sogenannte Jiphy steht für „JavaScript rein, Python raus“ – das heißt, es kann beides in beide Richtungen umwandeln. Darüber hinaus kann Code aus beiden Sprachen gemischt werden, bevor er in die andere Sprache konvertiert wird.

Das derzeit größte Manko von Jiphy besteht darin, dass es nur einen Teil des Funktionsumfangs von Python unterstützt. Klassen und Standardparameter werden noch nicht unterstützt, Dekoratoren und Ausnahmen sind jedoch verfügbar. Dies liegt vor allem daran, dass Jiphy auf einer direkten Zeile-zu-Zeile-Übersetzung zwischen Quellcode und Zielcode besteht, aber seine Entwickler beginnen auch, nach neuen Funktionen in ES6 zu suchen, um erweiterte Python-Funktionen zu unterstützen.

Brython

Vielleicht werden wir eines Tages, wenn die Vision von WebAssembly Wirklichkeit wird, in der Lage sein, jede Sprache unserer Wahl für die Webentwicklung auszuwählen. Und Brython hat sein eigenes Verständnis davon – oder zumindest trifft es auf Python 3 zu: Warum warten?

Brython erreicht das Ziel, die Python 3-Version als clientseitige Webprogrammierlösung zu verwenden, indem es alle Schlüsselwörter in Python 3 und die meisten integrierten Plug-Ins über eine Reihe von JavaScript-Bibliotheken emuliert. In Python geschriebene Skripte können direkt zu Webseiten hinzugefügt werden, und Brython unterstützt außerdem eine Reihe erweiterter Python-Modulschnittstellen (Browser) für die Zusammenarbeit bei der Ausführung mit dem DOM, was häufig direkt in JavaScript erfolgen kann.

Brython behält jedoch auch die Einschränkungen bei, die Browser dem JavaScript-Code auferlegen – wie etwa die Nichtunterstützung der lokalen Dateisystemverarbeitung.

RapydScript

RapydScript verspricht, „Python-JavaScript-Code nicht mehr zum Kotzen zu bringen.“ Das Projekt ist konzeptionell ähnlich wie CoffeeScript: Code in Python, Generierung von JavaScript-Code und Wiedergabe von zwei Sprachen gleichzeitig besten Eigenschaften der Person. Auf der Python-Seite verfügt es über klare Syntaxregeln; auf der JavaScript-Seite verfügt es über anonyme Funktionen, DOM-Manipulation und die Möglichkeit, vorhandene JavaScript-Bibliotheken wie jQuery oder den Node.js-Kern zu verwenden.


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Apr 01, 2025 pm 05:09 PM

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Apr 02, 2025 am 07:15 AM

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Apr 01, 2025 pm 11:15 PM

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Apr 01, 2025 pm 10:51 PM

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Apr 02, 2025 am 07:18 AM

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Apr 02, 2025 am 06:36 AM

Verwenden Sie Python im Linux -Terminal ...

Wie bekomme ich Nachrichtendaten, die den Anti-Crawler-Mechanismus von Investing.com umgehen? Wie bekomme ich Nachrichtendaten, die den Anti-Crawler-Mechanismus von Investing.com umgehen? Apr 02, 2025 am 07:03 AM

Verständnis der Anti-Crawling-Strategie von Investing.com Viele Menschen versuchen oft, Nachrichten von Investing.com (https://cn.investing.com/news/latest-news) zu kriechen ...

See all articles