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

iOSエンジニアの為のgrpc-swift入門

tikidunpon Koichi Tanaka

gRPCはGoogleが開発したハイパフォーマンスなRPC(Remote Procedure Call)プロトコルです。
Firebase SDKにも組み込まれていて、間接的に使った方も多いと思います。
トークでは、アプリからの通信の選択肢として、RESTやGraphQLに加えてgRPCも選べるように、
gRPC自体の解説、grpc-swiftの開発状況や現状の課題をデモを交えお伝えします。

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

Androidを考えたiOSアンチパターン

yutaabe200 yutaabe200

アプリ開発と言うとほとんどがAndroid・iOS両OS開発するシーンがほとんどかと思われます。
その中でiOSでは容易に実装できるけどAndroidではキツイ!と言う実装やその逆のパターンも数多くあります。
本セッションではAndroid実装を考慮するとiOSでやってはいけないアンチパターンを両0S開発の経験を基にお話しします。

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

An introduction to Swift for TensorFlow

jarinosuke Naoki Ishikawa

Swift for TensorFlow を実際に Xcode Playground で動かし簡単なテンソル積などを実行するところもデモします。
それを通して Swift for TensorFlow の技術的なコンセプトや、TensorFlow にとどまらない Swift 自体の技術的な拡張などについて分かりやすく説明できればと思います。

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

Developing .framework 101

jarinosuke Naoki Ishikawa

iOS の dynamic framework 開発のイントロダクションになります。
framework 開発で得た以下の地検などを説明さ背てもらおうと思っています。

  • static library/dynamic framework
  • sub framework への切り出し
  • framework の I/F を考える
  • open アクセス修飾子
  • Bundle 問題
  • Swift ABI
レギュラートーク(30分)

機械学習を使ったアプリの評価・検証はどうすればいい?

sonson_twit 吉田 "sonson" 悠一

Create ML, Core ML, Vision Frameworkなどのフレームワークが登場し,専門家でなくても機械学習をアプリケーションに取り入れることができるようになってきました.しかし,実装が簡単になっても,機能を評価,検証する必要性はなくなりません.この発表では,機械学習において評価を議論するにあたって重要な概念である学習性能と汎化性能の違い,学習および評価に必要なデータの数などについて解説します.

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

Factoryの自動生成によりテストを書きやすくする

nonchalant0303 Takeshi Ihara

テストを書くのって面倒ですよね?理由は様々ですが、ひとつは入力値と期待値を用意する手間だと思います。ベタに用意すると再利用性が低く、また構造変化に弱いというデメリットがあります。その解決策としてFactoryがあります。

ただ、実際はFactoryを用意するのも手間でコストがかかってしまいます。今回はFactoryを自動生成することで、再利用性が高く構造変化に強いツールを作りました。そのツールの特徴とコード生成についてお話します。

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

機械学習わからないけどiOS で機械学習を使いたい!学習済みモデルを自動生成してiOS 端末上で機械学習する方法。

fumiya_kume くぅ

「機械学習を知らなくても機械学習を利用した画像分類をする方法」について伝授します!機械学習するために必要な「学習済みモデル」をAzure Cognitive Services の Custom Vision Services を利用して 教師ありの画像分類モデルを作成し、iOS 端末で画像分類を行います。 機械学習に興味はあるけど自分で勉強する時間はない!といった方へのトークです。

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

「あっぷこぉでねぇたぁ」?おらさ村では「るぅたぁ」だっちゃなあや

ktanaka117 ダンボー田中

UIViewControllerから画面遷移処理を切り離すための設計パターンに、AppCoordinatorとRouterというものがあります。
この二つは名前の違いこそあれど意味するところは同じで、「方言」だと考えています。
このトークではUIViewControllerから画面遷移処理を切り出す理由と方法、名前と役割の対応にまどわされない開発チームになるための、設計に対する姿勢について話します。

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

Codableでなりすましたラッパー型で意味を具体化する。RawRepresentableとともに。

_ha1f はるふ

例えば「ファイルサイズ」はInt型に見えますが、
メガバイト表記とキロバイト表記は同じものでも、数字としては違うので、
Int, Double自体とは少し異なった性質があります。

そんなときにも便利な、
Codableを使ってエンコード時に値になりすまして表現する方法を、
その他の実用例も交えながらご紹介します。

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

Himotoki を Codable に移行したい.ただ,移行したかっただけなんだ

watura watura

ずっと前に書かれた,Himotokiを使ったコード.複雑怪奇な秘伝のタレとして,拡張され,パッチワークされてきた,Zaim アプリを支えるAPI部分をCodable 対応するために行ったことを一部始終を話します.さて,今6月13日なのですが,まだ完了していません
それどころか,フルスクラッチで作り直したい!という欲望も顔を出しています.欲望に打ち勝ち,移行に無事成功した体験談になるはずで

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

プロトコルでStoryboardともっと仲良くなる

417_72ki 417.72KI

