ブログ

日常の忘備録

kotlin/JSがどんなもんなのか調べてみる①

いつかのkotlinブログで言及されていた話ですが、日本でこれに言及している人あまりいないのではと思ったのでとりあえず日本語にして、英語をわざわざ読むほどではないが、KotlinのJSコンパイルに興味があるという日本人が読んでくれることを願います。


kotlin1.1では、kotlinのJavaScriptコンパイル機能が、正式にリリース可能な段階に達しました。もちろん、コンパイラのサポートは実生活の問題を解決するレベルではないので、私達はkotlinをより大きなJavaScriptエコシステムに統合する作業を続けていきます。

今回は、Kotlinとnpmとwebpackとkarmaを統合したGradleプラグインと、Kotlin/JVMで書かれたバックエンドとReactを使ったKotlin/JSのフロントエンドのフルスタックアプリケーションのサンプルの2つのプロジェクトを紹介します。

Koltin Frontend Plugin

kotlinフロントエンドプラグインを使用すると、webpackを使用してkotlinフロントエンドアプリケーションをビルドしてデプロイすることができます。アプリケーションの依存関係にnpmパッケージを使用することが可能です。このプラグインはそれらをダウンロードし、JSファイルにバンドルします。このプラグインはkarmaと統合されていて、アプリケーションのテストを実行することもできます。また、最適なワークフローのために、このプラグインは継続的コンパイルとホットリロードをサポートしているため、常に最新のバージョンのアプリケーションをブラウザに表示しておくことができます。

READMEファイルプラグインの使用方法が記載されています。exampleディレクトリには、実際のプロジェクトでどのように適用されるかの簡単な例があります。

Kotlin React Example

Thinkerは、kotlinに組み込まれた最新のフルスタックアプリケーションの1つの例です。バックエンドはJettyで動作し、Kotlin開発チームによって開発されたKotlin webアプリケーション開発フレームワークKotrを使用しています。フロントエンドはReactを使用します。プロジェクトの一環としてKotlin用のReactラッパーセットが提供されています。プロジェクトのラッパーを使うことで、自分の用途に合わせてラッパーを使用することができます。私達はまだReactラッパーを内部で開発していることに注意してください。そして、そのReactラッパーを別のOSSライブラリとして提供することを検討しています。(@tako_programing<まだ提供されていないみたいだったので、https://github.com/sosukesuzuki/kotlin-react に該当箇所のみforkしました)

React Kotlinのコードがどのように書かれるのかは、thinkerで使われているコンポーネントを見ることで知ることができます。

これらのリリースに関する意見を歓迎しております。GtihubでIssueを出したり、フォーラムでストップしたり、Kotlin Slackの#javascriptチャンネルに参加したりしてください!


ということらしいですね、暇な時にフロントエンドプラグインを使ってみてまたブログでも書こうかなあと思います