Retrofitのコルーチン関数にwithContext(Dispatchers.IO)は必要ない

Androidのネットワーク通信で頻出ライブラリであるRetrofitは、Version 2.6.0からコルーチンに対応しています。 そして、ネットワーク通信を行うコルーチンの実行はメインセーフティにすることが推奨されています。 では、Retrofitのコルーチン関数を呼ぶ際…

Androidアプリエンジニアになって気づいたiOSとの違い

この記事はフラー Advent Calendar 2020 の 2 日目の記事です。 フラーには今年の10月にAndroid アプリエンジニアとして入社しました。ちょうど2ヶ月が経ち、まだまだ不慣れながらも日々楽しくKotlinを書いています。 今回は前職でやってたiOSアプリ開発と…

React Nativeとプッシュ通知 (iOS編)

前回の記事でAndroidに対応したので、今回はiOSの対応を行なっていきます。 iOSのセットアップ Xcode上でプロジェクトの設定を変更したいので /ios/RNPushNotification.xcworkspace を開きます。 最初に、前回にも設定したようにBundle Identifierが com.exa…

React Nativeとプッシュ通知 (Android編)

React Nativeでプッシュ通知を受信する実装について調べたのでまとめておきます。 ここでは下図のような通知を送ることを想定します。 環境 node: 14.5.0 yarn: 1.22.4 react-native 0.63.2 @react-native-firebase/app 8.3.0 @react-native-firebase/messag…

React Native for Web + TypeScript + Firebase + PWAを調べたのでまとめておく

動機 きっかけはこの記事。ちょっと前にこれを読んで、 「モバイルネイティブアプリに慣れた開発者が、React Native for Webを利用することで手軽にWebアプリ開発できないか?」と思ってたので調べてみました。 iOSについて言えばSwiftUI登場後、宣言的にUI…

「ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本」を読んだ

DDDについては軽く表面的な部分を齧った程度の知識だったので、いつかはちゃんと勉強しなきゃなーと思ってた。 けどエヴァンス本とかは難しそうなイメージがあってずっと敬遠しちゃってて。 そんなところに、とっつきやすそうな本書を見つけたので読んでみた…

View.onAppear(perform:)が呼ばれないことがある

SwiftUIの View のライフサイクルで少しハマったのでメモしておきます。 環境: Xcode 11.3 Swift 5 要件: ある画面(View)が表示されたタイミングで何か処理を実行したい UIKitの場合にはViewControllerの viewWillAppear / viewDidAppear なんかで実行する…

NavigationLink下に配置したButtonのタップが反応しない

SwiftUIでちょっと困ったこと。 Listの中にボタンを配置した時に意図通りにならなくてなんでかなーとなった。 こんな風に、ただボタンを置いただけのときは問題なかった。ボタンをタップすると action は実行される。 struct ContentView: View { let items …

MOBILE CREW NIIGATAに行ってきた

新潟最大級のモバイルアプリカンファレンス!? ということでMOBILE CREW NIIGATAに参加してきた! 感想 まず、新潟にモバイルアプリのエンジニアがこんなにいたのかーというのが一番の驚き。 今回スポンサーとなられてた中にも知らない企業さんがあって、新…

SwiftUIでモータルビューを閉じた時に何か処理を実行したい

SwiftUIでは、モーダルビューは sheet メソッドを使って表示します。 struct ContentView: View { @State private var presentModal = false var body: some View { VStack { Button(action: { self.presentModal = true }) { Text("Show modal") } } .sheet…

iOSDC Japan 2019 2日目に参加してきた

前回に引き続き、2日目にも参加してきました。 まずは特に興味深かったトークについての感想をつらつらと。 Heart of Swift @koherさんの、Swiftの言語仕様よりの解説トーク。Swiftがどういった思想のもと構築されているかみたいな。 最初に言っておくと、…

iOSDC Japan 2019 前夜祭&1日目に参加してきた

2019/9/5からのiOSDCに参加してきました。 iosdc.jp 全体的に普段の仕事ではあまり触れることのない技術についての話を聞けてとっても面白かった! 気楽にトークを聞ける雰囲気も素敵。 以下、見たトークの感想かんたんにまとめまっす。 前夜祭 初めて参加し…

SwiftUI & Combine の調べたことメモ

iOS13の正式リリースが間近ですね。 そろそろ話題のSwiftUIやCombine frameworkにキャッチアップしないと、と思い徐々に触り始めています。 その際に「これどう書くんだろう?」と気になったことを雑にメモしておきます。 また、以下のコードはXcode11 beta6…

Optimizing Collectionsを読んだ

Swift情報満載のobjc.ioで販売されている電子書籍のこちらを読みました。 www.objc.io 内容 Swiftで次のデータ構造を順に実装しながら、各種操作のパフォーマンスとその最適化方法について解説されています。 ソート済み配列 (Sorted array) 順序集合 (Order…