Storyboardの扱いでしばしば挙げられる問題点の1つとして、文字列を扱う事によるtypoや変更への弱さが挙げられます。
ここではProtocol Oriented Programmingを用いて、そのデメリットをできる限り解消していきます。

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

今こそMetal!今さらOpenGL? MetalとOpenGLで学ぶ3Dプログラミング入門

ta_ka_tsu Takatsu Youichi

3Dプログラミングに興味があるけどすごく難しそう…
そう思う方は少なくないと思います。

しかし実は3D描画の仕組みはとても単純な処理の組み合わせです。
その仕組みさえ理解してしまえば最初に乗り越えるべき壁はとても低くなります。

本トークでは3Dプログラミングの基礎をMetalで解説します。
他のプラットフォームではOpenGLもまだまだ現役です。
Metalとの差異を踏まえつつ、まとめて学んでしまいましょう。

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

DDD(ドメイン駆動設計)を知っていますか??

takattata Takasy

DDDを学んだことはありますか?
レイヤー化アーキテクチャとかの話でしょ?と思っていませんか?
DDDは小手先で行うものではなく、仕組みを作っていくことが主です。
DDDを学び実践することで、チーム各員の意識が変わり、今のプロダクトが整理されていくはずです。
そんなDDDへの入り口を開くセッションに出来ればと思います。

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

ライブコーディングで、Swiftの値型の特性を活かしてiOSアプリを作る

koher Yuta Koshizawa

Swiftは値型中心の言語です。標準ライブラリで提供されている型はほぼすべてが値型です。値型を活用することでミュータブル/イミュータブルクラスのいいとこどりをし、簡潔でメンテナンス性の高いコードを書くことができます。しかし、Obj-CやUIKitの影響もあり、iOSアプリは今も参照型中心で開発されることが多いように思います。このトークでは、ライブコーディングでアプリを丸々一つ作り、値型の特性を活かしたiOSアプリの開発手法を紹介します。

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

デザイナーと一緒にコラボして仕上げるアニメーション実装とショーケース紹介

fumiyasac Fumiya Sakai

社内で新規アプリを開発するぞ、そして今回はシンプルなUIの中にも気持ちの良いアニメーションを盛り込むぞ!という所から始まったプロジェクトにてUI開発を担当した際に、得た知見やデザイナーとの協業の際に留意した点、シンプルな中にも心地よいアクセントをつけるためのポイントになる実装やデザイナーとの協業の際に使用したツール、UI表現をする過程で検討したライブラリ等やその他の点についてもご紹介できればと思います。

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

iOSアプリの起動経路を整理する

d_date 松館 大輝

通常起動にプッシュ通知、Universal Linksはもちろんのこと、Core SpotlightやWidget、Home Screen Quick Actionには対応してますか?
今年はiOS12でSiri Shortcutが登場。またAppDelegateが肥大化します。
…なんてことがないようにきれいに整理しませんか?
確認に手間がかかる起動経路まわりを効率よく実装するための設計やテストについて具体例を用いて紹介します。

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

シンボリケート/クラッシュログを人間が読めるようになるまで

hironytic ひろん

アプリがクラッシュするとデバイス内にもクラッシュログが残ることをご存知でしょうか。ただ、そこには16進数のアドレスが並んでいるだけの場合もよくあります。本トークではそのアドレスをメソッド名に変換するツールを紹介し、それがどのように動作するのかを解説します。うまく変換できない原因を取り除けば、それはハッピーシンボリケーション!
●話さないこと:クラッシュログの読み方・クラッシュログを活用したデバッグ手法

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

海外展開を目指すアプリでセキュアで速い画像と動画の閲覧を実現した話

_atsushisakai 酒井篤

「家族アルバム みてね」は、徐々に国外にユーザーを拡大しています。常に海外での快適な利用が実現されることを意識して開発していますが、その中でもメディアを高速に配信し・閲覧できることは、最重要課題でした。どのように課題を認識・改善したかの知見をお話ししたいと思います。

アジェンダ

  1. 認識(NewRelicによる計測)
  2. 設計(AWSも含むシステム全体)
  3. アプリ実装について
  4. 成果とさらなる課題
レギュラートーク(30分)

UITesting with GraphQL

iida_0213 飯田勇人

GraphQLを利用したiOSアプリケーションでUITestを実現する方法について説明します。

Agenda

  • GraphQLライブラリの「Apollo」を利用したiOSアプリケーション開発について
  • ServerSideSwiftを利用してCI上でWebMockを立ち上げUITestを行う方法について
  • WebMockでGraphQLのテストデータを効率よく記述するために開発したライブラリの紹介
1
レギュラートーク(30分)

モブプログラミングで理解するasync/await

yimajo 今城 善矩

2017年8月にSwiftの生みの親、クリス・ラトナー氏によりプロポーザルasync/await for Swiftの下書きが公開され、その内容は、コルーチンサポートにより非同期処理を読み書きしやすく書けるようになることを意味しています。このトークでは、Swift 3から使えるasync/awaitライブラリHydraを使って、ライブでアプリを作っていくセッションです。参加者のみなさんはTwitterのハッシュタグでコメントをください!