C++-Tandem-Compiler Duetto bald Open Source und umfangreicher als Emscripten
Kommentare

Duetto verwandelt Euren C++ Code in Maschinencode für den Server und JavaScript für den Client — wenn der Compiler denn mal fertig ist. Während wir noch auf Ergebnisse warten, sprachen wir schon

Duetto verwandelt Euren C++ Code in Maschinencode für den Server und JavaScript für den Client — wenn der Compiler denn mal fertig ist. Während wir noch auf Ergebnisse warten, sprachen wir schon einmal mit den Entwicklern des Tools, was sie damit in Zukunft vorhaben.

PHP Magazin: Wann können wir mit einem Release rechnen?

Duetto-Team: Duetto ist bereits in einem guten Zustand und seine Funktionalität ist weitgehend komplett. Das Frontend des Compilers werden wir noch polieren, um die Portierung existierender Anwendungen in Web-Apps, aber auch das Erstellen neuer Apps, so angenehm wie möglich zu gestalten. Das wird voraussichtlich noch um die sechs Monate dauern. Ein paar Entwickler in unserem Bekanntenkreis haben Zugang zur Beta-Version, womit sie für Feedback und interessante Demos sorgen.

PHP Magazin: Wie werdet Ihr Duetto vermarkten?

Duetto-Team: Duetto soll Open Source unter Dual-Lizenz vermarktet werden: kostenlos für nicht-kommerzielle Open-Source-Anwendungen und mit Bezahlmodell für kommerziellen Einsatz.

PHP Magazin: Was habt Ihr für Erfahrungen im Open-Source-Bereich? Was sind dort die Pläne?

Duetto-Team: Wir sind absolut dahinter, Duettos Quellcode zu veröffentlichen und so viel Upstream wie möglich zum LLVM beizusteuern. Ich (Alessandro Pignotti) bin nicht neu im Open Source Business, da ich der Autor von Lightspark bin, dem Open Source Flash Player.

PHP Magazin: Wie sieht es mit Reverse Engineering aus? Kann man aus kompiliertem JavaScript nicht die Architektur entziffern?

Duetto-Team: In Duetto muss C++-Code erst einmal die reguläre Clang/LLVM-Pipeline durchlaufen, bevor er in JavaScript umgewandelt wird. Das ist derselbe Pfad, Assembler zu kompilieren, wie in jeder anderen Architektur auch, also x86 oder ARM. Das generierte JavaScript ist nicht leichter lesbar als entsprechender Maschinencode oder Assembler. Überdies ist einer der typischen Optimierungsschritte für JavaScript die Minimierung, die Informations-Überbleibsel wie Variablen oder Methoden-Namen zerstört.

PHP Magazin: Warum habt Ihr alles neu gemacht, statt mit dem sinnverwandten Tool emscripten zu arbeiten?

Duetto-Team: Duetto ist mehr als nur ein C++-zu-JavaScript-Compiler (im Gegensatz zu Emscripten). Es eignet sich auch zur serverseitigen Entwicklung und bietet transparente Remote Procedure Calls für eine hochintegrierte Client/Server-Programmierung. Mit Emscripten hat man sich sehr bemüht, existierende C++-Anwendungen ins Web zu holen, indem man HTML5 und JavaScript einsetzt, aber da es ein Erstlingsprojekt ist, denken wir, dass seine Lösungen nicht optimal sind.

Wir verwenden einen anderen Ansatz zur Kompilierung, der die modernen JavaScript-Engines der Browser besser ausnutzt, und der sich besser in Funktionalitäten wie WebGL oder andere HTML5-APIs integriert, um C++-Entwicklung für das Web zu verbessern.

PHP Magazin: Vielen Dank!

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -