Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
iOS_DC_2018_参加レポート.pdf
Search
SatoshiN
September 04, 2018
0
27
iOS_DC_2018_参加レポート.pdf
SatoshiN
September 04, 2018
Tweet
Share
More Decks by SatoshiN
See All by SatoshiN
開発スピード向上Tipsその2.pdf
satoshin303
0
51
担当しているiOSアプリを全部作り直す開発中に_いろいろ半自動化した事_簡易版.pdf
satoshin303
0
70
秘伝のタレ.pdf
satoshin303
0
27
GitHub小技集.pdf
satoshin303
0
30
量子コンピュータ_の仕組みとQ_.pdf
satoshin303
0
200
モバイルアプリ_開発スピード向上Tips.pdf
satoshin303
0
25
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Ethics towards AI in product and experience design
skipperchong
2
200
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
Abbi's Birthday
coloredviolet
1
4.8k
Balancing Empowerment & Direction
lara
5
900
For a Future-Friendly Web
brad_frost
182
10k
Paper Plane
katiecoart
PRO
0
46k
The Pragmatic Product Professional
lauravandoore
37
7.1k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
100
How to Ace a Technical Interview
jacobian
281
24k
Making Projects Easy
brettharned
120
6.6k
Six Lessons from altMBA
skipperchong
29
4.2k
Transcript
iOS DC 2018 参加レポート
会場 早稲田大学理工 キャンパス 63号館
会場の様子
オープニング スポンサー紹介
会場案内
観客の投票でベストトーク賞を決める 1位 MicroViewControllerで無限にスケールするiOS開発 2位 iOS アプリの開発速度を70%高速化したデバッ グ ノウハウ 3位 Depth
in Depth
まとめ資料リンク集 iOSDC2018 セッション資料まとめ Togetter
比較的簡単に 導入できそうなセッション
Haptic(触覚) Feedback による効果的な マイクロインタラクション • iOS で 何かの動作を行った際に 「ブッ」 となるやつの実装例
• Human Interface Guideline でも 乱用はしないようにと記載 • 以下の 3 種類を 適材適所で使うと 最近のアプリっぽくなる • Notification 「 Success, Warning, Failure 」 • Impact 「 Light, Medium, Heavy 」 • Selection 「 selection 」
宣言的 UICollectionView • 複数のセルを利用する UICollectionView を 可読性高く実装するための tips • 単純な画面でもメソッドの中で相当
switch する必要を回避する • Android の Epoxy を参考にした。
詳解Fastfile • 巨大な Fastfile を 避けるための Tips • Fastfile に集約させないために
Appfile, Gymfile, Scanfile などで分割するといい • 通常開発 =>autosign CI ・配布・リリース =>manual を buildconfig でそれぞれ設定 するといい • Fastlane のデバッグで 「専用のブランチに push して ログ出力して … 」などを行ってい る場合は ローカル で走らせて pry 使うと捗る
Depth in Depth • iOS12 から使える PortraitMatte で深度からマスクを簡単にとれる (1. 深度データが入ってる静止画
& 人が写ってる場合のみ利用可能 ) (2. 前面カメラからだけではなく、背面カメラからも取得できる ) • iOS11 までで深度から綺麗なマスク取ろうとすると三手間くらい 掛かるが実装可能。境界は多少ギザギザしてしまう。 詳細記事 Portrait Matte で背景分離/セグメンテーション デプス(深度)を iOS で扱う方法を網羅したサンプルコード集 「 iOS-Depth-Sampler 」を公開しました
ARKit Maniacs • 建物程度の広さで ARWorldMap を利用して永続化可能か?の実験 → ビルいけた。データサイズが問題? → 50
〜 150MBMB の範囲では relocalize で現在地点を見つける 0.01s くらい • EnvironmentTextureing → .automatic でよさそう • 平面をみつけてからの Tips → 平面を検知しつづけるので一度検知したら画面タップ等で 検知を止める機構いれるとユーザーのストレスすくないよね
LIFULL HOME'S「かざして検索」リリースの裏側 • CoreML + Vision + ARKit を実際のプロダクトでリリースした際の Tips
• 実際のプロダクション環境でリリースする際の問題 ( 学習モデルをダウンロード , モデル容量は CoreMLTools で落とす , Vision の fps 制御 ) • 学習モデルはサーバーからダウンロードなので比較的容易な機能強化
先進的な事例のセッション
MicroViewControllerで無限にスケールするiOS開発 • ChildViewController + StackView を利用して UI の部品を UIView ではなく
UIViewController で 実装する • VC なので 部品毎に ライフサイクル持てるため 開発スピード UP • Storyboard でなく XIB で レイアウトを行う (xib 使って初期化にすると ViewController も generics 使えるようになる等 ) • プロトコルを 3 つ定義して VC 同士を疎結合に サンプルコード https://github.com/mercari/Mew
iOSエンジニアの為のgrpc-swift入門 • grpc (google の rpc 通信プロトコル ) • 同じ立ち位置としては
REST だったり GraphQL とか • リクエストとレスポンスが定義した型で包まれるため REST の問題点を解消できる • ただ protbuff でやりとりするため デバッグが辛い • TCP コネクションを使い回すことになるのでロードバランサー動かない
iOS × GraphQLの嬉しみとつらみ • エラーハンドリング辛い • 発行 Query によっては N+1
問題の対応が辛い • クエリの一部成功、一部失敗が起きうるのが辛い • 404でもstatuscodeが200で返ってくるのが辛い
補足 REST と GraphQL
個人的に気になった セッション
Swiftの生みの親によるasync/await for Swiftを徹底 解説し、新しい非同期処理の手法を理解する
所感 • AR や機械学習 は 飛び道具の時代が終わり一般的なものにシフトしつつある • アーキテクチャー や Rx
とか 設計手法は出揃った感 • HapticFeedback や 3DTouch などマイクロインタラクションは 重要な箇所で • Swift5 の async/await は 雰囲気 Rx の代替 になりそうでインパクト大 • grpc や GraphQL の ツラミやデバッグツールが出たら一気に普及しそう