radioc@?

レディオキャットハテナ

【勉強会メモ】Mobile Act OSAKA #4

mobileact.connpass.com

  • 日時:2018/04/27(金) 18:45 〜 21:20
  • 場所:Osaka Innovation Hub (大阪イノベーションハブ)

フェンリルさん主催のモバイルアプリ勉強会。毎回、様々なテーマの発表があって勉強になります。個人的には今回は特にFirebaseで開発したサーバレスアプリの話が興味深かったです。それ自体は以前からある手法ではありますが、SwiftやKotlinのモバイルアプリ開発手法と並べてみてもあまり違和感なく似たようなことができそうだなと改めて感じて、少し触ってみたくなりました。次回は6/29開催予定とのこと。既に 募集 が開始されています。

nory_kaname「サービス開発とアプリ開発

speakerdeck.com

データを見る人が欲しいもの

ログの拡張性

ログ見て何をするか

  • ボタンの改善
  • クリック率
  • 画面遷移率
  • CVR

など

画面のレイアウト

  • ListView,TableView
  • 縦スクロール、横スクロールの相性

Empty画面

  • 画面で伝えるメッセージ

まとめ

  • アプリリリース語どうしたいか自問しよう

1amageek「Firebaseとモバイル開発」

komer.co

firebaseでサーバレスで作った

  • firebase
  • Stripe
  • Algolia

短い時間で高品質なものをつくる

Cloud Firestoreの料金

Cloud Firestore の料金  |  Firebase

⇒課金されたことはなく気にしていない。

課金が発生する頃にはマネタイズできていて賄えるようになるはず。

TakuyaOhashi 「Kotlinコンバートと戦った話」

JavaのプロジェクトのJavaファイル約500ファイルをKotlinにコンバート

kaptでビルドが通らないLombokの罠

  • Kotlinでkaptを使うようにプラグイン設定⇒ビルドが通らない
  • kaptとLombokの相性が悪い

対策

Icepickが対応していない

あたりが更新されない?by lazy

遅延初期化で利用 バックスタックで戻った時TabLayoutなどで開き直したあとに値を差し替えたい lateinit

実装方法がバラバラだと困るSAM変換

  • SAM(Single Abstract Method)
  • 関数型に置き換える

コメントが入れ子にできる仕様で30秒ぐらい頭がフリーズ

  • Kotlinではブロクコメントが入れ子にできる
  • コメントに /src/layout/*.xml のように /* があると入れ子扱いになる

null

  • nullをあえて渡すコード
  • null!! にコンバートされる

まとめ

Kotlinコンバートは思ったより手間がかかる

izuchy「Charlesで通信デバッグ

speakerdeck.com

アプリエンジニアの悩み

  • アプリとAPI間の通信がはっきり見えない
  • APIから応答されている値を変更したい
  • ブラウザにある開発者ツールがほしい

運用中の悩み

  • 不具合の原因がアプリなのかAPIなのか

Charlesとは

www.charlesproxy.com

  • HTTP Proxy
  • 三者目線でHTTP通信を確認できるツール

手順

※メモ

qiita.com

通信を書き換えてみる

使ってみて

  • アプリの通信をみてAPI設計の参考に
  • APIから応答されるデータを書き換えて試行が可能
  • 明確な原因の切り分け

iOSアプリも出てる

Charles Proxy

Charles Proxy

Charles Proxy

  • XK72
  • ユーティリティ
  • ¥1,080

itok「制約付きレイアウトと仲良くする」

speakerdeck.com

iOS

  • Auto Layout
  • trailing marginを使う

Android

  • Constraint Layout 1.1.0
  • layout_constraintWidth_minを指定

1.1の新機能

  • MATCH_PARENT
  • WRAP_?CONTENT
  • MATCH_CONSTRAINT(0dp)
  • WRAP_CONTENT+制約⇒New

表示内容に従いつつwrap_contentに従う

  • コードを書かなくてもlayoutでできるようになった
  • 最新のAndroid Studioで作れば可能

ConstraintLayoutで複雑なレイアウトを実現しよう

ConstraintLayout  |  Android Developers

※メモ

qiita.com

Hiron「ペダルのある生活」

iRig BlueTurn - IK Multimedia | Hookup, Inc.

  • 踏んだら楽譜のページをめくる
  • Bluetooth接続のハードウェアキーボードとして動作する
  • 上下左右とPage Up/Down
  • ハードウェアキーボードに対応したら良い

iOSで対応

  • UIKeyCOmmandを返す
  • PageUp,PageDownはAPI定義されていない
    • 文字列で書く(スタックオーバーフローより)

stackoverflow.com

Android対応

  • onKeyDown() などを使う
    • KeyEvent.KEYCODE_**

hokuron 「@objcとは何だったのか」

XCode 9+Swift 4で出る警告の話

※メモ(たぶんこのへんの話)

medium.com

Limiting @objc inference Side benefit:

  • Swift3時代はNSObjectを継承するとextensionのメンバも@objcが暗黙的についた
  • protocolはそうではない
  • Swiftの実装上不可能
  • Swift 4からはこのような混乱を防げる

protocolはそうではない⇒ブログに書いた

blog.fenrir-inc.com

Satoshi Hachiya「QR Code Recognition on iOS 11」

speakerdeck.com

QRコードデンソーウェーブの登録商標

iOS11の標準カメラとSafariQRコードを読み取る

QR Code Recognition on iOS11

developer.apple.com

Event QR Code

iCalendar format⇒カレンダー登録できる

Wi-Fi接続をやってみた

  • QRコードを移すと接続しますか?ダイアログが出て来る
  • ステルスは対応していない

まとめ

Universal Links for Developers - Apple Developer