#FlutterMay 31, 2022【Flutter】Blurをかけてもっとスクロールできる雰囲気をだすScrollableなViewに対してまだスクロールできる感をだすための手法として、よくスクロール方向にBlurをかけて見せる手法があります。 FlutterでもListViewやWebView, Textに対してBlurをかけてスクロールできる感を出してみます。 Read more
#FlutterApril 30, 2022Flutter Firebase AuthでUserがnullになるFirebase Auth を使って認証を実装しているのですが、 リリースしているアプリのログを見ると少なくない数でcurrentUserがnullになる現象が起きていました。 Read more
#FlutterFebruary 28, 2022【Flutter】異なる文字サイズを整えてきれいに見せるデザインの世界ではテキストの文字間隔を整えてきれいに見せることをカーニング(kerning)と呼びます。 ロゴ等はsvgなどのベクターや画像で用意すると思うので、アプリの世界でカーニングをきっちりやる機会は少ないかと思いますが、 カーニングと同様にテキストをきれいに見せる手法として、数字より単位等の文字を小さくすると 必要な情報の優先度が上がり美しく見える法則があります。 そのため、よくデザイナーの方から渡されるデザインでフォントサイズが異なるテキストが横に並んでいる場合があります。 Read more
#Flutter | #DartJanuary 31, 2022DartのテストライブラリMockitoで複数回モックするDartにはMockito というモック用のテストライブラリがあります。 Javaにも同じ名前のライブラリ があってDartの方はこのライブラリをインスパイアして作られているため、元々JavaでMockitoを使っていた方はすぐに使えるようになると思います。 Read more
#FlutterOctober 31, 2021【Flutter】 InAppWebViewでリンクのクリックをハンドリングするWebViewのサードパーティライブラリにInAppWebView というのがあります。 WebView内のリンクをクリックした際に、デフォルトのブラウザを開く等、なにかしら処理をしたいことがあると思います。 これまではJavaScriptを使ったりして頑張る必要があったのですが、JavaScriptをつかわずにリンクのクリックをフックする方法を解説します。 2021年10月の最新バージョンは5.3.2です。 Read more
#Flutter | #DesignSeptember 11, 2021FlutterでDefaultで使われている色たち※ Flutterバージョンは執筆時最新の2.5.0のtagでコードのリンクを載せています。 Flutterはマテリアルデザインをベースに作られているため、 マテリアルデザインに沿ったデザインのアプリを作るときは既存のコンポーネント(Widget)を利用でき爆速で開発できます。 さらに爆速で開発していくためにはデザインコンポーネントを定義していく必要がありますが、 Flutterにはテーマの概念があり、自分で定義した任意のテーマを設定できます。 Read more
#Flutter | #DesignJuly 31, 2021FlutterでWalkthroughをParallaxするイケてるアプリにありがちなParallax(パララックス) EffectがついているWalkthroughをFlutterで作ります。 Read more
#Flutter | #Firebase | #Deep LinkJune 30, 2021FlutterでContextual(Deferred) Deep LinkするContextual(Context, Deferred) Deep Linkとは この挙動の名前をGoogle, Appleははっきり定義はしていません。(多分) 広告系のSDKとかではDeferred Deep Linkとも呼ばれています。[1][2] (日本ではContext Deep Linkと呼んでる人も多いような🤔) Read more
#Flutter | #OpenAPI | #SwaggerMay 31, 2021FlutterでOpen Api Generator(Swagger)を使うWEBサービスを作るとクライアントとサーバの通信は必須となります。 通信方式に依りますが、API Clientの選択肢はいろいろあって、プロダクト環境で使う場合はほぼこの4つに絞られるかなと思います。 Read more
#Dart | #Rx | #FlutterApril 30, 2021DartのStreamでRxのBehavior Subjectを再現するDartには標準ライブラリのasyncパッケージにStream クラスが含まれています。 これはこれでとても便利なのですが、Androidで長く使っていたせいで非同期処理の操作がRx脳になっているので、時々こういうのはRxではできるのになーって思うことが多々あります。 Rxで個人的に一番好きなクラスはBehaviorSubjectでStreamの最後の値をキャッシュしておいて、Subscribe(Listen)と同時に最後の値をemitしてくれるものです。 オペレータだとdistinctUntilChangedかscanかwithLatestFron(combine)です。 Read more