potatotips #59 のiOSブログまとめ枠で参加させていただきましたのブログです。
会場は GREE さんでした。
以下発表内容です。参加枠としては Androidブログまとめ枠でしたが iOS の発表内容に関してもまとめています。
気になるところや間違いなどあればご指摘ください。埋まっていない資料は公開されたのを見つけ次第反映します。
Page Object Pattern with XCUITest
Page Object Pattern は DRY かつ Readable な UIテスト を実現できる
Firebase A/B Testingを使ってサーバ側までA/Bテストした話
Firebase A/B Testing エンジニアじゃなくても条件変えれるので便利
ModelをLayerで分けてUnit Testの観点を明確にする
Layered Architecture にしてテスタブルにしてる 各層のテストの書き方を紹介
簡単にARアプリを作ってみよう
ARCore / SceneForm のおかげで3Dモデルの知識なくても簡単にARできる!ありがてぇ
SwiftでVRMファイルを表示してみた話
VTuberKit 作った VRM読み込んでSceneKitで表示できるぜ! 実装を紹介 今はUnityのアニメーションをimportするのをやってる
ViewPager2をちょっとさわってみよう
ViewPager2のIFはほとんど同じ RecyclerViewを使って実装されてる RTLサポート、縦方向ページングサポート、1のバグが治っているなど まだalpha
RxSwiftに対応したバリデーションをGenericなProtocolで実装してみた
extension ObservableType { func validate<V: Validator>(_ validator: V.Type) -> Observable<ValidationResult<V.ErrorType>> where V.ValueType == Self.E { return map { validator.validate($0) } } }
RxSwiftのチェーン中に protocol Validator を実装したやつを実装したクラスを与えてバリデーションできるように、 ObservableType に extension 生やして解決した シンプル
AndroidX Navigationを導入した話
そろそろstableのNavigation safeArgsでの方安全なFragmentArgsの生成、Deep Link、Transition Animation、Shared Element
Navigation 使うと常にバックキーで戻れるようになってしまうが Activity#addOnBackPressedCallback() を使ってハンドリングできる
逆引きRxSwift: 編集画面のViewModel設計と実装
編集画面のViewModel設計。 startWith使うと双方向バインディングしながら初期値設定できる
markedTextRangeで変換中かどうか分かるのか #potatotips
— 椎名夏希 (@417_72ki) 2019年2月28日
AndroidアプリのUI/UX改善例その2
項目が多いので https://github.com/mirrajabi/search-dialog というのを使ってフィルタリングできるようにした
教えて!Xcode
Address Sanitizer は配列外アクセス等を検出できる Diagnostics から有効にできる(ObjCのみ) 詳しくは以下を見ると良い
Androidの状態管理をするライブラリOwlの紹介
Reduxライクな状態管理ライブラリを作っている Coroutineを使った非同期処理の導入、Jobの管理、ViewModelとの統合
画面遷移が絡む値の受け渡しをRxSwiftで直列化してみた
subscribe複数回書かないと行けなさそうな処理を呼び出すVCにObserverを置く→呼び出し処理をprotocolのextensionにして直列化した
あらためてLiveData
LiveData, MutableLiveData, MediatorLiveData の説明 わかりやすい
OWASP MASVS
OWASP MASVS は モバイルアプリケーションの基準となるセキュリティ要件
Immutable data holder
Immutable な LiveData のみを公開しよう LiveDataならswitchMapで変換できる 拡張関数でより簡潔にできる
感想とか
RxSwiftの話が何故か多かった気がする
NavigationやViewPager2とか新しいライブラリのTipsが知れてよかった
RxSwiftのバリデーション用のextensionは簡潔に書けてすき
VRMKitはシンプルにすごい
今回も最初からへとへとでついにちょっとしたコメントを書くのがやっとになってしまった
懇親会では個人的にも最近導入したLiveDataの話できたりとか、インターネッツではお見かけするREALITYの人ともお話できてなんだかんだよかった