iOSDC Japan 2019 トーク一覧

他イベントOK レギュラートーク(30分)

簡単!FlutterでiOSのPush通知を出すところまで作ってみよう。

嶽雅也 azarashi1229
Flutterについてご存知でしょうか。
Googleが公式で出しているモバイル向けクロスプラットフォームで、iOS/Andoirdを同一のViewで作成できます。
Android界隈では試してみたなどをよく聞きますが、iOS界隈ではあまり聞きません。
今回、FlutterのインストールからOneSignalを導入して、Push通知を実際に飛ばせるところまでを0から作って、
皆さんに導入の容易さをお伝えできればと思います。
1
他イベントOK レギュラートーク(30分)

Storyboardとprotocolを使った画面遷移の個人的ベストプラクティス

417.72KI 417_72ki
去年のiOSDC2018で「プロトコルでStoryboardともっと仲良くなる」というタイトルでSegueを使いこなすことについてお話させていただきましたが、
その後の開発で動的な画面制御など、Segueだけではどうしても辛い場面が出てきてしまいました。

そこで、本セッションではprotocol extensionを使ったModal View表示の抽象化を提案しつつ、画面遷移の種類によるSegueとの使い分けについて個人的なベストプラクティスを紹介します。
2
他イベントOK 技術パッション共有トーク(60分)

デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略

酒井文也 fumiyasac
タイトルの通りなのですが、私のキャリアは割と複雑かつ一貫性が全くないキャリアにも見えるかもしれません。「エンジニア」になり、iOSアプリ開発という分野でのキャリアを歩んでいくことを決めた際に、「これまでの知見を捨て去るのではなく、上手に生かした戦略を見出そう」というテーマを持って今日まで幸運にもiOSアプリ開発に携わることができています。

この発表では、これまでの経験や興味・関心をベースとした切り口からどのようにSwiftひいてはiOSアプリ開発に対してのアプローチをしたか?そしてSwiftと向き合い、楽しみ方を見出したかという点についてお話できればと考えております。
1
他イベントOK iOSDCルーキーズLT(5分)

WWDCの最新情報キャッチアップをいかに早く・詳細にできるかの方法を考える!

Haseken haseken_dev
毎年WWDCが開催されると、Apple製品向けにプロダクトを展開している方は最新情報のキャッチアップを開始されるかと思いますが、
その量は多く、また個人でキャッチアップした内容は本当に正しいのか?また拾い切れているのか不安になるかと思います。

そこで、WWDCの情報キャッチアップのために、どのような方法が考えられるのか、セッション動画を見るときのコツ、またどのようなツールなどを利用すればキャッチアップしやすいかを個人的に行っている方法からお話しさせていただければと思います。

自分と同じようにキャッチアップに苦労している方の助けになれば & 他に良い方法があったら参加者の方より聞いてお話もできればと思っています。
1
他イベントOK 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
他イベントOK レギュラートーク(30分)

Bow.swiftで始めるFP入門 Tagless Finalのサンプル説明まで

嶽雅也 azarashi1229
Higher Kind Typeをサポートしたライブラリとして、Bow.swiftがあります。
SwiftでのFunctional Programingの入門についても最適であり、そちらの各種サンプルの説明やRx Swiftとの結合について話します。
また、この中でTagless Finalのサンプルもあり、こちらについてもカバーしたいと思います。

時間的に可能であれば、実際のユースケースまでカバーします。
他イベントOK レギュラートーク(30分)

GraphQL を用いたスキーマファースト開発で得たこと

Takayuki Matsubara ma2ge
クライアントサイドとサーバサイドの開発を同時に進める場合、サーバサイドの API を先に定義する必要があり、すんなりと同時開発を進めることは難しいです。
例えば一時的にクライアント側でモックしたり、API 部分はあとで組み込むといった対応を行い開発を進めることはできますが、後々追加で開発をする必要が出てきます。
これに対処するアプローチの1つとしてスキーマファースト開発があります。

本発表ではクライアントサイドとサーバサイドで並行開発するために、GraphQL を用いたスキーマファースト開発をしてみて実際どうだったのかをクライアント/サーバサイド両視点から話します。

次のような方を対象としています。

