December 22, 2021

さよならfreeze! ついにきたKotlin/Native New Memory Management!!

この記事はKotlin Advent Calendar 2021 の22日目の記事です。 Kotlin Advent Calendarに参加するのは今年で7年連続7回目になりました🎉🐦 毎年22日近辺を書いています。マイルストーンの時から書いている記事もあるので情報が古くなっているものもありますが、 過去にはこんな記事を書いていました。 Read more

October 31, 2021

【Flutter】 InAppWebViewでリンクのクリックをハンドリングする

WebViewのサードパーティライブラリにInAppWebView というのがあります。 WebView内のリンクをクリックした際に、デフォルトのブラウザを開く等、なにかしら処理をしたいことがあると思います。 これまではJavaScriptを使ったりして頑張る必要があったのですが、JavaScriptをつかわずにリンクのクリックをフックする方法を解説します。 2021年10月の最新バージョンは5.3.2です。 Read more

September 11, 2021

FlutterでDefaultで使われている色たち

※ Flutterバージョンは執筆時最新の2.5.0のtagでコードのリンクを載せています。 Flutterはマテリアルデザインをベースに作られているため、 マテリアルデザインに沿ったデザインのアプリを作るときは既存のコンポーネント(Widget)を利用でき爆速で開発できます。 さらに爆速で開発していくためにはデザインコンポーネントを定義していく必要がありますが、 Flutterにはテーマの概念があり、自分で定義した任意のテーマを設定できます。 Read more

August 30, 2021

Kotlin/Nativeで生成したLinux向けバイナリをDockerで実行する

Kotlin/Nativeは現在 Android NDK(androidNativeArm32, androidNativeArm64) Darwin macOS(macosX64, macosArm64) iOS(iosArm32, iosArm64, iosX64, iosSimulatorArm64) watchOS(watchosArm32, watchosArm64, watchosX86, watchosX64, watchosSimulatorArm64) tvOS(tvosArm64, tvosX64, tvosSimulatorArm64) Linux(linuxArm64, linuxArm32Hfp, linuxMips32, linuxMipsel32, linuxX64) Windows(mingwX64, mingwX86) wasm(将来deprecated) のプラットフォームに対応しています。 1.5.30からApple siliconの正式サポートもされました🎉 Read more

April 30, 2021

DartのStreamでRxのBehavior Subjectを再現する

Dartには標準ライブラリのasyncパッケージにStream クラスが含まれています。 これはこれでとても便利なのですが、Androidで長く使っていたせいで非同期処理の操作がRx脳になっているので、時々こういうのはRxではできるのになーって思うことが多々あります。 Rxで個人的に一番好きなクラスはBehaviorSubjectでStreamの最後の値をキャッシュしておいて、Subscribe(Listen)と同時に最後の値をemitしてくれるものです。 オペレータだとdistinctUntilChangedかscanかwithLatestFron(combine)です。 Read more

March 31, 2021

FlutterのLifecycle(onResume, onPause)を検知する

FlutterはUIを構成するものはすべてWidgetでできています。そのため、AndroidにあるActivityやiOSにあるViewControllerのような画面の概念は厳密にはありません。 FlutterではNavigatorがページのような概念を持ったRoute(参考) のスタックを管理することで画面遷移を実現しています。 今回は NatigatorObserver と WidgetsBindingObserver を使ってアプリのライフサイクルイベントを検知します。 Read more

© AAkira 2023