Frage

Ich habe ein Open-Source-Java-Datenbank-Migrationstool ( http://www.liquibase.org ), die ich ist unter Berücksichtigung auf .Net portieren.

Die Mehrheit des Werkzeugs (zumindest von einer Komplexität dieser Seite) ist um Logik wie „wenn Sie einen Primärschlüssel hinzufügen und die Datenbank ist Oracle diese SQL verwenden. Wenn Datenbank MySQL diese SQL verwenden. Wenn der Primärschlüssel ist Namen und die Datenbank Postgres diese SQL“verwenden.

Ich konnte die Java-Codebasis gabeln und verdeckte sie (manuell und / oder automatisch), aber als Updates und Fehlerbehebungen der obigen Logik kommen in Ich möchte nicht, dass es für beide Versionen gelten haben. Was würde Ich mag zu tun, bewegen, dass alle Logik in eine Form, die kompiliert werden kann und von beiden Java- und .NET-Versionen naiverweise verwendet.

Der Code ich suche konvertieren enthalten keine erweiterte Bibliotheksnutzung (JDBC, System.out, usw.), die sie deutlich von Java zu .Net variieren würde, so dass ich glaube nicht, das wird ein Thema sein (im schlimmsten Fall es kann um entworfen werden).

Also, was ich suche ist:

  • Eine Sprache, in der ich sie in gemeinsame Teile meiner App in und kompilieren Klassen nutzbar von den „Standard“ Sprachen auf der Zielplattform codieren
  • fügt keine Laufzeitanforderungen an das System
  • Nichts so seltsam, dass es potenziellen Beitrag verscheucht

Ich weiß, Python und Ruby haben beide Implementierungen auf der JVM und CLR. Wie gut passen sie meine Anforderungen? erfolgreich (oder unsuccesful) mit dieser Technik für Cross-Plattform-Anwendungen Hat jemand gewesen? Gibt es Gotcha die ich brauche zu befürchten?

War es hilfreich?

Lösung

Schauen Sie sich die Fantom Programmiersprache . Es hat seine eigene Java-like / C # -ähnliche Syntax, sondern kann entweder die Java VM oder .NET CLR Ziel.

Die "Warum Fantom" gibt Seite einen High-Level Überblick über ihren Ansatz auf Portabilität und dynamische Sprachen auf einer VM ausgeführt wird.

Andere Tipps

Sie könnten etwas Glück haben mit IKVM.NET . Ich bin auf seinen genauen Status nicht sicher, aber es ist einen Versuch wert, wenn Sie auf die Ausführung von Java-Code auf dem .NET Framework hartnäckig sind. Es enthält eine .NET-Implementierung der Java-Basisklassenbibliothek, so scheint es einigermaßen abgeschlossen.

Die einzige andere Option Ich könnte darauf hindeuten, wird der Code der J # Sprache, eine vollständige .NET-Sprache (wenn auch nicht die erste Klasse in dem Sinne, dass C # oder VB.NET ist). Die Sprache wurde so konzipiert, dass die Unterschiede mit Java minimal waren.

Wenn Sie über einen eingebetteten Ansatz denken, Sie bei Lua aussehen könnte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top