私は現在、大きなJava/SwingアプリケーションをKotlinに移植すると評価しています。アプリケーションのドメインは、2Dグラフィックス、グラフ、グラフィック編集、シミュレーション/アニメーションです。私はKotlinのアプリケーションコア全体を書き直し、それをJavaバイトコードだけでなくJavaScriptにも移植したいと考えています。私は現在、いくつかのアダプタとブリッジクラスを使用して、JavaウィンドウとHTMLキャンバスの両方でレンダリングするKotlin描画コードを書くことができます。ここまでは順調ですね。KotlinをターゲットとするDependency Injectionの使用方法
私はアプリケーションで集中的に使用している依存関係注入に苦労しています。私はKotlinクラスの依存関係を注入したいが、それらをJVMとJavaScriptに渡すことができるので、私はKotlinのDIフレームワークを探した。 injektとkodeinが見つかりましたが、どちらもJDKクラスに依存しているようですので、JavaScriptの使用例には当てはまりません。私は自分自身の純粋なKotlin DIフレームワークを開発し始めました。これはJavaScript用のKotlin transpilerがまだ反映をサポートしていないことに気づくまで続きました。
近い将来、ジェットブレインのJavaScriptトランスミッターでのリフレクションをサポートする計画を知っている人はいますか?あるいは、誰も依存性注入を使用する純粋なKotlinコードを書く別の方法を知っていますか?JavaとJavaScriptの両方にまだ移植可能ですか?この問題は、私が静的に設定可能な工場に戻ろうとしているかどうかわからないので、私のプロジェクトのKotlinのショーストッパとなるかもしれません。
アレクセイさんの精巧な答えに感謝します。あなたは、JSリフレクションについてのあなたの点を完全に正しいです。私は今までそれを知らなかった。だから、誰かがあなたの将来のコンパイラプラグインに基づいてDIコンテナを提供するまで、私は "貧乏人のDI"(または "純粋なDI")を使うようあなたの助言に従います。あなたのメタプログラミングアプローチについてチームメイトに納得させようとすると幸いです。 JetBrainsでの作業に感謝します。 Javaプログラマとして20年を経た今、私はコトリンでのプログラミングが大好きで、私は戻ってほしくない。 – andreasfl