・GraphQL をある程度理解している方
・GraphQL で開発している、あるいはこれから始めようとしている方
・GraphQL に限らず Schema First なアプローチを検討している方
1
他イベントOK レギュラートーク(30分)

Fluid Interactionの技法

scenee scenee
昨年のWWDCでFluid Interfacesが発表されて以来、私はFloatingPanelというライブラリ開発を通してその実現に試行錯誤してきました。

Fluid Interfacesは、全く新しい技術ではありません。アップルのデザイン思想に則って、iOS 8以降アップルが積み上げてきた技術を駆使することで実現できるUIの一つのカタチです。

しかし、その実現は簡単なものではありません。

アニメーション・ジェスチャー、そしてデザインに至るまで、複合的に考慮して設計・実装が必要になります。

このセッションでは、私が自身のライブラリ開発で学んだFluidなインタラクションを実現する技法、特にアニメーションに焦点を当てて、デモを交えながら説明していきます。

更に、先に発表されたSwift UIのAnimation APIに追加されたfluidSpring() の理論背景と活用方法についても解説します。

Topics
・ 走る曲がる止める
・自然で扱いやすいSpring Animationを求めて
・SwiftUIのAnimation.fluidSpringとは何か?
・Rubber band effectの関数たち
・Projectionの使いどころ
2
他イベントOK レギュラートーク(60分)

スキマ時間でここまでできる、開発業務の自動化ノウハウ

Kishikawa Katsumi k_katsumi
自動化はレバレッジが効きます。

単に作業を機械に任せるだけでなく作業をコードで表現することにより、第三者が作業内容を知ることができる、変更管理が可能になる、各工程が追跡可能になる、などの副次的にもたらされるメリットが日々の開発効率を飛躍的に高めます。

しかし、多くのチームは作業を自動化したいと考えていても、日々の開発に追われ、なかなか開発環境の改善に取りかかれていません。
なんとか時間を作り、苦労して自動化の仕組みを作っても、あまり使われなかったということもよくあります。

私はこれまで10以上のプロジェクトで、日々の開発業務をこなしつつ、自然に生じるスキマ時間を使ってあらゆる業務を自動化してきました。

それを可能にしたのは、各プロジェクトの自動化の際に作ったツールやライブラリをできる限り再利用可能にしてきたことや、経験を重ねるにつれ、少ない労力で大きな効果を得られるノウハウを身に付けたことによります。

たとえば、自動化のために新しいツールを導入することは学習コストが高く、利用されない恐れがありますが、簡単な仕組みを既存のワークフローに組み込むことができれば、誰もが自然とその仕組みを利用します。

この講演では、これまでの私の経験から、そのまま応用できる大小さまざまな自動化の例を挙げながら、具体的な実装方法とともに、大がかりにせず、小さな仕組みとして少しずつ導入する方法、誰にでもわかる簡単で思わず使いたくなる仕組みの作り方、などを通じてスキマ時間で作業するだけでも大幅に日々の開発業務を改善できる方法を伝授いたします。
18
他イベントOK レギュラートーク(60分)

関数型プログラミング x ドメイン駆動設計超入門 ~型安全と心理的安全を求めて~

shiz stzn3
「関数型プログラミング」
「ドメイン駆動設計」

この2つのキーワードは
プログラミングの世界でも頻繁に取り立たされるトピックですが
私にとってはなんとなくわかるようでわからない存在でした。

むしろ

「数学やコンピュータサイエンスの知識がない私に関数型プログラミングは理解できるのだろうか?」

「ドメイン駆動設計の導入には考慮することが多すぎて、学んでも十分に活かせることができないのではないだろうか?」

と思い、避けていたところもありました。


そんな私ですが
この2つについて学んでみる機会があり
その底にある考えや仕組みを知ることで
日々の開発にすぐに活かせる要素がたくさんあることがわかりました。


またこの2つの要素を組み合わせることで
より安全に安心して開発を進めることができる可能性も見えてきました。



今回は

- 関数型プログラミングの正体とちょっとした活用法
- ドメイン駆動設計を行うことの意義や日々の開発をより進めやすくするために意識すること
- この2つを組み合わせて開発を進める効果や方法

