レギュラートーク(15分)

Synchronized iPhones!

TachibanaKaoru TachibanaKaoru

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

レギュラートーク(15分)

iOSのUIテストの実行時間を短縮させる方法

tarappo 平田敏之

UIテストには実行時間がかかりやすいものです。
そのため、UIテストを諦めてたりしているケースもあるのではないでしょうか。

本Cfpが通ったら、リリースされているiOSアプリのUIテストを1から実装します。
そして、最初に実装したUIテストの実行にかかっていた時間を、色々な方法を用いて実行時間を短縮させていきます。

実際にどのような方法を用いながら、どこまでの時間を短縮できるかを説明します。

LT(5分)

まだStoryBoardで疲弊してるの?

KyoheiG3 Kyohei Ito

StoryBoardで線を引っ張ってViewControllerを繋げてるそこのあなた、本当にそれ必要ですか?
メリットよりもデメリットのほうが多いStoryBoardは捨てて、今すぐ疲弊する日々からおさらばしましょう。
その圧倒的なメリットを知れば、過去の遺産にすがる必要はなくなります。

レギュラートーク(30分)

MicroViewControllerのステート副作用管理技術「ThunkBag」の紹介

orakaro orakaro

メルカリの新アーキテクチャー”MicroViewController”にReduxライクステートが導入されましたが、そのステートの副作用管理問題に悩まされた時期もありました。副作用を優先すべきケースと優先すべきでないケースの明確化、プロパティーの順序を意識することなく安全なステート変更の保証など、上手く副作用を管理する仕組みのThunkBagをこのトークで紹介致します。

レギュラートーク(15分)

grpc-swiftを使ってiOSアプリでも快適なgRPC通信を行う

KyoheiG3 Kyohei Ito

Swiftで記述されたiOSアプリでも、grpc-swiftを利用してgRPC通信をある程度手軽に利用可能になります。
gRPCを利用すると、通常の通信を行うよりも通信速度は速く通信量も少なく済み、更には双方向での通信を行うことができます。
今回は、gRPCの概要、grpc-swiftの導入方法、実際にプロジェクトで利用する際の応用的なことや、grpc-swiftにコントリビュートしたときの経験談などをお話させていただきます。

LT(5分)

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

myb Masayuki Iwai
myb

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

LT(5分)

仮想通貨のapiって面倒くさい

sun54907 海川和弥

仮想通貨のアプリって流行ってるし簡単にできそう!けどapiの単語がわからん!認証が面倒!という人向けトークをします。単語とか各取引所別の認証のやり方の話します

レギュラートーク(30分)

既存アプリにCloudFireStoreを導入する簡単な方法

sun54907 海川和弥

Firebase の RealTime Database に代わるものとして、昨年10月に発表された Cloud Firestore 。未だベータ版ですが、そちらを弊社マッチングアプリ「タップル誕生」に導入して、運用している話をしたいと思います。すでに出来上がっているシステムにどうやって組み込んだのか、どのくらい簡単なのか、リスクヘッジはどうなってるか、などのお話をしたいと思います。

レギュラートーク(15分)

既存アプリにCloudFireStoreを導入する簡単な方法

sun54907 海川和弥

Firebase の RealTime Database に代わるものとして、昨年10月に発表された Cloud Firestore 。未だベータ版ですが、そちらを弊社マッチングアプリ「タップル誕生」に導入して、運用している話をしたいと思います。すでに出来上がっているシステムにどうやって組み込んだのか、どのくらい簡単なのか、リスクヘッジはどうなってるか、などのお話をしたいと思います。

レギュラートーク(15分)

本気で理解するRxSwift超入門15分

mego_ koishi

昨年転職した会社でRxSwiftを用いた開発を経験しましたが、予想通りの大苦戦でした。
具体的な実装方法に困っても、Web上にはマーブルダイアグラムと呼ばれる概念の解説が多く、初心者向けの情報を得ることが出来ませんでした。
このトークではRxSwiftを聞いたことがあるけれど使ったことはない・実態がよくわからない・どんなメリットがあるのかわからない…
そんな方達へ、これ以上RxSwiftでつまずかないために本気で発表します。

iOSエンジニアに聞いて欲しいトーク(30分)

本気で理解するRxSwift超入門30分

mego_ koishi

昨年転職した会社でRxSwiftを用いた開発を経験しましたが、予想通りの大苦戦でした。
具体的な実装方法に困っても、Web上にはマーブルダイアグラムと呼ばれる概念の解説が多く、初心者向けの情報を得ることが出来ませんでした。
このトークではRxSwiftを聞いたことがあるけれど使ったことはない・実態がよくわからない・どんなメリットがあるのかわからない…
そんな方達へ、これ以上RxSwiftでつまずかないために本気で発表します。

