採択
2018/09/01 13:30〜
Track A
レギュラートーク(30分)

Depth in Depth

shu223 堤 修一

原始のiPhoneからカメラは搭載されていましたが、深度センサが搭載されたのは比較的最近のことです。カメラやGPSが、デジタルの世界と我々が生きる現実世界を繋ぐ重要な役割を担い、アプリ開発者に多くの創造性を与えてくれたのと同様に、「奥行き」がわかるようになったというのはアプリ開発の次元がひとつ増えたようなものです。本トークではiOSでの深度の扱いについて、取得方法だけではなく、細かいパラメータの意味やMetalでの処理まで詳解します。

採択
2018/09/01 13:30〜
Track B
レギュラートーク(30分)

Auto-Renewable Subscriptionsを5年間運用した歴史から学ぶ注意点

yuutetu 加賀江 優幸

私の担当するアプリでは、Auto-Renewable Subscriptionsを長らく運用してきました。
しかし、その運用を続ける上でぶつかった問題も多くありました。
Auto-Renewable Subscriptionsの運用事例を元に、ユーザにとって最高の形でプレミアムな機能を提供するために学んだことについてお話します。

採択
2018/09/01 14:20〜
Track A
レギュラートーク(30分)

5000行のUITableViewを差分更新する

banjun ばんじゅん🍓

差分更新のテクニックを使うと,IndexPathを持ち回ることなく,UITableViewの必要な箇所のみ挿入・削除できるようになります。
これはいつでも採用できる手法なのでしょうか? 0~5000行で変化するテーブルビューにも使えるでしょうか?

このトークでは主にトータルの更新パフォーマンスにフォーカスして,5000行規模の差分更新を実用的な速度にするために必要な,ボトルネックの解析と遭遇するトレードオフについて紹介します。

採択
2018/09/01 15:10〜
Track A
レギュラートーク(30分)

Swift Playgrounds Bookの作り方と配り方〜カメラからの画像をリアルタイムにいじるPlayPixels

sonson_twit 吉田 "sonson" 悠一

iPadで,コーディングをしたり,プログラミングの教科書のような使い方ができるSwift Playgrounds.最近では,カメラやBluetoothのAPIが解放され,Swift Playgrounds Bookを個人でアプリを通じて配布できるようにもなりました.この発表では,カメラの画像をリアルタイムに処理できるサンプルを例に,Swift Playgroundsのおもしろさ,Bookの開発および公開方法について解説します.

採択
2018/09/01 15:10〜
Track B
レギュラートーク(30分)

Synchronized iPhones!

TachibanaKaoru TachibanaKaoru

複数のiPhoneを、連携させたことがありますか?
一面にならんだ数十台のiPhoneにシンクロナイズドスイミングのような全く同じ表示をさせる……単純に見えますが、実は技術的にはとても高度なテクニックを必要とします。
フレームレート60fpsのiPhoneで、ぴったりあった動作を実現するためには端末間に許されたずれは、16ミリ秒以下。
これを実現するには、どんな要素技術、どんな設計、どんなテクニックを使えばよいでしょうか。

採択
2018/09/01 16:00〜
Track A
レギュラートーク(30分)

State of the Union ~2018年のアプリ開発事情~

huin huin

 ObjC/Swift、アプリケーションアーキテクチャ、リアクティブ、テスト、CI/CDなど、2018年のアプリ開発環境は多くの情報とトレンドにあふれており、キャッチアップするだけでも一苦労です。
 本セッションではこれら多くの情報を整理し、現在のアプリ開発環境全体を俯瞰します。アプリ開発初心者でどこから勉強すればいいかわからない方、経験者だけど開発環境をもっと良くできないかと考えている方の手助けになれば幸いです。

採択
2018/09/02 11:20〜
Track B
レギュラートーク(30分)

ライブ配信アプリのアイテム再生をMetalで実装する事になった話

noppefoxwolf noppe

DeNAのライブ配信アプリPocochaで実装した画面全体に再生されるエフェクトの実装の話をします。
iOSでは再生出来ない透過動画の再生を行う実装や、それらの実装の中で利用した巨大なシーケンス画像群の再生に最適なアーキテクチャをAPNG/WEBPなどのフォーマットやUIImageView/OpenGLES/Metalなどのパフォーマンス比較から読み解きます。

採択
2018/09/02 11:20〜
Track C
レギュラートーク(30分)

プロトコルを使って複数サービスを跨いだmusic playerを実装する

