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

QuickとNimbleに見る、Mixed LanguageかつCross-Platformなライブラリ開発

ikesyo Sho IKEDA

QuickとNimbleというテスト用ライブラリを知っていますか?XCTestをラップし、テストコードをより楽しく、より効率的に書けます。これらはSwiftとObjective-Cの両方から使え、またSwiftPMにも対応し、Linux(サーバーサイドSwift)でも使えます。

コアコントリビューターが、このMixed LanguageかつCross-Platformという特徴をどのように実現・メンテナンスしているかを解説します。

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

アルゴリズムを通じてよりよいアプリを

rayfix Ray Fix

アルゴリズムはコーディング面接以外にも使います。適切なアルゴリズムとデータ構造を使用して、アポイントスケジューラまたはコレクションビューの画像コラージュを実装しているかどうかは、優れたユーザーエクスペリエンスの鍵です。 この講演では、WWDC2018でSwiftでアルゴリズムを使用する際の主要なポイントをいくつか見直します。また、SwiftらしいSwiftで、アプリでアルゴリズムを効果的に適用する方法についても説明します。

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

もっとFluidでRedirectableなモーダル表示アニメーション

hirobe 広部一弥

WWDC2018のセッション"Desiging Fluid Interfaces"で、アプリ起動・終了のアニメーション中にも別の画面操作ができるよって話があったので、モーダルViewControllerの開閉アニメーションでそれを実現してみました。作り方を紹介します。

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

回遊率2倍を実現したiPadリニューアル対応

shoheiyokoyam shoheiyokoyama

タブレット型端末の中でもトップシェアを占めているiPad端末は、現在私たちの日常において無くてはならないものになっています。
私が担当したiPadリニューアル対応では、主要ページの回遊率が2倍、画面によっては3倍に向上しました。

このトークではiPadの縦・横画面対応やiPhoneと異なるUIを導入した話も交えながら、
iPadに最適化した際の設計やテクニックについてお話します。

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

東急ハンズのP2Pレジ間通信2018

r_plus taiki komaba

東急ハンズのレジは内製開発のiPadアプリで動いています。
そんなレジ用アプリはアプリ間で様々な情報を交換しています。

レジ間を飛び交う通信内容や通信方式の現在に至るまでの変遷を紹介します。

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

iOS12のNotification新機能と一緒に考える、本当にユーザーのためになるプッシュ通知

justin999_ 佐藤紘一

アプリ運営者はユーザに役立つ情報を届けるためにプッシュ通知を使っています。
しかし、一介のアプリユーザとして考えたとき、プッシュ通知はあまりいい印象がありません。届きすぎてうるさかったり、とどいた情報があまり役立たなかったりするからです。
このトークではどういう風にすれば、通知を許可してもらえて、長く使ってもらえるのかをiOS12で追加された機能も盛り込みつつサンプルコードを紹介しながら考えていきます。

採択
2018/08/30 18:40〜
Track B
レギュラートーク(15分)

キラリと光るテクニック、アプリをデモするときの心構え

nolili Noritaka Kamiya

ついにきた、あなたが心血を注いで開発したアプリのお披露目の日、プレスも来てハンズオンもある。
このデモでビジネスの結果が変わる!重大な1日。
そんな日に向けて、どんな準備をしておけばいいでしょうか?わずかの準備の差が、印象を大きく変えるのです。
iPhoneを使ったメディアアートの展示会で裏方を長年務めてきたスピーカーが、そのテクニックを語ります。

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

Code PushとReact Nativeで緊急OTAリリース!了解!

myb Masayuki Iwai
myb

Visual Studio App Centerに統合されたCode Push。
Code PushとReact Nativeを使うと、Over the Airでアプリの変更点を即座にユーザーの手元に届けることができます。
実際にCode Pushを使用してみて得られた知見を紹介します。

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

フルReact Nativeでマルチプラットフォームアプリ開発…を続けて早2年!

myb Masayuki Iwai
myb

チームメンバーは自分1人!
この状況でiOS/Android向けにアプリを開発するためReact Nativeを選択し、その最初のリリースから2年が経ちました。
その間も、様々な新機能の開発やまずかった設計の見直しなどを続けてきました。
React Native導入の経緯から開発中に立ちはだかった課題、マルチプラットフォーム対応で得られた知見を紹介します。

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

古いiOSのサポートをお行儀よく終了する方法

FromAtom FromAtom

iOS 12の発表を機に、iOS 9やiOS 10などの古いiOSのサポート終了を考えている方も多いと思います。
サポートバージョンはできるだけ少なくして開発コストを減らし、iOS 12対応に集中したいですよね。

このトークでは、古いiOSのサポート終了を考える際の、

  • iOSシェア数だけに頼らない判断基準
  • チームメンバーとのコミュニケーション
  • ユーザーが困らないようにする段取り
    などを紹介します。
レギュラートーク(15分)

FRESHを支える新しいアーキテクチャが楽にしてくれたこと

