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

CoreMLの学習済みモデルをもっと早く、軽くする!計算コストから考える.mlmodelの作り方

ni_san2000 にーさん

iOS11から利用可能になったCoreMLですが、学習済みのmlmodelファイルによってアプリサイズが肥大化することや、識別結果が出力されるまでに長い時間を要するなどの課題があります。このトークでは画像識別のネットワークを例に挙げ、.mlmodelファイルの作成においてどこが課題解決のボトルネックになっているかを、機械学習の計算コストの視点から簡単に解説し、その改善策を紹介します。

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

CoreMLの学習済みモデルをもっと早く、軽くする!計算コストから考える.mlmodeの作り方

ni_san2000 にーさん

iOS11から利用可能になったCoreMLですが、学習済みのmlmodelファイルによってアプリサイズが肥大化することや、識別結果が出力されるまでに長い時間を要するなどの課題があります。このトークでは画像識別のネットワークを例に挙げ、.mlmodelファイルの作成においてどこが課題解決のボトルネックになっているかを、機械学習の計算コストの視点から簡単に解説し、その改善策を紹介します。

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

iOSアプリエンジニア向けにC++を紹介する

rikusouda りくそうだ

C++はSwiftコンパイラの実装に使われていたり、Objective-C++でiOSアプリ開発にも使える言語です。
本トークでは、iOSアプリ開発になじみの言語であるSwiftを起点としてiOSアプリエンジニア向けにC++を紹介します。
C++での業務経験がある私が、C++を書くときに気にするポイントも交えてお話しできればと思います。

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

iOSアプリ開発には関係ない?先取りSwiftPackageManager

yutailang0119 Yutaro Muta

我々はアプリのコードやバンドルされるライブラリだけでなく、様々なツールや仕組みによって開発を進めます。それらのツールにはSwiftPMに依存するものが数多く存在します。SwiftPMはOSSであり、普段の開発では触れることがないようなAPIも垣間見え、非常に魅力的なコードです。SwiftPMやそれを使うOSSから、使い方、実装方法を学び、iOS開発にやってくる前に先取りしてしまいましょう。

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

プッシュ通知はどのような進化をたどってきたか

urouro_n Kenta Nakai

プッシュ通知はさまざまな進化を遂げてきました。かつてはテキストだけしか表示できなかったものが、画像やカスタムアクションを付けられるようになり、iOS 12でも様々な機能が追加されています。
このトークでは、プッシュ通知でどのようなことができるようになったか、iOSのバージョンごとに時系列を追って紹介していきます。開発時に混乱しがちな「どのバージョンからどのようなプッシュ通知の機能が使えるのか」を整理できるようお伝えできればと思います。

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

マルチデバイス対応+同期可能なメモアプリを開発した話。

nakajijapan nakajijapan

みなさんは業務でも個人でもで、iPhone,iPad,macOS等のマルチデバイスに対応し、同期を行うということはなかなか無いと思います。
私は個人で実際にそれに対応したメモアプリをリリースしました。その中でデバイス間の同期をどのようにして行われているのか。
実際にマルチデバイス(iPhone,iPad,macOS)を対応するにおいて何を考慮しないといけないのかをお話しできればと思います。

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

超リッチなアニメーションを実現!プロダクション環境でLottieを使いたい!!

kameike kameike

アニメーションを強力にサポートするLottieを使えばリッチな体験を提供できます。Lottieの得意、不得意な表現はもちろん、導入する際に気になるパフォーマンスや使われる技術の背景、アニメーションデータ作成のワークフローと管理・データに対するプリプロセス等網羅的にお話します。これを聞けば明日からLottieを活用できる?!リッチなアニメーションでユーザーを魅了したい方必見!

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

リリース間もないサービスにVIPER+RxSwiftを導入した話

nakajijapan nakajijapan

