LT(5分)

どこからテストを書き始めるか~テスト観点を添えて~

karuiad_ar kariad

テストコードを初めて書く時、難しいことの1つに「どこから書くか」という問題に直面した経験はないでしょうか。
その問題を解決するべくテスト観点を明確にするところから始め、テストをどこから書くか明らかにしていく方法を話していきます。

iOSDCルーキーズ LT(5分)

どこからテストを書き始めるか~テスト観点を添えて~

karuiad_ar kariad

テストコードを初めて書く時、難しいことの1つに「どこから書くか」という問題に直面した経験はないでしょうか。
その問題を解決するべくテスト観点を明確にするところから始め、テストをどこから書くか明らかにしていく方法を話していきます。

LT(5分)

Fluxでルーティングを実現する

shoheiyokoyam shoheiyokoyama

アプリケーションでは欠かせないルーティング処理ですが、状態が多くなると複雑になりがちです。
このトークではFluxでルーティング処理を行うための設計の話や、はまりがちな点などのtipsを交えながら紹介していきたいと思います。

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

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

shoheiyokoyam shoheiyokoyama

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

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

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

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

shoheiyokoyam shoheiyokoyama

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

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

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

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

r_plus taiki komaba

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

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

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

ログの発火テストをXCUITestで自動化しようとしたがUnitテストで実装した話

marty_suzuki marty-suzuki

運用段階のサービスで新規の機能実装した場合などに、QAテスト時にログの発火ミスなどのバグがあがってるくことがしばしばあるかと思います。
そこで画面操作に合わせたログの発火テストを自動化する試みをしました。
はじめはXCUITestで実装してみましたが様々な壁にぶつかったため、途中から方針を変えてUnitテストで実装することにしました。
本トークでは、実装する上での問題点や改善方法について話して行きたいと思います。

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

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

justin999_ 佐藤紘一

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

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

Firestoreを使ったiOSアプリ開発の魅力

laiso laiso

Firestoreはアプリの命である「データ」を扱うBackend as a serviceの1つです。
先日私達はこのFirestore+Firebaseプラットフォームをすべてのバックエンドに使いサーバーレスなiOSアプリを開発しました。
その体験をもとに「まるでローカルDBを取り扱うように」Webバックエンドの連携を実現するFirestoreが持つシンプルで柔軟なデータストア層についてお話しします。

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

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

justin999_ 佐藤紘一

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

LT(5分)

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

nolili Noritaka Kamiya

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

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

Swift 5のasync/awaitでiOSアプリ開発がどのように変わるか、予習ドリルで先取りする

koher Yuta Koshizawa

非同期処理のコードを改善するために、Swiftに適した形のasync/awaitがCore Teamから提案されています。iOSアプリは非同期処理のかたまりです。async/awaitの導入はiOSアプリ開発に大きな影響を与えると予想されます。本トークでは、提案の文書を元にiOSアプリ開発がどのように変わりそうかを説明します。また、実際にコードを書く演習時間を設け、iOSアプリ開発におけるasync/awaitを習得してもらいます。

LT(5分)

我々はどこまでiPad対応をすべきなのか

akatsuki174 akatsuki174

皆さんのアプリのUIはiPadとiPhoneで別にしているでしょうか?仕様検討の際にiPadのことも考慮しているでしょうか?やるべきだとは思っていても、どこをどの程度まで対応したらいいかよくわからない、ということがないでしょうか?

このトークでは操作性の観点や、世に出ているiOS/Androidアプリのタブレット対応の実例を踏まえて、どこを落とし所として対応すべきかについて話そうと思います。

LT(5分)

一目でわかるVisual Format Language! レイアウト<->VFL変換を見て練習

banjun ばんじゅん🍓

Auto LayoutのVisual Format Languageの読み書き人口を増やしたいので,サンプルをみて慣れていただきます。

  • レイアウトをみてVFLを書けるようになる
  • VFLをみてレイアウトが想像できる
    という例を時間の許す限り出していきます。
LT(5分)

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

myb Masayuki Iwai
myb

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

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

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

myb Masayuki Iwai
myb

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

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

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

FromAtom FromAtom

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

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

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

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

FromAtom FromAtom

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

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

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

貢献できるOSSの探し方 ーHow to find "Good First Issues"ー

ohbarye ohbarye

OSS貢献したいが貢献できるレポジトリやイシューを探すのに苦労している。そんな経験はないでしょうか。

このトークでは、JavaScript経験の浅かった私がNode.jsなどの著名レポジトリに貢献した経験を基に、貢献対象の検索を効率化・自動化した方法をお伝えします。

参考: Good First Issues of Swift https://goo.gl/3tojSQ
※紹介する方法は言語に依存しません

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

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

ra1028fe5 Ryo Aoyama

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