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 レギュラートーク(30分)

詳解!Swift PackagesのLinux対応を知ってみよう・やってみよう

Sho Ikeda(いけしょー) ikesyo
WWDC 19で発表されたXcode 11の新機能の中でもとても喜ばしいものの1つは、XcodeとSwift Package Manager(SwiftPM)の統合でしょう。これまで主にサーバーサイドSwiftやCLIツールの開発でなければ使用できなかったSwift PackagesがXcodeとiOSアプリ開発で使用することができるようになったのです!言語公式のパッケージマネージャーがIDEと統合され、iOSアプリの開発にも使えるようになったのは一大事です。徐々にCocoaPodsやCarthageなどのサードパーティー製のツールを置き換えていくことや、SwiftPM対応ライブラリが増えることが期待できます。

一方で、SwiftはLinux(Ubuntu)にも対応しており、Swift Server Work Group(SSWG)による標準化やサーバーサイド向けのライブラリーの開発も進んでいます。iOSアプリ向けに増えるであろうSwift PackagesをLinuxにも対応させることは、サーバーサイドSwift、ひいてはSwift言語自体の盛り上げるにも繋がるはずです。

本トークでは次の内容についての紹介とライブデモを通じて、Swift PackageとサーバーサイドSwiftの盛り上げに貢献したいと思います!

- macOSとLinuxでの、SwiftとSwiftPMの違い
- Swift PackageをLinuxに対応させるためのTipsや注意点
- SwiftPMでのLinux用のテスト方法
- Swiftのスナップショットバージョンでの互換性確認
- swiftenvを使った複数バージョンインストール
- Dockerを使った、手元の開発環境での動作確認
- Dockerやswiftenvを使った、CI環境での動作確認
他イベント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 LT(5分)

5分でわかる!Swift PackagesのLinux対応を知ってみよう・やってみよう

Sho Ikeda(いけしょー) ikesyo
WWDC 19で発表されたXcode 11の新機能の中でもとても喜ばしいものの1つは、XcodeとSwift Package Manager(SwiftPM)の統合でしょう。これまで主にサーバーサイドSwiftやコマンドラインツールの開発でなければ使用できなかったSwift PackagesがXcodeとiOSアプリ開発で使用することができるようになったのです!言語公式のパッケージマネージャーがIDEと統合され、iOSアプリの開発にも使えるようになったのは一大事です。徐々にCocoaPodsやCarthageなどのサードパーティー製のツールを置き換えていくことや、SwiftPMに対応したライブラリが増えることが期待できます。

一方で、SwiftはLinux(Ubuntu)にも対応しており、Swift Server Work Group(SSWG)による標準化やサーバーサイド向けのライブラリーの開発も進んでいます。iOSアプリ開発向けに増えるであろうSwift PackagesをLinuxにも対応させることは、サーバーサイドSwiftを盛り上げ、Swift言語自体を盛り上げることにも繋がるはずです。

本LTでは次の内容について紹介し、Swift PackageとサーバーサイドSwiftの盛り上げに貢献したいと思います!

- Swift PackageをLinuxに対応させるためのTipsや注意点
- 手元の開発環境での動作確認
- CI環境での動作確認
1
他イベントOK レギュラートーク(30分)

SwiftのABI StabilityとModule Stabilityで得られるもの・失うもの

Sho Ikeda(いけしょー) ikesyo
SwiftのABI StabilityとModule Stabilityについて耳にしたことがあるでしょうか?前者は、当初はSwift 3.0で実装されると言われていたものの、度々の延期の末、ついにSwift 5.0で実現された機能です。後者についてはSwift 5.1で実現される機能ですが、あまり聞いたことがない方も多いかもしれません。

どちらか、もしくは両方を聞いた事がある方は多いかもしれませんが、その機能・実現する事の違いはまだ広く理解されていないように思います。本トークでは以下のトピックについて扱い、ABI StabilityとModule Stabilityへの理解を深めること、自分のプロジェクトでどのように対応すればよいのかを少しでも把握できること、そしてこれらの機能から恩恵を受ける開発者を増やすことを目指します。

- ABI StabilityとModule Stabilityの違い
- ABI Stabilityとは何か
- Module Stabilityとは何か
- ABI Stabilityによって得られるもの・失うもの
- Module Stabilityによって得られるもの・失うもの

一部ネタバレになってしまいますが、予習資料としてSwift.orgのブログ記事をご紹介しておきます: https://swift.org/blog/abi-stability-and-more/
5
他イベントOK レギュラートーク(60分)

スケール可能なアプリケーションにするための技術とSRE for iOS Application

こりん corin8823
昨年4月は4人で開発していたアプリケーションが今年の夏には8人ほどで開発することになりそうです。

