LT(5分)

UIWindowが複数存在するとき、ステータスバーのスタイル設定が難しい件

malt03 malt03

UIWindowが複数存在する場合、preferredStatusBarStyleやprefersStatusBarHiddenが呼ばれるViewControllerはどのWindowから選ばれるかを、調べた限りの情報で説明します。
かなり独特のロジックになっており、コントロールするのもかなり難しいです。

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

今そこに迫るPWA!〜AWS Amplifyを使って、お手軽にPWA開発をやってみよう〜

afukui 福井 厚

ネイティブアプリとWebアプリの両方の利点を持ち、お互いのギャップを埋めることができる技術として WPA (Progressive Web Apps) が注目されています。AWS Amplifyを利用するとPWAのService Workersを簡単に登録し、利用することができます。このセッションでは、AWS Amplifyを利用してPWAを実装する手順を分かりやすくデモを交えながら解説します。

LT(5分)

その dispose 本当に安全ですか?

fumito_ito fumito-ito

RxSwiftを利用していると必ず使うことになる dipose メソッド。dispose が実際にどのスレッドで実行されるか意識していますか?

本セッションではdisposeが実行されるスレッドによってクラッシュが発生する可能性を提示し、より安全にdisposeするために取りうる方法を説明します。

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

差分計算アルゴリズムを用いた高速なUITableView描画

fumito_ito fumito-ito

UITableViewをいかに高速に描画、更新するかはiOSアプリケーションの実装において頻繁に遭遇する問題です。

本セッションでは単純な reloadData を用いた場合と差分計算アルゴリズムを用いた場合で実際にどの程度の差が生じるのか検証した結果を提示します。
また、複数の差分計算アルゴリズムとその実装を比較することで、それぞれの実装が適しているケースを提示します。

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

非同期UI描画による高速なアプリケーションの実装

fumito_ito fumito-ito

iOSアプリケーションの高速化においてメインスレッドをブロックするUIの描画コストは無視できない問題です。

日経電子版アプリでは非同期なUI描画を実現するTexture(AsyncDisplayKit)を導入し、大量のテーブルをスムーズに描画しています。
本セッションではTextureの検討から具体的な導入ステップ、導入にあたって遭遇したトラブルと対応方法について紹介します。

iOSDCルーキーズ LT(5分)

GenericsでVIPERのテンプレートを減らす

stzn3 shiz

VIPERはiOSアプリ開発において共通の設計パターンの一つになっています。アプリ全体として構造をしっかりと作れる反面、同じような記述を繰り返さなければならないというマイナスの面も持ち合わせています。Genericsを用いることで繰り返しの記述を減らし、よりスッキリとVIPERを使用するための方法をご紹介したいと思います。

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

クロスプラットフォームアプリ開発ノススメ

takahia 日浅 貴啓

昨年Google iOでFlutterが発表され、KotlinConfではKotlin NativeでのiOS開発が発表されたりと、再びクロスプラットフォームアプリ開発が脚光を浴びようとしています。本セッションは、Fultter、Kotlin Nativeの他、従来のReactNativeやXamarinでの開発も踏まえて、今後私たちがどのような方向性で進むべきか考察していきます。

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

iOSでグラフを描くために必要な知識について

kurotyann9696 須藤将史

グラフを簡単に表示するライブラリはたくさんあります。しかし、表示したいグラフのデザインに合ったライブラリがなかったり、デザインを柔軟に変更したい理由から、グラフの表示を自作する方も多いのではないでしょうか。最近はフィンテックやライフログのサービスが注目され、グラフを表示するアプリが増えたように感じます。今回のトークでは、有名なライブラリの実装を参考にしながら、グラフの描画方法の紹介と、実務でどのように活用したのかを話します。

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

iOSのUIテストの難しさについて考える

tarappo 平田敏之

iOSのプロジェクトで、UIテストを利用しようとしてうまくいかなかったケースはあると思います。
また、そもそも手を出すことすらためらっていることもあるかと思います。

本トークでは、世に公開されているような成功事例の話はしません。
なぜ、難しいのかを「導入時」「実装時」「運用時」とそれぞれのフェーズについて話します。

本トークにより、実際にUIテストを利用するきっかけになればと思います。

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

Swift for TensorFlow - 機械学習への言語からのアプローチ -

K_Ryuichirou 龍一郎

Swift for TensorFlowはTensorFlowに関連したプロジェクトの中でも異彩を放つものです。そこではTensorFlowではなく、Swiftの開発が行われていました。このトークではそうなった経緯について、「機械学習に必要なものはなにか」という問への真正面からの取り組みと、Graph Program Extractionを含むその問への解答を中心に扱います。

iOSDCルーキーズ LT(5分)

え!それが読めるの!?それをそう読むの!? AVSpeechSynthesizerにあれこれ読ませる

ta_ka_tsu Takatsu Youichi

