登壇者はKtorをv1.0.0-betaの頃に導入し、4年近く自社サービスの本番環境で利用していました。
そしてつい先日、2022/4にリリースされたKtor v2へのアップグレードを実施しました。
Ktor v2のメジャーバージョンアップグレードでv1と何が変わったのか、どのようにアップグレードを進めるべきか、どういったトラブルに直面するのかなどについて、得た知見をシェアしたいと思います。
このセッションでは登壇者が自作しているOSS "kotlin-csv"(https://github.com/doyaaaaaken/kotlin-csv )についてGithubのStar数450超になるまでどのようにして普及させたのかについて紹介します。
自作OSSというと『プライベートの時間を多く費やして』『自身の技術的ロマンを詰め込んだものを作る』イメージがあるかと思いますが、登壇者は『なるべく時間を使わずメンテでき』『技術的ロマンはなくてもいいので』『世界の人々から実際に使われる』ライブラリにすることを戦略的に目指して作りました。
なぜそういった目標を立てたのか、目標実現のために立てた戦略、開発中に直面したトラブル、開発後の運用で得た気づきなどについてなるべく具体的に共有することで、今後自作OSSを作る人・作りたい人の参考になる内容にしたいと思います。
Kotlinが誕生してから11年が経過しました。たくさんの方に愛されているプログラミング言語なだけあって、多数のブログや勉強会にて最新情報をキャッチアップできます。しかし、ブログや勉強会で発表してる人のように自分からKotlinの情報を取りに行きたいですよね?
本セッションでは、Kotlinの1次ソースの活用方法を知って、あなたのお悩みを解決します!
・Kotlinの標準ライブラリを使いこなしたい
・Kotlin関連の最新情報をキャッチアップしたい
・ググって問題解決より突っ込んだ情報を得たい
セッション内容
・標準ライブラリの関数編
・公式ドキュメントの歩き方
・ソースコードの歩き方
・Kotlin+周辺ライブラリの最新情報編
・Release notesの歩き方
・PR/Issueの歩き方
Kotlinを用いたのAndroidアプリの開発、Swiftを用いてのiOSアプリの開発、Dartを用いてのFlutterでのiOS/Androidアプリ開発、C#を用いてのUnityでのゲーム開発など現代のモバイルアプリで使われている技術を経験してきた私が、それぞれの言語機能の比較を簡単に行い、Kotlinのこの言語機能が良い、この書き味が最高というのを紹介していこうと思います。
ボリュームの関係で何かの言語が削られたり、中身の比較の関係でTypeScriptやScalaが出てくるかもしれないですが、そこは暖かく見守ってください。
KotlinのGenericsとReflectionの組み合わせは、reifiedキーワードの存在により、強く型安全なコードを書く事ができるようになっています。
Generic TypesのReflectionでどんな操作ができるのか、GenericsとReflectionをうまく組み合わせると何ができるのか、実務で使っているソースコードを基に実際の挙動を通してお話しします。
このセッションを聞くことで、下記のスライド(22ページ目)の内容が理解できるようになると思います。
Exposed DAOで、IDカラムをValueObjectのまま扱う
https://speakerdeck.com/chimerast/exposed-ying-yong-bian-nei-bu-shi-zhuang-to-mo-kuo-zhang?slide=22
このセッションでは、Kotlinコンパイラプラグインのユースケースと実装方法を解説します。
【アジェンダ】
👉 コンパイラプラグインの種類のご紹介
👉 ライブコーディング
👉 参考資料の共有
今回ライブコーディングで解説するコンパイラプラグインは以下です。
1️⃣ クラスAからクラスBを自動生成するプラグイン
2️⃣ 独自のコンパイルエラーをスローするプラグイン
ユースケース以下です。
1️⃣ 全ての独自型に対してプリミティブ型との相互変換クラスを実装する必要がある場合 (例えばORMの型マッピング)
2️⃣ 自動生成したクラスが正しく利用されているかを検査したい場合
今回は、ライブコーディングで実際に動作するコンパイラプラグインを実装します。
Kotlin製のモダンUIツールキットであるJetpack Composeには、デスクトップおよびWebアプリのUI開発に対応したCompose Multiplatformという拡張版が存在します。Kotlin Multiplatformの機能をフルに活用し実装されており、その豊富な表現力はKotlinエンジニアに多大な恩恵をもたらします。
本セッションでは、発表者が自身のポートフォリオサイトをリライトした経験から、特にWebアプリのUI開発に対応するCompose for Webを利用し、モダンなSPAを実装・リリースするための一貫した知見を紹介します。また、Kotlin/JS + Reactの構成で実装した複雑なWebアプリをCompose for Webでリライトしながら得た知識も踏まえ、KotlinによるWebフロントエンド開発の現在地について詳しく解説します。