開発者の人数が増えた場合でもスピードを落とさず、より多くのユーザーに利用してもらうために機能開発を簡単な状態にしておくことは、必要不可欠です。そのために具体的にどのようなことを行っていった取り組みについて話したいと思います。

さらに人数が増えてもアプリケーションの信頼性を制御する必要があり、その考え方のベースとしてSREを取り入れていく予定です。
SRE(Site Reliability Engineering)とはGoogleが提唱したシステムの管理とサービス運用の方法論です。
一般的にはバックエンドやインフラにたいして用いられる用語ですが、モバイルエンジニアとしてもアプリケーションの信頼性を制御する必要性があると思います。そのSREの概念とモバイルエンジニアとしてどのように信頼性を制御する手段があるかについても話したいと思います。

概要
# 誰でも速く簡単に機能開発できるように
- リアーキテクチャとその進め方について
- リードタイムの減少やビルド時間の高速化
- CI/CDや自動化
- テストカバレッジ向上とその推進方法
# 安全に開発するための信頼性の制御について
- SREとは
- SRE for iOS Applicationの重要性
- 信頼性の制御と今後の展望
7
他イベントOK LT(5分)

WWDC を有益なものにするために。例え銃声が聞こえても

akkey AkkeyLab
初海外&初 WWDC 参加という経験から学んだ「WWDC 参加の心得」を包み隠さず全てお話します。
ラボの会場を間違え、ボロボロの英語で必死に質問するも、伝わるはずがないというドン底から急展開!多くの学びを得ることができました。が、しかし、帰宅後のホテルにやってきたのは見上げるほど高身長の警官2人でした。
こんな波瀾万丈なストーリーと共に、皆さんにも今後の WWDC 参加の極意を提供できたらと思います。
13
他イベントOK LT(5分)

SRE for iOS Application

こりん corin8823
SRE(Site Reliability Engineering)はGoogleが提唱したシステムの管理とサービス運用の方法論です。

一般的にはバックエンドやインフラにたいして用いられる用語ですが、モバイルエンジニアとしてもアプリケーションの信頼性を制御する必要性があると思います。

そのSREの概念とモバイルエンジニアとしてどのように信頼性を制御する手段ががあるかについて話したいと思います。

概要
- SREとは
- SRE for iOS Applicationの重要性
- モバイルエンジニアができそうな信頼性の制御
9
他イベント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 レギュラートーク(30分)

Ruby on Rails + Cloud Firestore のハイブリッド構成で構築するリアルタイム・チャット機能

Tomoki Kobayashi temoki
弊社では社内向けの SNS サービスを提供しており、このウェブアプリケーションのバックエンドは Ruby on Rails、フロントエンドは React で構築されています。このアプリケーションの重要な機能の一つにチャットがあります。このチャット機能を iOS アプリとしてフルネイティブで開発するにあたり、データの更新は既存の Rails API、データ参照は Firebase Cloud Firestore というハイブリッド構成で構築しました。

本トークでは、このなぜこのようなハイブリッド構成にしたか、バックエンドとネイティブアプリそれぞれをどのように設計としたか、実装における苦労点や TIPS などについてお話しします。
他イベント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分)

XcodeGen それは細分化されたFrameworkとチーム開発のための神ツール

Kyohei Ito KyoheiG3
昨今Xcodeのプロジェクトを利用して作られるアプリケーションは、役割ごとにターゲットを分けてFramework化し、メインとなるアプリケーションにEmbedしてモジュールごとの疎結合性やテストの書きやすさを向上させたり、大きな開発チームではその役割ごとに実装を細分化させてたりすると思います。
そんなとき、一番のネックとなるのがプロジェクトのモジュールの一覧性とメンテナンス性です。
プロジェクトを細分化してしまうと目的の実装コードを見つけるのに苦労したり、反対に一つのプロジェクトでコード管理していたりすると既存のXcodeプロジェクトでは簡単にコンフリクトを起こしてしまいます。
XcodeGenを使えば、開発を進めていく上で必要なモジュールの汎用化などによるフレームワーク化や、プロジェクト構成の整理によるファイル移動などあまりにも簡単に行うことができるようになります。

今回はXcodeGenを使って2つのプロダクトを立ち上げた経験をもとに、XcodeGenの基礎的な部分から現在のプロダクトでの構成や使い方など、その圧倒的なメンテナンス性の高さについてのお話を可能な限り行いたいと思います。
6
他イベント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
  • 1 (current)
  • 2
  • 3
iosdc-japan-2018 sponsors iosdc-japan-2018 potential-sponsors 開催後請求
ブースWL 要支払確認 要モノクロロゴ
仮採択 採択しない Rookie
仮採択 採択済 保留 情熱加点 採択しない 前夜祭 目玉 ルーキーズLT参加
Order#確認 アンケートメール不要