iOSDC Japan 2019 プロポーザル一覧

LT(5分)

これデフォルトで作れないんだ!?を解消した話

m-naruse
要求通りに従順に作るエンジニアとプロジェクトをしていると、
「これってデフォルトの機能じゃないんだ..」「この動き作るのってそんなに辛いの..?」
と後からデザイナーが知る、ということがたまにあるのではないかと思います。
また、UISearchBarを使えばいいところを細かい見た目の要求を守ろうとすることでUITextFieldを使ってみたり、
UILabelじゃなくてあえてUIButtonで実装したりなども経験のあるエンジニアもいるのではないかと思います。
この辺りは認識の差をなくせば解決できる問題であり、
デザイナーにある程度周知することで、裏で変に頑張るエンジニアを減らせるのではと考えています。
このトークでは、
「(おそらく)あるあるな辛いデザイン要求」を順に見て考察しながら、技術面、コミュニケーション面含めどのように解決したのかについて話したいと思います。¥
また、それに伴って開発した、UIレシピブックアプリについても公開しようと思います
レギュラートーク(30分)

セマンティックなアプリを開発しよう

三縞勇輝 mishimaybe
画面サイズの違い、ダークモード、アクセシビリティ、ローカライズ・・・
アプリが使われる状況はさまざまあり、アプリ制作者が考えなければならないことは年々増えています。
すべての状況を考えての開発は現実的に難しいことが多いのではないでしょうか。

しかしSwiftUIの登場によってこの状況は変わりそうです。
今までよりももっとセマンティックなアプリを作れるようになり、それによりさまざまな状況に簡単に対応できるようになるでしょう。

このトークでは、アプリ制作者が考慮しなければならない事項を振り返りつつ、抽象度が高くセマンティックでできるだけ多くの状況に対応できるアプリをどのように作ればいいかをお話します。
LT(5分)

マッチングアプリ開発に伴うAPIモックをクライアントのみで実現する

高橋友貴 tomosan_dev
マッチングアプリには「相手」が存在することが必要条件です。
そのような条件がある中でAPIの実装待ちなどで実装スピードが落ちないように、Peer to Peer通信で任意の相手をAPIモックの中に注入し表示できるデバッグモードを実装しました。
そのデバッグモードをどのように実現したのかをお話しします。
7
LT(5分)

あなたの知らない Xcodeショートカット 30連発

カシハラ kashihararara
日本中のiOSエンジニアの皆さん、こんにちは! Xcode で開発していて生産性にお困りではありませんか?

開発生産性を一番簡単に上げる方法は、ショートカットを覚えることです(断言)
しかしながら、意識しないと覚えられないのがショートカットでもあります

このトークでは Xcode のショートカットについて、普段使いするものから知っておくと便利というものまで余すところなくご紹介いたします
会場にいる皆さんの 開発にかかる一日あたりの時間を 1分/1人 短縮して、日本の iOSアプリ開発 の生産性を向上させることがトークの目標です!

さて、クイズです。次のショートカットは何でしょうか
・⌘ + T 連打 → ⌘ + ⇧ + バックスラッシュ
(初めて知ったって方は☆をクリックしていただけると嬉しいです)
7
LT(5分)

社内アプリ配布システムをFirebaseで構築した話

scenee scenee
この度、YappliにてFirebaseを用いたアプリ配布システムを構築しました。

Firebase Functions/Storage/Hosting/Authenticationを活用することで、とても簡単に素早くシステム構築できたことに大変驚きました。

この経験から私は、Firebaseはアプリ開発だけではなくその開発を支える社内インフラ全体でも大いに活用が見込めると考えるようになっています。

本LTでは、Firebaseでの社内配布システム構築で経験したFirebaseのPros/ConsをAWSとも比較しながら述べていきます。

また、実際に運用してはまった・失敗したポイントを共有します。

このLTをきっかけにFirebaseの社内インフラ活用ノウハウをみなさんと深めていけると嬉しいです。


* アプリ配布システム構築の動機
* Firebaseでの社内システム構築のAWSとの比較
* Functions
* Hosting
* Storage
* Authentication
* Firebase Functions/Hostingでのハマりポイント
* 今後実施していきたいこと
1
iOSDCルーキーズLT(5分)

歴史あるWebAPIとCodable対応

Go Takagi shimastriper
WebAPIと通信して取得したJSONをオブジェクトにマップする。
多くのiOSアプリではこの作業を実現するためにJSONのデータ構造を表現したEntityを用意し、変換しています。
Swift4でCodableが登場してこれらのマッピングはより簡潔な構造で記述することが可能となりました。
しかし、実際には運用するWebAPIの構造に応じて、Codableを単純には導入できないケースが出現し、細かい対応が必要となります。
本トークでは、既存のプロダクトにCodableを導入するにあたって、利用しているWebAPIのデータ構造に応じて、どの程度の記述量でコーダブレル(Codable)のかをまとめました。
新卒1年目が会社の既存プロダクトのCodable対応を通して得られた知見の発表です。初級者向けです!
1
レギュラートーク(30分)

App Store Connect as Code

