採択
2018/08/30 18:20〜
Track A
レギュラートーク(15分)

ARKitのための3D算数

kboy_silvergym KBOY@筋肉エンジニア

GraffityというARKitを使ったアプリを作っています。
ARKitやSceneKitは用意されたAPIを使えば色々なことが簡単にできてしまいますが、
高度なことをしようとすると、空間ベクトル、座標変換などの算数(数学)の知識が必要になることに気づくでしょう。
本トークでは、ARKitを使いこなすために自分が勉強した3Dプログラミングと基本的な算数(数学)について分かりやすく説明します。

採択
2018/08/30 18:20〜
Track B
レギュラートーク(15分)

標準アプリから学ぶ、HIGが教えてくれないiOSデザインのこと

usa619_ Ryo Usami

Apple Human Interface Guideline (HIG) では、iOS App をデザインする上での考え方を学ぶことができます。それ以外にも Apple がデザインをした標準アプリから知れることが数多くあります。このトークでは、Large Title や 新しいモーダルビューなど HIG を読むだけでは分からない具体的な UI の考え方についてご紹介します。

採択
2018/08/30 18:40〜
Track A
レギュラートーク(15分)

Working in a multi-cultural environment with a global app

KimiNg7 Kimi

There are many difficulties and fun when providing on code base of iOS app to serve for many countries with different features, and communicating with colleagues in different locales...

採択
2018/08/30 18:40〜
Track B
レギュラートーク(15分)

キラリと光るテクニック、アプリをデモするときの心構え

nolili Noritaka Kamiya

ついにきた、あなたが心血を注いで開発したアプリのお披露目の日、プレスも来てハンズオンもある。
このデモでビジネスの結果が変わる!重大な1日。
そんな日に向けて、どんな準備をしておけばいいでしょうか?わずかの準備の差が、印象を大きく変えるのです。
iPhoneを使ったメディアアートの展示会で裏方を長年務めてきたスピーカーが、そのテクニックを語ります。

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

オープンソースMDMのmicromdmを用いて、個人でデバイス管理をやってみる

n_atmark Atsuya Sato

企業におけるデバイス管理手法の一つに、MDMを用いる方法があります。
しかし、有料のMDMソリューションサービスを個人で触るハードルは高く、MDMを試すことができてない人も多いのではないでしょうか。
このトークでは、オープンソースMDMのmicromdmを用いたMDMサービスの立ち上げ方やMDMCertを用いたMDM Push証明書の取得法、API経由でのMDMコマンドの発布について紹介していきます。

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

iOSエンジニアの為のgrpc-swift入門

tikidunpon Koichi Tanaka

gRPCはGoogleが開発したハイパフォーマンスなRPC(Remote Procedure Call)プロトコルです。
Firebase SDKにも組み込まれていて、間接的に使った方も多いと思います。
トークでは、アプリからの通信の選択肢として、RESTやGraphQLに加えてgRPCも選べるように、
gRPC自体の解説、grpc-swiftの開発状況や現状の課題をデモを交えお伝えします。

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

Code PushとReact Nativeで緊急OTAリリース!了解!

myb Masayuki Iwai
myb

Visual Studio App Centerに統合されたCode Push。
Code PushとReact Nativeを使うと、Over the Airでアプリの変更点を即座にユーザーの手元に届けることができます。
実際にCode Pushを使用してみて得られた知見を紹介します。

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

再利用可能なUI Componentsを利用したアプリ開発

yuta24 多和田 侑

iOSアプリ開発とUIは切っても切り離せない関係ですが、UIの実装には時間がかかります。ですが、Atomic Designの考え方を取り入れ、デザイナーと認識合わせをすれば再利用可能な UI Components を定義することができ、開発速度を上げることができます。
このトークでは、UI Componentsを定義する上でデザイナーと認識合わせしたこと、実装する上で工夫したことを紹介します。

採択
2018/08/30 20:00〜
Track A
レギュラートーク(15分)

ツールとして利用するUIテスト

fromkk Kazuya Ueoka

Xcode 9よりXCTestにスクリーンショット撮影機能が実装されました。XCTestはテストコードから地域や言語を指定する事が可能で、xcodebuildで複数のシミュレーターでテストが実行可能なので、様々な画面サイズと条件のスクリーンを集める事が出来るのです。デザイン崩れ等はUIテストでも判別が難しい物の一つですが、半自動的にデザイン崩れを解消する事が可能になったので発表したいと思います。

採択
2018/08/30 20:00〜
Track B
レギュラートーク(15分)

Playground駆動開発のすすめ

_rockname rockname

ほとんどのiOSエンジニアは、デザイナーさんからデザインを受け取り、その仕様通りに実装すると思います。
が、それでもやはりデザイン調整は入ります。
その度にSwiftの長いコンパイルを待ってUI調整を確認するのは、さぞツライ作業です。

そこで、デザイン調整の工程をPlaygroundでやってしまおうというわけです
...それが「Playground駆動開発」です!

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

設計時空のリファクタリング〜複数アーキテクチャを抱えたアプリのリファクタリング事例〜

ktanaka117 ダンボー田中

