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

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

r_plus taiki komaba

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

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

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

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

justin999_ 佐藤紘一

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

レギュラートーク(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の検証結果、実際現場で使っているデバッグ方法などをご紹介します。

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

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

sbntaminif taminif

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

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

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

fromkk Kazuya Ueoka

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

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

機械学習したいけどCreateMLじゃ物足りない?TuriCreateがあるよ

fromkk Kazuya Ueoka

macOS MojaveとXcode 10の組み合わせからPlaygroundで簡単にCoreMLのモデルが作成出来るようになりました。ただ、現在のところ画像分類、文章の分類、表形式データの推定のみです。特に機械学習で画像を取り扱う場合、物体認識機能や画像変換機能は魅力的な機能かと思います。機械学習の知識が全く無い人が、TuriCreateを試してみてこれらの機能が如何に簡単に実装出来るか紹介したいと思います。

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

事業の制約と技術課題の中で技術的チャレンジをどうしてきたか

yasuda0321 保田速人

長い間プロダクトを運用するとコードには旧時代のプラクティス、意図のわからない仕様、統一されていないアーキテクチャなどの様々な課題が積み上がっていきます。

リリースしてから8年が経過し巨大になったじゃらんアプリも例外ではなく、生産性をあげるべく様々な取り組みを行ってきました。

このセッションでは事業の制約と技術的な課題のなかでどのようなことを行ってきた(もしくは行っている)かをお話したいと思います。

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

Practical transitions for iOS

gaussbeam hanyu

ユーザ体験向上のためにトランジションやアニメーションが果たす役割は大きい.
Human Interface Guidelinesでは,これらの項目は大幅な更新もなく抽象的な記述に留まっている.そのため,デベロッパの裁量に委ねられているのが現状である.
本発表では,Material Designや各種ライブラリでの表現・実装などを参照し,アプリのトランジションをよりリッチにするための実践方法やTipsを紹介する.

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

今さら知らないなんて言えない!ARKit入門

yutaabe200 yutaabe200

ARKitが登場してから早くも1年以上が経過しました。今ではAppStoreには数多くのARKit搭載アプリがリリースされています。
さらにWWDC2018ではARKit2が登場し、AppleもARに関してかなり注力していることが伺えます。
今日iOSエンジニアを名乗るのであれば、ARKitを扱えて当然の世代になりつつあります。
本セッションではARKitの基本からどのようなことが実現可能かをわかりやすく解説します。

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

もっともっと細かくリリースをしてユーザーに最速で価値を届けるためのリリースフロー

slightair slightair

僕らの組織では複数のプロジェクトチームがひとつのアプリに機能を追加・修正するという体制で開発を行っており、リリース日程や実装機能の調整など、コミュニケーションにどうしても時間がかかっていました。この問題を解決するためにfastlaneを使ったタスクの自動化だけでなく、機械的なペースに合わせるリリースフローを実現しようとしているので紹介します。(発表する頃にはうまくいってるはず…)

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

時は満ちた...今こそAVSpeechSynthesizerに日の目を!

ushisantoasobu ushisantoasobu

iOS7より登場した、テキストの音声読み上げAPIであるAVSpeechSynthesizer。スマートスピーカの登場をはじめとして「耳で情報を得る」機会は今後も増えていくのではないでしょうか。
iOS7登場時にリリース・運用してきたTwitter読み上げアプリの経験を通して、AVSpeechSynthesizerを用いたアプリの開発のポイントを発表できればと思います。

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

退屈なことはApp Store Connect APIにやらせよう

giginet ぎぎにゃん

ついに発表されたApp Store Connect API。これを使えば何ができるのでしょうか?
公開されている情報からいくつかの業務改善のアイディアをお話しします。
また、実際にApp Store Connect APIクライアントを実装してみて、Swiftで簡単なタスクを記述する方法をお伝えします。

このトークの内容はトーク時にApp Store Connect APIが公開されているかによって変わります。