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

Xcode Source Editor Extension を作って効率あっぷあっぷ

dchn2904 だっちゃん

開発してて、Xcodeにはないちょっとした機能を使いたくなることはありませんか?
他のアプリを起動して、作業するのも面倒ですよねー😞

そんなときは、Xcode Source Editor Extension を使うのです。

このトークでは、 Xcode Source Editor Extension を使って機能開発した実例を発表します。

iOSDCルーキーズ LT(5分)

地味に面倒だけど対応が必須になってしまったので, iPhoneXに現実的に対応する

gawawa124 がわわ

2018年7月以降にiPhoneX対応が必須化しますが、地味に面倒なiPhoneX対応、現場で出てきそうなケースへの解決策について5分で話します。

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

今からきちんと理解するCocoaPodsの仕組み

tobi462 Yusuke Hosonuma

iOS開発者でCocoaPodsの使い方を知らない方はいないでしょう。
一方で水面下で何が行われているか、きちんと理解している方は少ないのではないでしょうか?
本トークではCocoaPodsの仕組みをわかりやすく解説し、”なんとなく使ってる”レベルから脱出します。
また最新の1.5での変更点についても触れたいと思います。

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

SDKを作ってみよう

shmdevelop satoshi0212

FeatureFlagsの機能を使うための社内SDKをSwiftで実装しました。そこにはいくつもの関門と調査と発見がありました。
SDKを作るにはどうするのか、考慮すべき点とは、苦労した点とは、解決した課題は。

完成に至るまでの物語と知見を是非聞いてください。

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

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

k_katsumi Kishikawa Katsumi

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

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

実演で振り返るARKitのこれまでとこれから

TK_u_nya cokaholic

ARKit は WWDC2018 で ARKit 2.0 として大幅なアップデートが行われ、今まで以上に AR で表現できることの幅が広がりました。
今回は ARKit の Ver1.0 ~ 2.0 を実際のサンプルコードと実演で振り返り、ARKit 2.0 まででどういったことをARで表現できるのかをお話しします。

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

iOSアプリ開発における日本語命名

kumamo_tone Kazumasa Kumamoto

わかりやすいプログラムを書くために、命名はもっとも重要な要素のひとつです。

本セッションでは、Swift言語の生みの親の思想や、ドメイン駆動開発の話を交えつつ、国内のiOSアプリ開発において、現代においても一般的な英数字のみの命名にこだわる必要があるのか?という点について考察します。

また個人的に日本語命名を採用して半年ほどアプリ開発した際に、感じたメリットや、逆に予想外につらかった部分などについてご紹介します。

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

動画アプリをなめらかに動かす技術

dekatotoro Hato Yuji

近年、動画サービスが盛り上がりを見せています。
単に動画を再生するだけなら簡単ですが、なめらかなUI/UXの実現や複数動画再生の制御、エラーハンドリングなど
実際のサービスでは考慮すべきことが多々あります。
iOSでAVPlayerを使った動画再生の知見についてお話したいと思います。

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

tvOSアプリUIの勘所

tokorom 所友太

tvOSアプリはUIKitを利用してiOSアプリと同じ感覚で実装できます。ただ、実際に実装していくとフォーカスの考え方など、tvOSアプリ独自の概念を考慮しつつUI設計を進めていかならければならないことがわかってきます。そのあたり、実際に業務としてtvOSアプリを作りながら得られた知見を、WWDC 2018で発表されたtvOS 12で加わったTVUIKitなどを絡めて紹介できればと思います。

採択
2018/09/02 17:10〜
Track A
LT(5分)

WebSocketによるビデオ通話

daketake 竹田光佑

ビデオ通話を実装するにあたり、一般的なWebRTCを用いる代わりに、WebScoketを用いて実装した例をアーキテクチャを示します。WebSocketを用いることで手軽に複数人のビデオ通話が実現できます。また、ビデオ通話をWebRTCとWebSocketで実装した時の利点と欠点を比較します。

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

ブラックボックスなコードに対して少しずつテストを書いていくためのテクニック

k_katsumi Kishikawa Katsumi

継続的に開発していく上で、テストは非常に重要です。意図しない影響を防ぎ、毎回のレビューの負荷を大きく下げます。一方で、テストがない複雑なコードはすぐにブラックボックス化し、変更もレビューも大変になります。しかし最初からテストを書くことは難しいことも多く、テスタブルなコードでないこともあります。そのような場合でも、大幅な書き換えをすることなく、最小限の負荷でテストを書いていくさまざまなテクニックを、私の経験から実例を用いて解説します。

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