長く続くアプリ開発において、複数のアーキテクチャが積層のように負債となってしまうことは、割と多くの現場で起きているのではないでしょうか。
より良い開発をしていくためには負債の返済という、痛みを伴う対応を迫られるときがいつかきます。
このトークでは自分が直近で直面した負債の返済について話をします。
どう返済していったのか、チームとどうやって足並みをそろえたのか、様々な反省をお伝えします。

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

アルゴリズムを通じてよりよいアプリを

rayfix Ray Fix

アルゴリズムはコーディング面接以外にも使います。適切なアルゴリズムとデータ構造を使用して、アポイントスケジューラまたはコレクションビューの画像コラージュを実装しているかどうかは、優れたユーザーエクスペリエンスの鍵です。 この講演では、WWDC2018でSwiftでアルゴリズムを使用する際の主要なポイントをいくつか見直します。また、SwiftらしいSwiftで、アプリでアルゴリズムを効果的に適用する方法についても説明します。

採択
2018/08/31 10:50〜
Track A
レギュラートーク(15分)

~~ †††† 漆黒の魔法 Objecitve-C Runtime API †††† ~~

_bannzai_ bannzai

やめて!Objective-Cの黒魔術でRuntime APIで色々されたら、闇のコードと繋がっているiOSアプリエンジニアの精神まで燃え尽きちゃう。お願い、機能してXcode。あなたがここで倒れちゃうとマネージャーや社長との約束はどうなっちゃうの。ライフはまだ残っている。ここを耐えれば納期に間に合うんだから。次回「城n(ry

Objective-Cの黒魔術を用いて闇のコードを紹介していきます。

採択
2018/08/31 10:50〜
Track B
レギュラートーク(15分)

Markdownをリアルタイムに解析する

nakajijapan nakajijapan

Markdownを解析する時にGitHubで探せば簡単にライブラリを何個も見つけることができます。しかし、をそれをリアルタイムとなるとなかなかみつけることができません。私は端末間で同期できるメモアプリを作成し、機能の一つに入力しながらMarkdown形式に色付けをする機能を実装しました。本トークではリアルタイムに文章を解析し、リッチな表現をどのようにして行っているのかを解説します。

採択
2018/08/31 10:50〜
Track C
レギュラートーク(15分)

複数のライブ映像を同期再生するのが大変だったので知見をお伝えします

FromAtom FromAtom

ライブ配信サービスが流行っている中、WWDC2017で EXT-X-PROGRAM-DATE-TIME タグのサポートが発表されました。
これにより、複数のAVPlayerに表示されるライブ映像を同期することが可能になりました。

このトークでは、
・複数のライブ映像をズレなく同期再生するノウハウ
・ハマりどころ
・設計のコツ
を実際にプロダクション環境で運用した経験をもとにお話します。

採択
2018/08/31 11:20〜
Track A
レギュラートーク(30分)

MicroViewControllerで無限にスケールするiOS開発

tarunon tarunon

MicroViewControllerという仕組みを導入したことで我々はメンバーの誰もが経験したことのない開発速度とスケーラビリティを手に入れました。
「10人規模で画面の開発が可能」「全てのVCとVMは500行未満」「手軽に値レベルで実現可能なMock」「50のVCで構成される一画面」
MicroViewControllerを取り入れた画面設計について、我々のベストプラクティスを紹介します。

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

Swift 4.2 はどのような進化をしているのか

tobi462 Yusuke Hosonuma

Xcode 10 から Swift 4.2 に変更となりますが、変更点のチェックはお済みでしょうか?
CfPを出す現時点で Swift 4.2 には 18個の Proposal が実装されています。
本トークでは時間の許す限りで、すべての Proposal についてその解説を努めていきたいと思います。

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

リアルタイム革命

Keisuke69 西谷圭介

チャットに代表されるリアルタイムなアプリケーションを皆さんはどのように開発していますか?リアルタイムな双方向通信をサポートするソリューションを利用したり、Socket.ioなどを用いてWebSocketで自前で構築するなどあると思います。本セッションでは新たなクエリ言語として注目されるGraphQLのSubscriptionを用いる方法をGraphQLのマネージドサービスであるAWS AppSyncとあわせてご紹介します。

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

安定したチャットを実現するためのアプリとAPI設計

muukii0803 muukii

SNS系のアプリのほとんどはチャット機能を持っています。
しかし、チャット機能の実装はUXを求め始めると難しく、複雑になっていきます。
「順番が狂う」「送信完了までメッセージが表示されない」「受信されない」「重い」など
データが蓄積されていくチャットのような機能はどのように実装すべきなのかをお話しします。

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

Swift Compilerの最適化入門 - AllocBoxToStack編

kitasuke Yusuke Kita

varとletはSwiftコードを書く上で頻繁に使い、それぞれの特徴を理解してコードを書くことが重要です。しかし、実は適切な使い方をしていなくてもSwift Compilerがあるべき姿に最適化しています。このトークでは、Swift Compilerの最も重要な役割のひとつであるSIL(Swift Intermediate Language)を見ながらどのような最適化が行われているか紹介します。