iOSDC 2017 day 2 午前 参加メモ
iOSDC 2017 2日目午前の参加メモです。
新しい画像フォーマットHEIFを用いたiOSアプリの通信量削減
- 日経新聞社のiOSエンジニアの方
- Live Photosのようなシーケンス画像を効率的に取り扱える
- 深度、透過に対応
- iOS11/iPhone7以上の写真がHEIFで保存されていることを確認
- WebにアップするときはHEIFからJPEGに自動変換される
- 日経新聞の朝刊画像を1週間分HEIF/WebP/JPEGで比較した
- WebPはJPEGと比較して32%削減
- HEIFはJPEGと比較して52%削減
- エンコード処理は細かく調査していないがHEIFが一番遅かった
- HEIFだとハードウェアデコードが可能(A9chip以降に限る)
- HEIFは特許的にグレー(ffmpeg, GPAC/MP4Box)のところがあるので商業目的で使うのは避けた方がいい
- 特許的にクリーンな方法を考えてみた(力技)
- iPhoneをサーバしてHEIFエンコードするシステム
結婚式を支えた技術 Firebaseを活用したサーバレスiOSアプリケーション開発
- メルカリ カウルのiOSエンジニアの方
- 結婚式用のアプリを作成したアプリ
- 写真を取って、サーバに送る
- その写真にいいねできる
- お知らせの表示
- Push通知
- Firebase Storage, Firebase Database, Firebase Notificationを利用して実現
触り心地の良いInteractive Transitionをマスターしよう
- エウレカでリードエンジニアとスクラムマスターを経験
- アニメーションにこだわっているアプリは海外製が多い
- アニメーションの基礎をマテリアルデザインから持ってきた
- iOSのガイドラインにはあまりアニメーションについて書かれていない
- easing curveとdurationを意識
- duraionの基準を設けてアプリで統一すると良い
- 画面外への移動
- 画面内への移動
- フルスクリーンの移動
- 人が遅いと感じる限界は400ms。その基準も設ける
実装について
- アニメーションの2つのプロトコル
- AnimatedTransitioning 通常のアニメーション
- InteractiveTransitioning インタラクティブなアニメーション
- 遷移のアニメーションはTransitioningDelegateで決める
- 今日はInteractiveTransitioningについて
- PanGestureでdispossしていく
- duration 0.1にすると素早くジェスチャーした時に自然に見える
- 指を離した時にSpringAnimationをしたい
- UIViewAnimationのDurationを指定する必要がある
- 適切なDurationの値は連立方程式を解く必要がある
- そこでFacebookのpopを使う
AutoLayout と友達になる方法
- CyberAgentのエンジニアの方
- IB上で行うAutoLayoutの設定の話
- 友だちになる=1人でAutoLayoutを組めるようになる
- 大切なこと2つ
- 制約の正しい付け方と種類を理解する
- 本当に正しい制約が貼られているか確認する