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

ソースコードから読み解く - Quick はどのように実装されているのか?

tobi462 Yusuke Hosonuma

Swiftで書かれたOSSのBDD FrameworkとしてQuickがあります。
Quickは独自のDSLによりテストを構造化できていますが、それをSwiftでどのように実現しているのでしょうか?
本トークでは実際のソースコードを元に、Quickがどのような仕組みで構造化されたテスト・DSLを実現しているのか解説します。

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

UIViewとUITextInputで作る縦書きのTextView

496_ 六々

UITextViewを使わずにUITextViewのようなViewを作ることで縦書きテキストエディタを作った話。

UITextViewのあの機能が実はUITextInput由来だったりといった話や、AndroidやUWP, Windows / macOS / Gtkで同様の縦書きエディタを作った経験を交えてお話しします。

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

Auto-Renewable Subscriptionsを5年間運用した歴史から学ぶ注意点

yuutetu 加賀江 優幸

私の担当するアプリでは、Auto-Renewable Subscriptionsを長らく運用してきました。
しかし、その運用を続ける上でぶつかった問題も多くありました。
Auto-Renewable Subscriptionsの運用事例を元に、ユーザにとって最高の形でプレミアムな機能を提供するために学んだことについてお話します。

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

Pairs Japan’s Deploy Bot

JohnEstropia John Estropia

In this talk I’ll introduce our deployment bot that we use at Eureka in the Pairs Japan team.

I’ll give a quick rundown of its features and commands, then show the frameworks used to build it.

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

ReactorKitを全面導入して分かったこと

ngtknt 永田 健人

ReactorKitは、Fluxからインスパイアされた軽量なフレームワークで、Reduxなどと比べてより簡単に使い始めることができます。Wantedly Visitのアプリでは昨年から導入し、本格的に全面導入をしています。セルクラスでの状態管理や各View Controller間での状態共有など実践的な課題に対してどのように実装していったかについてお話します。

採択
2018/08/31 11:20〜
Track B
レギュラートーク(30分)

Swift 4.2 はどのような進化をしているのか

tobi462 Yusuke Hosonuma

Xcode 10 から Swift 4.2 に変更となりますが、変更点のチェックはお済みでしょうか?
CfPを出す現時点で Swift 4.2 には 18個の Proposal が実装されています。
本トークでは時間の許す限りで、すべての Proposal についてその解説を努めていきたいと思います。

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

小さく始める責務分散〜FatViewControllerへメスを入れる〜

ktanaka117 ダンボー田中

昨年のiOSDCではFatViewController問題に関する概要と、いかに責務分散していくかを話しました。
https://dev.classmethod.jp/smartphone/iosdc-2017-setsuko/

今年のトークではFatVCとはどういうものか簡単な説明をして、実際にありそうなFatVCにメスを入れ、責務分散していく様子をライブコーディングでお伝えします。
節子のその後の成長に乞うご期待!

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

実践コーディネーターパターン ~DIやディープリンクとの応用編~

swiz_ard 久保出雅俊

コーディネーターパターンは、画面間の遷移や表示などの責務をコーディネーターと呼ばれるクラスに任せるデザインパターンです。このトークでは、コーディネーターパターンの実践的な使い方、DIやディープリンクなどアプリケーションの設計には欠かせない要素とどのように組み合わせて使うのかについてご紹介します。

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

ARKit Maniacs

shmdevelop satoshi0212

私はこの半年、ARの使用事例を集めると共にその拡張した使い方を検討してきました。その中で得たTipsを共有するとともにAREnvironmentProbeAnchor、ARWorldMapなどの効果的な使い方、空間共有の実例などをデモを交え熱く深く語りたいと思います。

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

え、今さら? Genericsと仲良くなる入門

paper_and_paper paper_and_paper

Genericsは、Swiftの中でも異色のパワーを秘めた記述方法です。しかし、一方では非常に抽象化された概念だけあってか、どこかフワッとしています。関数型言語に馴染みがない、Swiftを使い始めてまもない...など、理由はともあれ、本トークではジェネリクスだけにフォーカスして、Genericsと仲良くやるTipsをお話したいと思います。すでにSwift❤️な人だけでなく、まだGenericsにピンとこない人も是非お楽しみください!

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

アトミックデザインの導入と実践プロセス

ngtknt 永田 健人