iOSを開発をする上で一度はどんな設計でアプリを開発していったらいいのか考えるかと思います。
私たちはアプリを開発を始めてもうすぐ一年が経とうとするアプリに対してVIPER+RxSwiftを取り入れました。
このトークでは、なぜ、どのようにどこまでしてそれを導入したのか、実際にどうなったか、さらには実際の画面に応じた実装がどうなっているのかを実際のコードを交えながら説明できればと思います。

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

マッチングアプリにおける状態管理との戦い

corin8823 こりん

マッチングアプリでは性別や課金状態、年齢確認の有無等でできることが変わります。
まずこのトークではその状態管理をFlux ArchitectureやFirebaseのRealtime Databaseを用いたことを話します。

またFluxを導入した際にわかった問題点を元にMVVM + Flux Architectureに挑戦したことをお話できればと思います。

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

UIViewとUIViewController以外を全てユニットテストしようとした話

yopicpic Yoshiyuki Tanaka

MVVMでRxSwiftを使ったアプリを昨年7月にリリースしました。当時、会社にiOSエンジニアは自分だけだったため、テストは1人でする必要がありました。そこで、人手のテストを極力減らすため、UIViewとUIViewController以外を全てユニットテストしてみることにしました。そこで得た、DIとMockの活用法やViewModelのテスト方法など、実戦で使えるテスト手法を紹介します。

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

タップル誕生にJoinして変えた(変えよう)としていること

corin8823 こりん

4年続いているサービスに4月からJoinしてもうすぐ4ヶ月になります。
これから数年間サービスを成長させていくために、クライアントサイドの技術戦略として、どのようなことを考え変えようとし、実際どのようなことを変えていってるのかをお話できればと思います。

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

あのサービスのあのUIが気になるあなたへ

_bannzai_ bannzai

あのサービスのあの気になるUIを妄想でコピー実装し、時間の許す限り実装に成功した道筋を解説していこうと思います

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

MVIアーキテクチャの採用でテストとログ取りの悩みが解決した話

Susan_jacko watanave

ユニットテスト書いてるけど、イマイチしっくり来ないな...
ログ取り一応やってるけど、コレでいいのかな...
これらの悩みが、MVIアーキテクチャの採用によって一気に解決しました。

話すこと (予定)
・MVIアーキテクチャとは?
・実例 iOSで実装するMVI
・実装量が増えがちなアーキテクチャの時短術
・MVIでのテスト戦略
・MVIでのログ取り

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

MicroViewControllerのステート副作用管理技術「ThunkBag」の紹介

orakaro orakaro

メルカリの新アーキテクチャー”MicroViewController”にReduxライクステートが導入されましたが、そのステートの副作用管理問題に悩まされた時期もありました。副作用を優先すべきケースと優先すべきでないケースの明確化、プロパティーの順序を意識することなく安全なステート変更の保証など、上手く副作用を管理する仕組みのThunkBagをこのトークで紹介致します。

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

既存アプリにCloudFireStoreを導入する簡単な方法

sun54907 海川和弥

Firebase の RealTime Database に代わるものとして、昨年10月に発表された Cloud Firestore 。未だベータ版ですが、そちらを弊社マッチングアプリ「タップル誕生」に導入して、運用している話をしたいと思います。すでに出来上がっているシステムにどうやって組み込んだのか、どのくらい簡単なのか、リスクヘッジはどうなってるか、などのお話をしたいと思います。

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

UnityでマルチプラットフォームなARアプリを作る

tanakasan2525 Tatsuya Tanaka

iOSのARKit、AndroidのARCore、それぞれ特徴は似ていますが本来別々で実装する必要があります。ですが、Unityを利用することでAR体験に必要なロジック等をできるだけ共通化させることができます。
このトークでは、Unityを利用したARの開発方法から、マルチプラットフォーム向けのARアプリを作るための方法などをUnityの前提知識なしでも分かるように紹介します。

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

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

ikesyo Sho IKEDA

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

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

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

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

shoheiyokoyam shoheiyokoyama

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

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

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

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

marty_suzuki marty-suzuki

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

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

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

justin999_ 佐藤紘一

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