Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
iOS_DC_2018_参加レポート.pdf
Search
SatoshiN
September 04, 2018
30
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
iOS_DC_2018_参加レポート.pdf
SatoshiN
September 04, 2018
More Decks by SatoshiN
See All by SatoshiN
開発スピード向上Tipsその2.pdf
satoshin303
0
55
担当しているiOSアプリを全部作り直す開発中に_いろいろ半自動化した事_簡易版.pdf
satoshin303
0
73
秘伝のタレ.pdf
satoshin303
0
31
GitHub小技集.pdf
satoshin303
0
34
量子コンピュータ_の仕組みとQ_.pdf
satoshin303
0
220
モバイルアプリ_開発スピード向上Tips.pdf
satoshin303
0
29
Featured
See All Featured
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Building an army of robots
kneath
307
46k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
The Curse of the Amulet
leimatthew05
3
15k
Fireside Chat
paigeccino
43
4k
Producing Creativity
orderedlist
PRO
348
41k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
700
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
370
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 の ツラミやデバッグツールが出たら一気に普及しそう