カシハラ kashihararara
2019年5月の弊社にて、退職された方のアカウントが App Store Connect に残っていることが見つかり、ちょっとした事件になりました(汗
ユーザー管理などをブラウザ上で行うのはカジュアルさに一定の利があるものの、会社として運用を行うに当たっては履歴が取れなかったり、アカウントの管理権限が様々な人に渡ってしまうなどの問題が簡単に発生してしまいます。

そこでアカウント情報などをコードで管理する手法を使うと、退職フローでアカウントの削除が適切に行われたかどうかをコミットログに残すことができます

また、コードで管理することで 依頼(プルリクエストの作成) と 承認 (Approve)の体制が自然と導入されて、過度な権限委譲や間違いなども未然に防げるメリットがあることも発見でした

このトークでは
・コードで管理する利点
・App Store Connect API での管理手法
・運用していく中で得た知見

についてご紹介いたします
7
レギュラートーク(60分)

SwiftUI vs React Native

Masayuki Iwai myb
かたやWWDC 2019で発表された新しい宣言的UIフレームワーク・SwiftUI。かたやJSXという構文によって宣言的にUIを記述するマルチプラットフォームのフレームワーク・React Native。

両者は共にコンポーネント指向の思想に基づいてUIを設計・記述する、いわば同門のフレームワークです。

この講演では、言語の違いを超えてSwiftUIとReact Nativeを徹底比較。関連するCombineやReduxといったフレームワークにも触れつつ、両フレームワークのメリット・デメリットから、動作の仕組み、設計、既存プロジェクトからの移行、テストやデバッグなど、実践的な視点でお話しします。
1
LT(5分)

Metal でレイトレースレンダリング

x67x6fx74x6f x67x6fx74x6f
WWDC 2018 のセッションで Metal Performance Shaders を使用した iOS や macOS で、
3DCG を使用するレイトレースレンダリングの実装が発表されました。

レイトレースレンダリングの概要と WWDC 2019 追加された Denoiser などの機能などを話します。
1
レギュラートーク(30分)

SwiftUI vs React Native

Masayuki Iwai myb
かたやWWDC 2019で発表された新しい宣言的UIフレームワーク・SwiftUI。かたやJSXという構文によって宣言的にUIを記述するマルチプラットフォームのフレームワーク・React Native。

両者は共にコンポーネント指向の思想に基づいてUIを設計・記述する、いわば同門のフレームワークです。

この講演では、言語の違いを超えてSwiftUIとReact Nativeを徹底比較。関連するCombineやReduxといったフレームワークにも触れつつ、両フレームワークのメリット・デメリットから、動作の仕組み、設計、既存プロジェクトからの移行、テストやデバッグなど、実践的な視点でお話しします。
2
レギュラートーク(60分)

英文法でAPI Designを解析する

ころすけ cor0suke_k
皆さんは学校で学んだ英文法についてしっかり覚えていますか?
このセッションでは高校までで学習する英文法を使ってUIKitなどAppleが用意したよく使うFrameworkのAPIを紐解いてお話します。
このセッションを聴くことによってAppleのFrameworkという例を基により良いAPI Designのヒントや実際に使える英文法についての知識を得られることでしょう。

【予定している発表内容】
- 英文法の前提知識の導入
- UIKitのメソッドを文型などの型を使って分類し、使われてる型、使われていない型について
- 上で分類したことを使って実際にどういう時にはどういう風に名前付けが行われているか
- よく使われてる動詞、時制、言い回しの紹介
- APIが作られた年代別に何か変化したか
などを予定しています。
2
iOSDCルーキーズLT(5分)

ボイラーテンプレートを撲滅しよう!Sourceryを使ったメタプログラミング

SourceryとはテンプレートよりSwiftのコードを生成するツールです。我々の開発スピードを上げたり、ヒューマンエラーを減らしてくれます。それによりdeveloperはより価値のある課題に取り組むことができます。
本トークではSourcey、stencilの解説、どんなテンプレートを書けば便利になるのか、導入したときのハマりどころなどを実際のプロジェクトをお見せして、リアルタイムに反映されるところまでご紹介します。
6
iOSDCルーキーズLT(5分)

日々の開発効率向上のための自動化への道

senogku akihisa akihisasen
開発者が開発に集中するために、重要な自動化!!
大切だと分かっていても、なかなかやるのがめんどくさい自動化。

どのように自動化の開発を運用をしているかについて話します。

- 自動化初めの1歩
- メンテナンスについて
- いつやるのか?
- CIの移設
- 自動化の例
- etc..
レギュラートーク(30分)

英文法でAPI Designを解析する

ころすけ cor0suke_k
皆さんは学校で学んだ英文法についてしっかり覚えていますか?
このセッションでは高校までで学習する英文法を使ってUIKitなどAppleが用意したよく使うFrameworkのAPIを紐解いてお話します。
このセッションを聴くことによってAppleのFrameworkという例を基により良いAPI Designのヒントや実際に使える英文法についての知識を得られることでしょう。

【予定している発表内容】
- 英文法の前提知識の導入
- UIKitのメソッドを文型などの型を使って分類し、使われてる型、使われていない型について
- 上で分類したことを使って実際にどういう時にはどういう風に名前付けが行われているか
- よく使われてる動詞、時制、言い回しの紹介
- APIが作られた年代別に何か変化したか
などを予定しています。
3
レギュラートーク(30分)

スクリーン配信機能の実装が大変だったので知見をお伝えします

FromAtom FromAtom
iOSで画面を収録してライブ配信を行うにはReplayKit2を利用し、Upload Extension経由で画面を配信する必要があります。
さて、そのUpload ExtensionをXcodeで追加すると BroadcastSetupViewController というUIViewControllerが追加されます。

「これ……なに……?」

なんとか謎のViewControllerの正体を暴いた後、次の壁にぶつかりました。
Upload Extensionの動作時にはiOS側の制限で約50MBのメモリ制限がかかっているため、
気楽に処理を書くとすぐにメモリが枯渇してしまうのです。

「気軽に処理書くとiOSに殺されるんだが……?」

このトークでは、将来スクリーン配信機能をつくる誰かが少しでも楽になることを主目的とし、
スクリーン配信機能の作り方をまとめながら、ハマりどころやデバッグのコツをお話します。
1
レギュラートーク(30分)

コードの複雑性を最小化するN個のコンセプト

shingt _shingt
日々アプリに機能実装をしていく中で、我々はコードに複雑性 (Complexity) を加え続けています。システムの理解を困難にする複雑性は開発スピードを落とし、バグを生じさせ、それが更に開発スピードを落とすという悪循環を引き起こします。

“A Philosophy of Software Design” という本があります。ソフトウェア開発における複雑性が何であるかを定義し、それを最小化するためのコンセプトを例とともに21章に渡り記述した本ですが、このトークではこのうちいくつかを抜粋して紹介し、実際にiOSアプリ開発のプロジェクトにどのように適用できるか、ということも交えた上でお話しします。

例として以下のような内容に関し話す予定です。
- Modules Should Be Deep
- Write The Comments First
1
LT(5分)

5分でわかる!Xcode 11から使えるXCFrameworks

Sho Ikeda(いけしょー) ikesyo
WWDC 19で発表されたXcode 11の新機能の中でも喜ばしいものの1つは、XCFrameworksという、フレームワークの新しいバイナリ配布フォーマットです。これまでフレームワークの配布には".framework"という拡張子のフォーマット(バンドル)が使われていました。しかし".framework"のバイナリの配布では、1つのバンドルでシミューレーターとデバイス両方で使用できるようにするためのビルド手順の複雑さ、iOS用とmacOS用、tvOS用など対応プラットフォーム毎にバンドルを分離する必要(この場合は3つ)などの問題がありました。

Xcode 11から使える".xcframework"という新しいフォーマットは、まさにこれらの問題を解決しているのですが、どのように解決しているのか、またどうしてXcode 11のタイミングで導入されたのでしょうか?本LTではXCFrameworksの構造や作成方法、そしてこの形式が導入された理由(の推測)に迫っていきます。
7
iOSDCルーキーズLT(5分)

マシンパワーに頼るだけじゃない!あなたのビルド待ち時間を短くする方法

Xcodeのビルド時間はすべてのiOSエンジニアを困らせている問題です。しかし、解決できれば、その分我々の生産性を大きく上げてくれます。マシンパワーに頼らず、ビルド時間を短縮する方法を実際の事例とともにご紹介します。
どんなコードが遅くなるのか、その見直し方に興味がある方におすすめです。
本トークではあなたのプロジェクトのボトルネックをどうやって探すのか、調査~解決までの方法をお伝えし、実際にライブコーディングで披露します。
4
レギュラートーク(30分)

リアルタイム更新アプリの開発をして分かったこと

田口翔一 dokkoi_shoichi
AWSでは、AppSyncというリアルタイム更新が容易に可能なサービスが展開されています。

AppSyncを利用すればリモートのDBが変更されたタイミングで
クライアントのデータを即時更新することができます。


昨今ではSNSやリアルタイム性が重要な情報が多くあります。
そういった情報の配信にAppSyncは非常に有用です。

ユーザーが能動的にPull to Refreshする必要がなく、画面を開いているだけで即時情報が更新されていくアプリを開発できます。
わざわざソケット通信を実装する手間もなく、AWSAppSyncライブラリを導入することで解決します。

このトークでは、
AppSyncを実際にプロダクトに導入した感想や、得たノウハウをご紹介できればと思います。
2
LT(5分)

5分でわかる!! Speech Framework と Natural Language Framework

だっちゃん dchn2904
先日行われた SPAJAM 2019 の 関西予選にて「Speech Framework と Natural Language Framework」をつかったアプリを作り、優秀賞を受賞しました。

初めて使った Framework。Speech と Natural Language。

初めての導入から、実装、はまりにはまった音声入力待ち状態と音声再生などをサンプルコードを交えて紹介したいと思います。
1
iosdc-japan-2018 sponsors iosdc-japan-2018 potential-sponsors 開催後請求
ブースWL
仮採択
仮採択 採択済
iosdc-japan-2018 sponsors iosdc-japan-2018 potential-sponsors 開催後請求
ブースWL
仮採択
仮採択 採択済