iOSDCルーキーズ LT(5分)

プロトコルでSegueと仲良くなる

417_72ki 417.72KI

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

iOSDCルーキーズ LT(5分)

Firebase/RemoteConfigを実際に運用している話

KoH_1011 kosuke.takahashi

Wowma!アプリではFirebaseのRemoteConfigを採用しています。使用用途は公式に載っているようなA/Bテストとは違い、お知らせやアップデートの通知という目的で使用しています。
そこで、「RemoteConfigを採用した背景」といったビジネスや運用の側面と「RemoteConfigを実装していく上でつまづいたこと。考えたこと」といった実装の側面の話をしていきます。

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

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

ta_ka_tsu Takatsu Youichi

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

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

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

LT(5分)

フラグメントシェーダーで遊ぼう

ta_ka_tsu Takatsu Youichi

Metalに限らず、昨今の3D描画APIは「フラグメントシェーダー」と呼ばれるプログラム可能な陰影処理の仕組みを備えています。
本来はポリゴンで作った形状に対して、その表面の陰影や質感を表現するために各ピクセルの色を決定する機能です。

しかし本来とは全く違う使い方をすることで実に驚くべき描画が可能となります。
フラグメントシェーダーの仕組みとテクニックを交えつつ、フラグメントシェーダーによる様々な表現を紹介します。

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

フラグメントシェーダーで遊ぼう

ta_ka_tsu Takatsu Youichi

Metalに限らず、昨今の3D描画APIは「フラグメントシェーダー」と呼ばれるプログラム可能な陰影処理の仕組みを備えています。
本来はポリゴンで作った形状に対して、その表面の陰影や質感を表現するために各ピクセルの色を決定する機能です。

しかし本来とは全く違う使い方をすることで実に驚くべき描画が可能となります。
フラグメントシェーダーの仕組みとテクニックを交えつつ、フラグメントシェーダーによる様々な表現を紹介します。

iOSエンジニアに聞いて欲しいトーク(30分)

Firebaseを使ったiOSアプリの開発、ぶっちゃけどうよ?

Firebaseは手軽かつ無料でも利用できる範囲が広いため、個人開発や小さく価値検証を行いたいプロダクトに導入することも増えてきていると思います。
料理を楽しくするマルシェアプリ「Komerco」は、iOSアプリで、Firebaseをフル活用しています。そして開発しているエンジニアは全員iOSエンジニアです。

その開発経験を踏まえてバッドノウハウ、ベストプラクティス、設計方針などなどぶっちゃけようと思います。

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

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

takattata Takasy

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

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

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

koher Yuta Koshizawa

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

iOSエンジニアに聞いて欲しいトーク(30分)

チャットUIアプリと LINE BOT

koga_wiwi kiwi

チャットUIでユーザーの課題を解決するアプリはたくさんありますが、快適なUIの作成やメッセージ送受信の設計はかなり骨が折れると思います。
チャットボットの場合、チャットアプリの制約を受ける代わりに、ユーザーとのメッセージのやりとり部分に集中できます。

このトークでは、LINE Platformで実装できる、さまざまな表現をご紹介します。
チャット機能をどのように提供するか、その一助になれば幸いです。

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

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

fumiyasac Fumiya Sakai

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

iOSエンジニアに聞いて欲しいトーク(30分)

iOSアプリ開発者から見たFlutter

_mono 🐶 mono 

近年、モバイルアプリのクロスプラットフォーム開発ツールが盛り上がっていますが、その中でも最近注目しているFlutterについて、iOSアプリ開発者ならではの目線で話します。

・Flutterの概要(他の類似フレームワークとの違いを中心に)
・iOSアプリメインの開発者のFlutterへの所感
・Flutterで開発したiOSアプリのUI品質の評価
・Flutterによる開発のメリット・デメリットを踏まえた、使いどころの考察

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

イチから始めるアクセシビリティ ~まずはできるところから~

stzn3 shiz

スマホは多くの人にとって生活に欠かせないものとなってきており、様々な環境、境遇の方がアプリに触れる機会も増えています。
そんな時、アクセシビリティは一つの大きなテーマになってくると思います。

  • そもそもアクセシビリティとは?
  • iOSではどんな機能が提供されているのか?
  • アプリに導入するには?
    といった基本的な部分に触れ、アクセシビリティに興味を持つきっかけづくりをしたいと思います。
LT(5分)

2018年のiOSアプリ開発のCI事情〜この1年での変化〜

tarappo 平田敏之

2017年に同様のタイトルでLT発表をしました。

あれから1年。 前回紹介したbuddybuildはAppleに買収され、CircleCIはmacOSでも2.0対応になり、さらに日本にオフィスを設立しました。
昨年からのBitriseの勢いも止まりません。 
この1年間でiOSアプリ開発におけるCIサービス周りがどう変化してきたのか、そして各CIサービスの差について説明します。

LT(5分)

4000のワーニングと戦え!これは警告だ!

hironytic ひろん

大人数による大規模アプリで、コンパイラの出す警告を放置したら——
日々増加する警告数に危機感を抱いたエンジニア達が、チーム開発において警告と戦うために行っていたこととは?
警告を消し去る意味に立ち返り、目の前の警告に様々な手段で挑んでいたさなか、あることをきっかけに警告数はついに4000を超える!追い詰められた彼らは“秘策”を練るが……。
人類と警告の終わりなき戦いをダイジェスト版でお届けします。

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

4000のワーニングと戦え!これは警告だ!

hironytic ひろん

大人数による大規模アプリで、コンパイラの出す警告を放置したら——
日々増加する警告数に危機感を抱いたエンジニア達が、チーム開発において警告と戦うために行っていたこととは?
警告を消し去る意味に立ち返り、目の前の警告に様々な手段で挑んでいたさなか、あることをきっかけに警告数はついに4000を超える!追い詰められた彼らは“秘策”を練るが……。
これは人類と警告の終わりなき戦いを描いた物語である。

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

iOSエンジニア向けC++入門

rikusouda りくそうだ

C++はSwiftの実装に使われていたり、Objective-C++でiOSアプリ開発にも使える言語で、iOSアプリ開発と無関係ではありません。
しかし、C++を使ったことのない方も多いのではないでしょうか。

本トークでは、iOSアプリ開発になじみの言語であるSwiftに例えてiOSアプリエンジニア向けにC++の書き方や読み方を紹介します。
C++でのオブジェクト所有権などSwiftと違うところにも着目します。

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

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

d_date 松館 大輝

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

iOSエンジニアに聞いて欲しいトーク(30分)

SwiftNIO のアーキテクチャーとRxHttpClient

mike_neck 持田真哉

try! Swift Conference にて発表されたSwiftNIOのアーキテクチャーをざっくりと解説します。

また解説だけでなく、発表者が SwiftNIO を用いて作成している RxHttpClient にてどのように組み立てているか具体例を紹介します。

この発表の聴講者が SwiftNIO を用いて実践的なアプリケーションを作れるようになるとよいなと考えています

LT(5分)

What does "SWIFT" mean?

S_Shimotori_pub S_Shimotori

Swiftを愛してやまない皆様、そもそも"SWIFT"という単語がどんな意味かご存知でしょうか。検索結果でお察しの通り、この言葉はSwift以外でも名付けに使われています。
本LTでは、Swiftを愛する皆様に向けて、"SWIFT"の語源から鳥、同名の言語、OpenStackのあの子、著名人物に自動車等々を一挙紹介します。
"SWIFT"に立ち返れば、もっとSwiftが大好きになること間違いなし。

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

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

hironytic ひろん

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