などついて
専門家ではない立場から一歩一歩学んできたことをお話したいと思います。


また
今年のWWDCで紹介されたCombineフレームワークや
関数型プログラミング、ドメイン駆動設計を使った開発と相性か良いと言われており
Swiftに導入される可能性のあるActorモデルなど
Swiftの未来についても触れられる範囲で紹介したいと思います。

関数型プログラミングやドメイン駆動設計とは縁遠いと思われている方や
なんとなく避けて通ってきている方が興味を持つきっかけになれば幸いです。
2
他イベントOK 技術パッション共有トーク(60分)

パッション爆裂エンジニアリング! ~技術横断コミュニティへの誘い~

ばんじゅん🍓 banjun
私たちIM@Studyです!みなさんパッションは好きですか?私もiOSの技術とパッションが大好きです!IM@Studyでは「アイドルマスター×エンジニアリング」をテーマにハッカソン、LT会、合同技術本製作などをしています。

みなさんもご存知の通り、世の中には技術を軸に据えた勉強会・コミュニティが多くあります。特定の技術にフォーカスすることで仲間意識や分かりみを共有できます。一方で私たちは特定の技術を対象としない技術横断型のコミュニティです。このような趣味を軸としたコミュニティでは、多種多様の技術者が技術へのパッションと技術以外の部分へのパッションを掛け合わせ、時に大きなムーブメントを起こします。私はIM@Studyのハッカソンに参加してライブフォトのトークをしてみて、iOSの技術を自慢できて最高なうえに、技術軸だけでは絶対に生まれなかった広がりを感じています。

今回お話するのはそういった「技術以外の共通の趣味を軸にし、技術を使って趣味をさらに盛り上げている集まり」についてです。私がIM@Studyで活動して何があったか、どのような技術共有があったのかを紹介しつつ、技術横断コミュニティの楽しさをお届けします!セッションの中ではIM@Studyメンバーと共に、パッションが爆裂してしまったエンジニアリングの経験を語ります!普段はiOSコミュニティに参加していないメンバーもいますが、せっかくの技術パッション枠ですから。技術中心のコミュニティでは出会わないエンジニアと仲良くなれるのも面白さのひとつです。iOSDCは夏の遊園地!iOSの枠を飛び越えて、趣味×技術のパッションを共有しませんか?みなさん自身の技術以外のパッションと技術を掛け合わせた活動のきっかけになると思います!

参考資料集: https://imas.connpass.com/presentation/
17
他イベントOK レギュラートーク(30分)

Swiftの知識を使ってC++の世界に飛び込もう

rikusouda rikusouda
iOSアプリ開発者にとってC++を直接使う機会は少ないかもしれません。しかしiOSアプリとC++は全く無関係ではないと考えます。
iOSアプリではC++で記述されたライブラリを使うこともできますし、Objective-C++を用いてアプリ開発することもできます。またSwiftコンパイラやLLVMのソースコードにはC++で書かれた部分もあります。

C++を知ることは、普段開発しているアプリがどのように動作しているのかをより深く調査するための足がかりとなります。

このトークでは、すでにSwiftを知っている人向けにC++の動作をSwiftに例えながら、Swiftと違う部分や自己学習すると戸惑いそうな部分にフォーカスを当てて解説します。このトークのゴールは「C++とSwiftにはこのような違いがある」ということを理解し、学習のための足がかりを構築することです。これを足がかりにC++の世界に飛び込みましょう。
2
他イベントOK レギュラートーク(30分)

もっと便利に使おう、Hyperion

Kenzo Nirasawa nirazo
Hyperion-iOSをご存知でしょうか?
iOSの端末やSimulator上でデザインチェックができる、素晴らしいツールです。
非常に有益なツールなのですが最近は開発が滞っているようで、サードパーティのプラグイン開発手法のドキュメントについては
> The plugin creation guide is a work in progress
のまま動きがありません。

本トークではそんなHyperion-iOSのサードパーティプラグインの実装にフォーカスし、実際に便利なプラグインを作ってみたいと思います。

