現在、デスクトップJavaアプリケーションを出荷しています。これは単純な古いJava 5 Java/Swingアプリであり、これまでのところすべてがうまく機能しています。 Java 5は、Java 6を持たないOS Xバージョン/コンピューターを使用していたユーザーがいるため、5がターゲットになりました(この制限は間もなく解除され、新しいJavaに切り替えてユーザーを放棄する可能性があります) Javaで立ち往生5)。
Clojureにすぐに慣れてきましたが、Clojure-to-JavaおよびJava-to-Clojureの多くはまだ行っていません。Javaアプリケーション?
私が出荷しているアプリケーションは現在約12 MBで、すべての。jarが含まれているため、Clojureを追加してもそれほど問題にはなりません。
私の計画は、Clojure呼び出しJava APIを使用することです。私のアプリケーションはすでにいくつかの独立したjarに分割されています。
JavaからClojureを正しく呼び出すことは、ClojureからJavaコードを呼び出すよりも難しいことを理解しているので、基本的にすべてのUI(UIの一部、Swingコンポーネントと自作のBufferedImagesの混合の必要性)を書き換えます網膜ディスプレイの台頭のためにとにかく書き直されるべきです)、そしてClojureからのすべての「配線」を行います。
それが私が直面している問題です。Clojureデスクトップアプリを出荷することは現実的ですか? (確かにあまり普及していないようですが、プレーンなJavaデスクトップアプリを出荷することもそれほど一般的ではなく、とにかくやっています)
技術的には、何をする必要がありますか? (Javaアプリの出荷と比較して)
はい、それは完全に現実的です-多くの人々はまだそうしているようには見えませんが、それは時間の問題だと思います(Clojureは結局かなり新しいです!)
私は個人的に、Swingアプリケーション(https://github.com/mikera/ironclad)として実行されるオープンソースのゲームをClojureで書いたので、役立つかもしれないいくつかの経験を共有します。
main(...)
メソッドを使用して、Javaベースの「ローダー」を記述したい場合があります。特に、これはClojureコードをAOTコンパイルする必要がないことを意味します。ここにコード例: https://github.com/mikera/ironclad/blob/master/src/main/Java/ic/IronClad.Javasrc/main/resources
に入れることができ、実行時にロード/コンパイルされます。