kumabook kumabook

iOSでは曲を再生する方法としてAVAudioPlayerやMediaPlayerなどがあります。しかし、それぞれのplayerごとに再生キューやライフサイクルを持っており、player間を跨いで連続再生をするのは直感的には実装できません。今回は上記2つ加えてyoutube iframe player・SpotifyPlayerのplayer間を跨いで連続再生できるmusic playerをprotocolを利用して実装した話をします。

採択
2018/09/02 13:30〜
Track A
レギュラートーク(30分)

デバイス・OSバージョンの依存が少なく、メンテナンスしやすいビューを作る

k_katsumi Kishikawa Katsumi

iOSアプリにおいてビューに関する変更をテスト・レビューすることは負荷の高い作業のひとつです。現在のiOSアプリにおいてレイアウトのバッドプラクティスは、デバイスを判定する、contentInsetを自分で操作する、動的に制約を変更する、の3つです。このトークでは、実際のアプリのコードを用いて、壊れやすかったレイアウトを良いAutoLayoutの原則に従って修正した例を示し、堅牢でメンテナンスしやすいレイアウトとは何かを解説します。

採択
2018/09/02 13:30〜
Track B
レギュラートーク(30分)

AutoLayoutエラー診断所 ~発狂しないためのデバッグ手法~

akatsuki174 akatsuki174

「どうされましたか?」
「いろいろ頑張ってはみたんですが、うちの子全然治らないんです。顔が黄色くなったり赤くなったり、あとはいろいろ吐いてしまっていて。もうどうしたらいいのか…。」
「ふむ。デバッグ方法がわからないわけですね。症状によって見るべきポイントは異なりますし、そもそも症状は正確に判断しないといけません。私と一緒に症例とその対処方法を見てみましょう。」

キャスト
医者:私
親:開発者
子:AutoLayout

採択
2018/09/02 14:20〜
Track A
レギュラートーク(30分)

iOS アプリの開発速度を70%高速化したデバッグノウハウ

orga_chem Kuniwak

開発時間に占めるデバッグ時間の割合は少なくないため、この時間の短縮は開発速度を上げるためにとても重要です。この発表では、実際の中規模なアプリ開発で70%増もの開発速度向上を支えたデバッグノウハウを初心者にもわかりやすく紹介します。

このノウハウには、効果が高いデバッグの5W1Hの解説や、リビルドなしでデバッグする方法、便利なライブラリの紹介を含みます。開発速度が気になっている方はぜひ聞いてみてください!

採択
2018/09/02 14:20〜
Track B
レギュラートーク(30分)

作ってわかるレンダリングパイプライン CPUで3D描画

ta_ka_tsu Takatsu Youichi

ある人は言いました。「基本は理解・分解・再構築だ」と。

あなたは玩具や機械の仕組みを知るために分解してみたことはありませんか?
一見不思議で魔法のように見える仕組みも、基本要素に分解すれば理解しやすくなります。
そして理解したかどうか確認する最も良い手段は自分で作ってみることです。

ここでは普段Metalなどの3D描画APIがGPUで行っている処理をあえてCPUで実装し、期待通りに描画されるのかを検証してみます。

採択
2018/09/02 14:20〜
Track C
レギュラートーク(30分)

がっつりやるリアルタイムキャンペーン分析

ktsukago Tsukagoshi Keisuke

単純にプッシュを打つだけでは意味がありません。カスタマーエンゲージを目指すならばカスタマーの分析を行う必要があり、さらに言うならばリアルタイム性の高い情報を使った分析が必要となります。Amazon Pinpointを利用するとEvent Streamを利用して簡単にリアルタイム分析を行えます。本セッションではリアルタイムな分析を行うためのアーキテクチャとそれを使ったマーケティングを行うためのベストプラクティスを紹介します。

採択
2018/09/02 15:10〜
Track C
レギュラートーク(30分)

圏論とSwiftへの応用

inamiy 稲見 泰宏

圏論(カテゴリー理論)は、「対象」と対象間の「射」(関係性、構造)の集まりからなる「圏」を抽象的に扱う数学理論です。関数型プログラミングで度々登場する「モノイド」「関手」「自然変換」「モナド」の由来であり、さらには「米田の補題」「随伴」「極限」「F代数」「カン拡張」など、より高度な概念が登場します。この発表では、圏論から得られる様々な帰結について、Swiftの文法と型で分かりやすく解説していきます。