アトミックデザインは、デザインコンポーネントの共通化により開発プロセスの効率化を図るためのフレームワークです。Wantedly VisitのiOS Appでは、このフレームワークを導入し、開発の効率化とデザインの一貫性を向上させることができました。このトークでは、具体的にどのようにコンポーネントを分類し、どのようにプロセスを回していったかについて、実際に作成したコンポーネントと共にご紹介します。

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

富豪的分析の世界へ ~Google AnalyticsからFirebase Analyticsへの移行~

yuutetu 加賀江 優幸

皆さんは、Google AnalyticsとFirebase Analyticsのどちらを使用していますか?
Google AnalyticsからFirebase Analyticsへの以降の注意点についてお話しします。
具体的には、
・Google AnalyticsとFirebase Analyticsの違い
・大規模アプリに置いてどのように実装し移行を行うか
についてお話します。

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

SwiftでCLIツールを作って業務効率化を図る

marty_suzuki marty-suzuki

普段の業務で少し手間だったりすることがあったりしないでしょうか。
もしかするとその作業をCLIルーツにしてしまえば、業務効率化が図れるかもしれません。
本トークでは、Remote Notificationの送信をCLIツールにしたことで通知からの画面遷移テストが手軽にできるようになった話や、🐳cujiraを使ってQA期間中のチケットの状態を可視化しやすくした話をしていきたいと思います。

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

ReSwiftを用いたSingle Storeで安全なアプリ開発

jumpersons okamoto

ReSwiftを用いて開発の中で得られた開発チップスを紹介します。
具体的には以下の内容を話します。

・ReSwiftが向いているアプリ
・Stateの設計について
・Actionの設計について

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

Cocoa MVCを拡張していくという設計手法

kazuhiro494949 林和弘

広く普及しているレイヤードアーキテクチャが紹介される時、それらが持つ汎用的なパターンに注目が行きがちです。しかしアプリ開発の現場で具体的な課題を解決する場合、その裏側にある考え方・そのパターンができるまでの過程が重要です。 本トークは以前別のイベントで発表した「漸進的にViewControllerの肥大化を防ぐ」から更に一歩踏み込んで形式化を試みつつ、パターンを自分たちで作っていくという従来とは別のアプローチを提案したいと思います。

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

iOSでmp4をデコードして自分だけの動画プレーヤーを作ろう!

noppefoxwolf noppe

動画や配信サービスの流行している昨今、iOSアプリ側で動画のデコードする需要は大きくなりました。
このセッションではiOS上でVideoToolbox.framework,AudioToolbox.frameworkを使い、mp4のh264/avc・aacをデコードする手法を紹介します。
低レイヤーAPIを利用することで独自の暗号化をかけたり、パフォーマンスやカスタマイズ性の高いデコーダーを実装することができます。

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

画面遷移は本当にUIViewControllerから切り離すべきだろうか

kazuhiro494949 林和弘

画面遷移は実行時に複数のUIViewController(VC)間で暗黙に情報が伝達されながら、適切なオブジェクトを使ってコントロールされます。 本トークではそういったUIKitの特徴を紐解き、遷移がVCから分離・抽象化されることにより発生するコスト・リスクを整理します。それを前提にできる限りUIKitのレールに乗った画面遷移実装を議論したいと思います。

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

イチから始めるアクセシビリティ ~まずはできるところから~

stzn3 shiz

スマホは多くの人にとって生活に欠かせないものとなってきており、様々な環境、境遇の方がアプリに触れる機会も増えています。
そんな時、アクセシビリティは一つの大きなテーマになってくると思います。

  • そもそもアクセシビリティとは?
  • iOSではどんな機能が提供されているのか?
  • アプリに導入するには?
    といった基本的な部分に触れ、アクセシビリティを考えるきっかけになれば良いと思っています。
レギュラートーク(30分)

Metalによる素材を活かしたUI作り

kazuhiro494949 林和弘

iOSにはGPUの性質を活かしたデザインが様々なところで使われています。シェーダーを使うとグラフィカルでインタラクティブなデザインが可能になります。本トークではGPUの特徴を活かしたグラフィックプログラミングで独自のUIを作る方法について説明します。

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

SDK開発におけるXCUITestの活用

konyavic konyavic

SDK開発は、アプリ開発と比べると規模が限られる反面、様々なアプリ構成に対応した設計と工夫を要求します。
特に、UIを表示する機能においては、導入先アプリのviewの実装によって大きな影響を受けます。
それらの要求に対して、効率的に且つ再現性を持った手法でテストを実施するにあたって、
XCUITestを利用する方法の提案と工夫を実例交えて紹介します。