このトークをきっかけに、Hyperionのコミュニティをより広げ、iOS開発に関わるメンバーがより実用的にこのツールを使い、より良いアプリを作れる世界を目指していきます。
他イベントOK レギュラートーク(30分)

もっと使える!Lottie

Kenzo Nirasawa nirazo
アプリ上でアニメーションを実装する際に、Lottieは有力な選択肢となります。
アプリ上での実装は非常に簡単であり素晴らしいライブラリなのですが、それ故にただ漫然と使用していることも多いのでは
ないでしょうか?
また、
・ちょっとしたアニメーションでしか使わないでしょ?
・デザイナーさんへの修正依頼の往復が地味に面倒…
などの悩みをお持ちの方も多いのでは無いかと思います。

そこで本セッションでは、
Lottieを
「ただファイルを読み込んで使う」から
「多様な使い方をする」「デザイナーとのコミュニケーションをより効率的にする」へ、
より活用するための知識共有や知見の紹介をします。

トーク概要
- Lottieの仕組み
- Lottieでできること
- Lottieに向いていないこと
- Lottie導入時のTips
他イベントOK レギュラートーク(60分)

もっと使える!Lottie

Kenzo Nirasawa nirazo
アプリ上でアニメーションを実装する際に、Lottieは有力な選択肢となります。
アプリ上での実装は非常に簡単であり素晴らしいライブラリなのですが、それ故にただ漫然と使用していることも多いのでは
ないでしょうか?
また、
・ちょっとしたアニメーションでしか使わないでしょ?
・デザイナーさんへの修正依頼の往復が地味に面倒…
・個人開発でデザイナーさんいないしアニメーションなんて作れない!
などの悩みをお持ちの方も多いのでは無いかと思います。

そこで本セッションでは、
Lottieを
「ただファイルを読み込んで使う」から
「多様な使い方をする」「デザイナーとのコミュニケーションをより効率的にする」「アニメーションを自分で作って使う」へ、
より活用するための知識共有や知見の紹介をします。

トーク概要
- Lottieの仕組み
- Lottieでできること
- Lottieに向いていないこと
- Lottie導入時のTips
- Adobe After Effectsを使ったアニメーションの作り方
他イベントOK iOSDCルーキーズLT(5分)

エセつよつよエンジニアになる方法

uhooi the_uhooi
「つよつよエンジニア」、それは全エンジニアが目指す最強の称号です。

つよつよエンジニアになるためには、長年にわたる努力に加え、第一線で成果を出す必要があり、その道のりは長く険しいです。

しかし、ちょっとした工夫をすることで、誰もがつよつよエンジニアのように見せかけることが可能なのです。

ちょっとした工夫の例↓
・TwitterでIT関連のツイートをする
・Twitterでエンジニアの方と交流する
・Qiitaに記事を投稿する
・Qiitaの記事にコメントする
・勉強会に参加する
・勉強会でLTをする

つよつよエンジニアに見せかけることを、私は自虐的に「エセつよつよエンジニア」と呼んでいます。

私は少しでも他の人の役に立てば「エセつよつよエンジニア」でもいいと思っています。

みんなで優しい世界を作りましょう。
そうすればいつかきっと真のつよつよエンジニアになれる日が来ます!

---

本セッションではエセつよつよエンジニアになる方法を伝授します。
私がどのような思いでTwitterやQiitaを使い、勉強会に臨んでいるか、時間の許す限り語ります。

【想定する聞き手】
・つよつよエンジニアでない人
・エセでもいいので他の人の役に立ちたいエンジニアさん

【ゴール】
・SNSで気軽にエンジニアの方と交流できるようになる
・Qiitaなどを活用して知見を広めるようになる
・iOSDC Japan 2020に登壇する意欲が湧く
2
他イベントOK LT(5分)

無理しないで続ける個人アプリ開発・運用

かっくん fromkk
# TypeというMarkdownエディタアプリの開発・運用を初めて丸2年半が経過しようとしています。「会社での業務をしながら個人的にアプリを開発したり運用したりするのは大変じゃ無いか?」と思われるかもしれませんが、(2019年6月現在)月に一度から二度程度の更新を続けてこれています。ここでは

- モチベーションの保ち方
- どういう方針で更新しているのか
- 問い合わせ対応の方法
- CI/CDの活用