AVSpeechSynthesizerは文字列を読み上げてくれる便利なAPIです。
しかし読み方というものは一意に決まりません。
例えば"上手"という文字列をこのAPIは何と読むでしょう?「じょうず」?それとも「うわて」?答えは「かみて」です。
"1kg"は「いちきろぐらむ」ですが"1g"は「いちじー」です。では絵文字を読ませると…?
本LTでは、読ませてみて驚いたものや意図しない読み方をしたものなどを紹介します。

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

そこらへんにいる小学2年生は Swift Playgrounds で楽しくプログラミングを学習できるのか!?

chino_tweet ちの

2017年度、千葉県にある公立小学校の放課後教室で毎週1回、プログラミング教室を実施しました。
プログラミング教育に特別敏感な家庭や才能がある子を対象にしたのではなく、放課後スクールにいるごく普通の子たちに29回実施したレッスンの中で、Swift Playgrounds にチャレンジした結果や、つまづきどころを紹介します。

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

がっつりやるリアルタイムキャンペーン分析

ktsukago Tsukagoshi Keisuke

単純にプッシュを打つだけでは意味がありません。カスタマーエンゲージを目指すならばカスタマーの分析を行う必要があり、さらに言うならばリアルタイム性の高い情報を使った分析が必要となります。Amazon Pinpointを利用するとEvent Streamを利用して簡単にリアルタイム分析を行えます。本セッションではリアルタイムな分析を行うためのアーキテクチャとそれを使ったマーケティングを行うためのベストプラクティスを紹介します。

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

がっつりやるリアルタイムキャンペーン分析

ktsukago Tsukagoshi Keisuke

iOS App市場は飽和しつつあります。アプリがダウンロードされたとしても80%はアクティブユーザーにならない。80-90%のアプリは一度使われただけで削除されてしまう、などアクティブユーザー獲得の難易度はあがってきています。本セッションではカスタマーの情報をリアルタイムに分析し最適なマーケティングを行うためのアーキテクチャを紹介します。

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

iOSエンジニアのための GraphQL 入門

ktsukago Tsukagoshi Keisuke

「 GraphQL vs REST 」と紹介されることが多く、Rest APIの次のパラダイムとして注目されている GraphQL 。 スキーマをベースにした設計、クライアントからのレスポンス指定、pub/subの簡単な実装などの特徴があり、クライアントから使いやすいI/Fを簡単に構築できます。 本セッションは iOSエンジニアの方にもわかりやすいようGraphQLを解説します。

iOSDCルーキーズ LT(5分)

5分でわかるVIPERアーキテクチャのススメ

hicka04 佐藤 光

今まで私はMVC、MVPなどいくつかのアーキテクチャを試してきました。その中でもVIPERアーキテクチャが一番しっくりきています。その理由を実際のコードをもとに5分で解説していきます。
・VIPERアーキテクチャの特徴
・View/Interactor/Presenter/Entity/Router それぞれの役割
・Routerによる画面遷移処理の切り出し

iOSDCルーキーズ LT(5分)

Appleの公式学習コンテンツで学んで、iOSアプリ開発を始めよう!

Solti Hiroyuki Aoki

みなさんは、Appleが提供している公式のiOSアプリ開発トレーニングをご存知ですか?
アプリ開発を学び始めるにあたり、公式が提供しているものは比較的信頼性が高いと言えます。
「とは言え、トレーニングを受けるにはお金が…」という方のために、実は無料で利用できるAppleのトレーニングコンテンツのお薦めポイントをApple認定トレーナーからご紹介します。

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

Appleの公式学習コンテンツで学んで、iOSアプリ開発を始めよう!

Solti Hiroyuki Aoki

みなさんは、Appleが提供している公式のiOSアプリ開発トレーニングをご存知ですか?
アプリ開発を学び始めるにあたり、公式が提供しているものは比較的信頼性が高いと言えます。
「とは言え、トレーニングを受けるにはお金が…」という方のために、実は無料で利用できるAppleのトレーニングコンテンツを利用した学習のポイントをApple認定トレーナーからご紹介します。

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

レガシーなアプリケーションの60fps化を目指す為にやっていること

satoshin21 Satoshi Nagasaka

私の現在担当しているアプリケーションはファーストリリースから早5年が経過しようとしています。
しかし、ユーザの求めるサービス、そして何よりUI/UXへの期待値は5年前とは比べ物にならないくらいに上がりました。
ユーザの期待を裏切らない為に、我々iOSチームがfpsを一つの指標に置いてUI/UX改善の為に行っている事、またこれから改善していきたい事についてお話します。

採択
2018/08/31 17:40〜
Track A
レギュラートーク(30分)

レガシーなアプリケーションの60fps化を目指す為にやっていること

satoshin21 Satoshi Nagasaka

私の現在担当しているアプリケーションはファーストリリースから早5年が経過しようとしています。
しかし、ユーザの求めるサービス、そして何よりUI/UXへの期待値は5年前とは比べ物にならないくらいに上がりました。
ユーザの期待を裏切らない為に、我々iOSチームがfpsを一つの指標に置いてUI/UX改善の為に行っている事、またこれから改善していきたい事についてお話します。