レギュラートーク(15分)

関心分離のためのContainer View Controller

tanakasan2525 Tatsuya Tanaka

ViewControllerは機能追加や修正のたびにすくすくと成長し、肥大化していきます。その原因の一つとして、そのViewControllerが多くの役割を担っていることが多いです。その改善方法としてContainer View Controllerを活用する方法があります。このトークではContainer View Controllerを活用することで関心を分離し、肥大化しにくくテスタビリティの高い実装を作るアプローチを紹介します。

iOSDCルーキーズ LT(5分)

UnityでマルチプラットフォームなARアプリを作る

tanakasan2525 Tatsuya Tanaka

iOSのARKit、AndroidのARCore、それぞれ特徴は似ていますが本来別々で実装する必要があります。ですが、Unityを利用することでAR体験に必要なロジック等をできるだけ共通化させることができます。
このトークでは、Unityを利用したARの開発方法から、マルチプラットフォーム向けのARアプリを作るための方法などを紹介します。

レギュラートーク(30分)

UnityでマルチプラットフォームなARアプリを作る

tanakasan2525 Tatsuya Tanaka

iOSのARKit、AndroidのARCore、それぞれ特徴は似ていますが本来別々で実装する必要があります。ですが、Unityを利用することでAR体験に必要なロジック等をできるだけ共通化させることができます。
このトークでは、Unityを利用したARの開発方法から、マルチプラットフォーム向けのARアプリを作るための方法などをUnityの前提知識なしでも分かるように紹介します。

レギュラートーク(15分)

UnityでマルチプラットフォームなARアプリを作る

tanakasan2525 Tatsuya Tanaka

iOSのARKit、AndroidのARCore、それぞれ特徴は似ていますが本来別々で実装する必要があります。ですが、Unityを利用することでAR体験に必要なロジック等をできるだけ共通化させることができます。
このトークでは、Unityを利用したARの開発方法から、マルチプラットフォーム向けのARアプリを作るための方法などをUnityの前提知識なしでも分かるように紹介します。

レギュラートーク(15分)

QuickとNimbleに見る、Mixed LanguageかつCross-Platformなライブラリ開発

ikesyo Sho IKEDA

QuickとNimbleというテスト用ライブラリを知っていますか?XCTestをラップし、テストコードをより楽しく、より効率的に書けます。これらはSwiftとObjective-Cの両方から使え、またSwiftPMにも対応し、Linux(サーバーサイドSwift)でも使えます。

コアコントリビューターが、このMixed LanguageかつCross-Platformという特徴をどのように実現・メンテナンスしているかを解説します。

レギュラートーク(30分)

QuickとNimbleに見る、Mixed LanguageかつCross-Platformなライブラリ開発

ikesyo Sho IKEDA

QuickとNimbleというテスト用ライブラリを知っていますか?XCTestをラップし、テストコードをより楽しく、より効率的に書けます。これらはSwiftとObjective-Cの両方から使え、またSwiftPMにも対応し、Linux(サーバーサイドSwift)でも使えます。

コアコントリビューターが、このMixed LanguageかつCross-Platformという特徴をどのように実現・メンテナンスしているかを解説します。

LT(5分)

もっとFluidでRedirectableなモーダル表示アニメーション

hirobe 広部一弥

WWDC2018のセッション"Desiging Fluid Interfaces"で、アプリ起動・終了のアニメーション中にも別の画面操作ができるよって話があったので、モーダルViewControllerの開閉アニメーションでそれを実現してみました。作り方を紹介します。

レギュラートーク(15分)

もっとFluidでRedirectableなモーダル表示アニメーション

hirobe 広部一弥

WWDC2018のセッション"Desiging Fluid Interfaces"で、アプリ起動・終了のアニメーション中にも別の画面操作ができるよって話があったので、モーダルViewControllerの開閉アニメーションでそれを実現してみました。作り方を紹介します。

iOSDCルーキーズ LT(5分)

「開発初心者は何がわからないのか」わからないを言語化するヒント

marina10172013 まりーな

対象:メンターやメンティー
概要:
gitのブランチやマージの概念がわからなくてターミナルの黒い画面が怖い、コンフリクトを出そうもんなら発狂しそうになる。くらす?なにそれ美味しいの?状態でアプリ開発者になりました。
わからないことを何がわからないのか、始めたばっかりの頃は言語化できません。
アプリ初心者がどこに躓き、何がわからないのかを紹介します。