質問

私はオープンソースのJavaデータベース移行ツール( http://www.liquibase.org )を持っています。 .Netへの移植を検討しています。

ツールの大部分(少なくとも複雑さの面から)は、主キーを追加し、データベースがOracleがこのSQLを使用している場合、"のようなロジックを中心にしています。データベースがMySQLの場合、このSQLを使用します。主キーに名前が付けられ、データベースがPostgresの場合、このSQL"を使用します。

Javaコードベースをフォークして(手動および/または自動的に)変換できますが、上記のロジックの更新とバグ修正が行われるため、両方のバージョンに適用する必要はありません。私がやりたいのは、すべてのロジックを、Javaバージョンと.Netバージョンの両方で単純にコンパイルおよび使用できる形式に移動することです。

変換しようとしているコードには、Javaから.Netに大幅に変化する高度なライブラリの使用法(JDBC、System.outなど)が含まれていないため、問題になるとは思わない(最悪の場合)周りに設計することができます)。

だから私が探しているのは:

  • アプリの一般的な部分をコーディングし、「標準」で使用できるクラスにコンパイルできる言語。ターゲットプラットフォーム上の言語
  • システムにランタイム要件を追加しません
  • 潜在的な貢献者を怖がらせることはそれほど何もありません

PythonとRubyの両方がJVMとCLRの実装を持っていることを知っています。それらは私の要件にどの程度適合しますか?クロスプラットフォームアプリケーションでこの手法を使用して成功した(または失敗した)人はいますか?私が心配する必要がある落とし穴はありますか?

役に立ちましたか?

解決

Fantomプログラミング言語をご覧ください。独自のJavaライク/ C#ライクな構文がありますが、Java VMまたは.NET CLRのいずれかをターゲットにできます。

" Why Fantom" ページには、その概要が記載されています。移植性に対するアプローチとVM上で実行される動的言語。

他のヒント

IKVM.NET を使用すると、運がいいかもしれません。正確なステータスはわかりませんが、.NET FrameworkでJavaコードを実行することに固執している場合は、試してみる価値があります。 Java基本クラスライブラリの.NET実装が含まれているため、かなり完全に思えます。

私が提案する他の唯一のオプションは、コードを J#言語に移植することです。完全な.NET言語(ただし、C#またはVB.NETがそうであるという意味ではファーストクラスではありません)。この言語は、Javaとの違いが最小限になるように設計されました。

組み込みのアプローチを検討している場合は、Luaをご覧ください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top