を踏まえてどの様に省エネで開発・運用しているのかを紹介します。
2
他イベントOK iOSDCルーキーズLT(5分)

サービスの価値を最大化するためのテスト戦略

kariad kariad_uu
iOSアプリ開発ではテストは日常的に行われています。
しかし私たちは一体何のためにテストをしているのでしょうか。

やるのが当たり前だからでしょうか?
品質を高めるためでしょうか?

それらの理由もあるかもしれません。
しかし本来私たちが目指す場所はただ一つ、
アプリが提供するサービスの価値の最大化、
すなわちユーザーに喜んでもらうことなのではないでしょうか。

そしてテストは適切に行うことでサービスの価値の最大化のスピードを早くしてサービスの価値を高めることが可能です。

本トークでは今まで何となくテストをしていた…という方に向けて、
サービスの価値を最大化するためにはどのようにテストを行っていくべきかという「テスト戦略」についてお話しいたします。
2
他イベントOK レギュラートーク(30分)

Re: ゼロから始めるWatchApp開発

くろるり kuroruri
AppleWatchが発売されて約5年程たち、我々の生活の中でもスマートウォッチ自体珍しいものではなくなってきました。
ですが我々のアプリはスマートウォッチにきちんと対応できているでしょうか?対応していないか、あるいは発売当初の珍しさに乗っかった一過性のアプリがあるだけだったりしないでしょうか?
ではもし、そんな一過性のアプリを不意にメンテナンスすることになったらどうしましょう?Objective-Cなんて読めないし、使っていたライブラリはメンテされていない、そんなコードなんてメンテできるわけがありません。きっと作り直すはめになるでしょう。
あるいは今あるアプリに対しWatchアプリを組み込んでいくことになったら、iOSとは勝手の違うWatchOSアプリをどう作っていけばよいでしょうか?
本セッションではWatchAppをゼロから作り始める人及び作り直す人向けに、WatchAppの作り方を基礎からプロダクトを実際に作るレベルの発展編まで解説するとともに、開発時のいくつかのTIPSを紹介します。
本セッションのゴールは聴衆がOSSライブラリを使用したiOSアプリとデータをやり取りするWatchAppを作れるようになることです。

#Agenda
基礎編
- iOSAppとWatchKitAppの関係性、WatchKitとWatchExtension
- UIレイアウト
- iOSAppとWatchKitApp間のデータ連携
発展編
- iOSとWatchKitAppでコードを共有する
- carthageを使ってOSSライブラリをWatchExtensionで使う
TIPS編
- ライブラリ使用時の実機デバッグ遅い問題
- Menuボタン表示時のライフサイクルの罠
3
他イベントOK iOSDCルーキーズLT(5分)

VIPERに魅力を感じるのは間違っているだろうか

uhooi the_uhooi
「RxSwiftなどのMVVMアーキテクチャが主流でも、私はVIPERを使い続けています」

---

みなさんは「VIPER」というアーキテクチャをご存知でしょうか?

一言でいうと「Clean Architecture + MVP + Router」を組み合わせたアーキテクチャです。

5つのレイヤーに分かれているのが特徴で、各レイヤーの頭文字を取って「VIPER」と呼ばれています。
・View (GUI)
・Interactor (ビジネスロジック)
・Presenter (ビューロジック)
・Entity (エンティティ)
・Router (DI、画面遷移ロジック)

実は、私は約半年前までVIPERを知りませんでした。

しかし、VIPERを知って実際のプロジェクトで使うことで、魅力を感じるようになりました。

非常に優れたアーキテクチャなのですが、あまり使われていないように感じており、寂しいです。

本セッションでは、VIPERの概要とメリット・デメリット、そして魅力を熱く伝えます。

【想定する聞き手】
・VIPERを知らない人
・VIPERを使っていない人

【ゴール】
・VIPERを好んで使うようになる
2
  • 1 (current)
  • 2
iosdc-japan-2018 sponsors iosdc-japan-2018 potential-sponsors 開催後請求
ブースWL 要支払確認 要モノクロロゴ
仮採択 採択しない Rookie
仮採択 採択済 保留 情熱加点 採択しない