目次
やりたいことがあって、Javaを書く必要が出てきたので、かといってJavaもちょっと飽きたのでkotlinで書いてみることにする。
まずはkotlinの開発環境を構築していく。
開発環境の構築
kotlinのコードが書ける環境を作っていく。
また、kotlinにおける以下も調べる。
- パッケージの管理
- DI
- ユニットテスト
- モックライブラリ
- 時間周りのライブラリ
Intellijの全部入り(?)を契約しているので、JetBrains toolboxからIntelliJ IDEA Ultimate
をインストールしてkotlin JVMプロジェクトを作成する。
KotlinでHello world
以下を参考にHello worldする。
https://kotlinlang.org/docs/tutorials/getting-started.html
コード書いて、緑の三角ボタンを押すだけで実行できてしまった・・・
コンパイラの設定とかやらなくていいのか・・・
CLIでコンパイルしてみる
CLIコンパイラがあるらしい
https://kotlinlang.org/docs/tutorials/command-line.html
# コンパイル kotlinc src/app.kt -d app.jar # 実行 kotlin -classpath app.jar AppKt
Scratchで簡単に実行する
IntelliJにはScratchという一時的なファイルを作成する機能があり、これでkotlinスクリプトをサクッと実行できる。
https://kotlinlang.org/docs/tutorials/quick-run.html
Ctrl+Alt+Insertを押下してkotlin
を選択してコードを書けば、右ペインに結果が表示される。
パッケージマネージャはないのか?
パッケージマネージャではなくビルドツールとしてAnt、Gradle、Mavenが存在する。
Gradleって何?
ビルド自動化ツール。
Gradleを導入する
SDKMANがインストールされていれば1コマンドで導入できる
https://gradle.org/install/
sdk install gradle 6.3
Gradleでプロジェクトを初期化する。--dsl kotlin
を付けるとkotlinシンタックスで記述できる。
使用言語を聞かれるのでkotlinを選択する。
gradle init --dsl kotlin
以下の様なファイルが作成された
- build.gradle.tks
- ビルドの設定ファイル。依存関係やタスクを定義する。
- gradlew
- gradlew.bat
- settings.gradle.kts
gradlewって何?
ビルドを実行するスクリプト。通称Gradle Wapperと呼ばれる。
宣言されたバージョンのGradleを自動的にダウンロードして使ってくれる。
ちなみにgradlew.batはWindows用。
Gradleでビルドする
以下のコマンドでビルドできる。
成果物はbuild
フォルダに格納される。
gradle build
実行するにはgradle run
をすればいい。
DIコンテナを導入する
Gradleでパッケージを追加する方法を調べるついでにDIコンテナを導入する。
Koinというライブラリがよく使われるっぽい。
ドキュメントによるとbuild.gradle.kts
のdependencies
に以下の記述を追加すればいいらしい
dependencies { // Koin for Kotlin implementation("org.koin:koin-core:2.1.5") // Koin for Unit tests testImplementation("org.koin:koin-test:2.1.5") }
ドキュメントのサンプル通り、HelloMessageData
、HelloService
、HelloServiceImpl
、HelloApplication
クラスを作成してビルドする
org.koinのモジュールが見つからないエラー
ideaとgradleがsyncしていなかったらしく、gradleにideaプラグインを追加したら解決した。
plugins { id("idea") }
gradle idea
そんなこんなでkoinの導入が完了した。
一旦今日はここまで。
Gradle kotlin DSLとKoinの導入あたりで結構ハマってしまった。
次回はユニットテスト周りを確認していく。
Webエンジニアをやっています
UX/UIデザインからプログラミング、DB設計、SEO、インフラ構築など幅広く対応してます
PHP/PHPUnit/Laravel/Vue/Nuxt/Docker/Terraform
ご連絡はTwitterのDMまで。
「kotlinの開発環境を構築する 1日目」への1件のフィードバック