LLDBを最大限活用してみる。

k_miyasaka_ k_miyasaka

XCODEのデバッグ機能は便利で、スタックトレースとpoコマンドの入力だけでもゴリゴリとデバッグできる方が多くいらっしゃると思いますが、
それらはLLDBの機能の氷山の一角です。
不具合の原因検知、修正だけでなく、
リビルドせずにコンソールからUIを変更するなど新規コーディングでも活用できる方法を発表致します。

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

実例から学ぶモバイルアプリにおけるモーダル/モードレスの考え方

usa619_ Ryo Usami

モーダル遷移、プッシュ遷移のどちらを利用すべきか明確に説明できますか?モードについての考え方は、OSアプリを構成する重要な要素です。デバイスの大画面化やApp上のタスクの複雑化に合わせて、標準アプリも新しいモーダルデザインが導入されています。このトークでは、モードについての基礎的な考え方から、昨今の進化したモーダル/モードレスデザインについて「Wantedly Visit」での実例を交えながらご紹介します。

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

実例から学ぶモバイルアプリにおけるモーダル/モードレスの考え方

usa619_ Ryo Usami

モーダル遷移、プッシュ遷移のどちらを利用すべきか明確に説明できますか?モードについての考え方は、OSアプリを構成する重要な要素です。デバイスの大画面化やApp上のタスクの複雑化に合わせて、標準アプリも新しいモーダルデザインが導入されています。このトークでは、モードについての基礎的な考え方から、昨今の進化したモーダル/モードレスデザインについて「Wantedly Visit」での実例を交えながらご紹介します。

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

Interface Builder のつらみと向き合う

kumamo_tone Kazumasa Kumamoto

仕様変更に対応するため、部品を移動したら制約がすべて壊れてしまった…といった経験はありませんか?
StoryboardやIB(Interface Builder)は強力なツールですが、やや扱いづらい部分もあります。
本セッションでは、IBのつらさを軽減するTipsのほか、IBを使わないレイアウト方法、IBを使わずにStoryboardを編集する方法などに触れつつ、快適に、変更に強いUIを作るためにやっていることについてご紹介します。

LT(5分)

コミットログでタイムスリップ

dchn2904 だっちゃん

「コメントは3ヶ月後の自分へ」とあるように、Gitのコミットログでも同じことが言えます。

「○○のバグに対応」「△△の処理を消す」といったコミットログを見た経験があるはずです。
PRを見ている時は何も問題のないコミットログでしょう。
しかし、未来の自分がコミットログを見返して「なぜ・どんな対応したのか」を読み解くことは可能でしょうか?
このトークでは、コミットログの書き方を変えたことで、改善できたあれこれを発表します。

iOSDCルーキーズ LT(5分)

iOS開発を便利にする仲間たち

gawawa124 がわわ

fastlaneの便利なlaneや, Google Apps Script, gitのaliasやslack連携しているアプリなど、iOS開発を便利にする仲間たちを5分で紹介します。

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

Swaggerの定義レビューを導入して改善したAPIの設計から実装・運用までの流れ

496_ 六々

APIの実装で、Swaggerの定義レビューを導入して、アプリ側・サーバー側の認識を一致させることで手戻りを少なくした話。

導入する前のダメだったところから、導入してどこが変わったのかといったところをアプリエンジニア視点でお話できればと思います。

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

Adaptive UI - 解像度の異なるデバイスや画面の向きに対応する最適なレイアウトへ -

dekatotoro Hato Yuji

多くのサービスは縦や横に固定したアプリではないでしょうか。
iOS8から「Adaptive User Interface」という考え方が取り入れられ、
解像度の異なるデバイスや画面の向きによって最適なレイアウト対応が推奨されています。

iPhoneでの画面回転に対するニーズはそこまで多くないかもしれませんが、iPadの対応にも応用できます。
Adaptive UIへの対応と知見についてお話したいと思います。

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

コミットログでタイムスリップ

dchn2904 だっちゃん

「コメントは3ヶ月後の自分へ」とあるように、Gitのコミットログでも同じことが言えます。

「○○のバグに対応」「△△の処理を消す」といったコミットログを見た経験があるはずです。
PRを見ている時は何も問題のないコミットログでしょう。
しかし、未来の自分がコミットログを見返して「なぜ・どんな対応したのか」を読み解くことは可能でしょうか?
このトークでは、コミットログの書き方を変えたことで、改善できたあれこれを発表します。