ra1028fe5 Ryo Aoyama

新規アプリの立ち上げの際、憤って流行のアーキテクチャを取り入れたものの汎用性に欠け、結局使い慣れた過去のアーキテクチャを混在させるなんてことが往々にしてあります。
FRESHでは1年ほど前に新たに動画配信用アプリの開発を始めました。
その際新たに考案し、ライブラリ化したVueFluxがいかに私達を楽にしてくれたのかを、動画視聴用アプリで採用していたMVVM+ReactiveSwiftと比較しながら、お話しします。

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

iOSの理想的なUIを考える

fuwamaki24 fuwamaki

色んなアプリを使っていて「メニューがなぜモーダル表示?ドロワー表示の方が良いのでは?」など、UIに疑問を覚えたことありませんか?
しかしUIを考える側になってみると、ユーザからUIの指摘を受けるなんてこと、よくあるのではないでしょうか。
私はWWDC18に参加してAppleのデザイナーに直接質問してきました。そこで得た知見をもとに「〇〇の場合に理想的なUIは△△ではないか」という話をしたいと思います。

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

RxSwfitを採用したプロジェクトにおけるテストパターン

takehilo_kaneko Kaneko Takehiro

RxSwiftを採用したプロジェクトでは、多くの関数をObservableを返す関数として実装します。Observableを返す関数は通常の関数と違い、ユニットテストに少し工夫が必要になります。
このトークでは、日々Observableな関数に対してユニットテストを書いている中で見えてきたテストのパターンについてご紹介します。

※関連ライブラリ
Quick、Nimble、RxTest、RxBlocking、Mockingjay

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

今こそ見直したいUITextContentTypeによる入力補完機能

m_orishi m_orishi

WWDC2018にて「Automatic Strong Passwords and Security Code AutoFill」というセッションが行われました。
かゆいところに手が届くその内容に喜んでいる方も多いのではないでしょうか。

このトークでは、UITextContentTypeによってどのような入力補完が出来るのかについての見直しと、
新たにiOS12から可能になる2つの種別に関して可能な限り紹介をします。

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

Pairs海外版iOSアプリで実践しているModelレイヤーの設計について

muukii0803 muukii

アプリ内のコードにおいて、サーバー連携とUIレイヤーを支えるModelレイヤーについて話します。安定したUIを実現するためにMVVMやFluxなどが存在していますが、それらはバックエンドとなるModelレイヤーについては詳しくは言及していません。ですが、大きなアプリケーションではModelレイヤーの設計と管理が要になります。今回はPairs 海外版iOSアプリで実際に使用している設計をアイデアのひとつとして皆さんに共有します。

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

業務と両立できる!開発環境の改善!

hicka04 佐藤 光

普段の業務の中ではどうしてもリリース優先になってしまい、
リファクタリング等の改善活動になかなか時間を割けていない方も多いのではないでしょうか?
弊社では毎月2日間、継続的に開発できるよう開発環境の改善を行っています。
おかげで今ではテストコードを用いたテストができるようになりました。
今回はその中で効果のあった改善施策と、その改善活動をチーム全体で推進するためのポイントについてご紹介します。

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

SafariとWebKitに関する動向と現場で使っているデバッグ方法について

OR120 足立晃一

セッション数は少なかったですが、今年のWWDCではWeb関係の大きなアップデートがいくつかありました。
その中からJS関係のアップデート、ITPの検証結果、実際現場で使っているデバッグ方法などをご紹介します。

採択
2018/09/01 16:00〜
Track C
レギュラートーク(15分)

WebSocketをiOSに持ち込んで辛い思いをした経験がありますか!?

sbntaminif taminif

はい!そこのあなた!
Firebaseの話かと思った?あれもWebSocket使ってるもんね!
違います!自社でWebSocket通信用サーバーを立てて、WebとiOSアプリで同時対応した話です!
HTTP通信じゃだめなんです!WebSocketでやる必要があるんです!
決して正解ではないかもしれないですけど、プロダクトに導入して大変な思いをした経験を話します!!

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

終わりつつあるアプリ内WebViewと弊アプリ事例での生存策

sbntaminif taminif

PWAに代表されるように、昨今のWeb技術もネイティブに迎合するように着実に進化しています。Appleもその流れに沿ってSafariにServiceWorkerやWebRTCを実装しています。しかし、iOSアプリエンジニアにとってブラウザはSafariだけではありません。本トークではWeb最新技術が三種類あるiOSブラウザへの対応状況と、ブラウジングとは違ったWebViewの使用例を紹介します。

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

4年放置していたアプリをリニューアルした話

fromkk Kazuya Ueoka

昔々、勉強がてら作っていた個人アプリを最近リニューアルしました。データは元々アプリ内のSQLiteに保存しており、それらを全てFirebaseに移して、コードは全てSwiftで書き直し、勉強の為にRxSwiftを導入しました。いざリリースしたら「元に戻して」とレビューや問い合わせを頂いてしまい今後どの様に対応していくのか。