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

RustでiOSのビジネスロジックを記述できるか

beowulf_tech k2moons

KMMやFlutterなどマルチプラットフォームな開発環境が脚光を浴びています。でもちょっと待ってください。あの人気の言語RustもiOS、Androidの両方で動くのです。Rustを使ってビジネスロジックを書いてみませんか。
このトークでは

  • ネットワークアクセス
  • ストレージアクセス
  • モデルの共通化

など、ビジネスロジックを書くためにはiOSでRustで何ができればいいのか、検証した結果をお話しします。

11
採択
2022/09/10 17:15〜
Track C
レギュラートーク(40分)

Swiftで我が家をより便利に、安全に!

u5_03 すぎー

我が家にはたくさんのIoTガジェットがあって、カーテンや玄関の鍵を開け閉めしたり、大活躍です。
しかしエンジニアという人種は、既存の機能では満足できず、カスタムして、色々作り込みたくなるものです!
そこで日頃お世話になっているSwift、我が家に余ってたラズパイ、そしてiPhoneの力を借りて、より便利で安全なスマートホームを目指した取り組みを共有します。
具体的には…
●ラズパイでのSwiftやServerSideSwiftフレームワークのセットアップ
●iPhoneのセンサー情報をServerSideSwiftのAPI経由でラズパイのDBに書き込む方法
●ラズパイと既存のIoTガジェットの連携方法
●SwiftでラズパイのGPIO経由でセンサーやLEDを操作する方法
などをデモを交えて紹介する予定です。

ぜひ皆さんもSwiftを使った自宅のスマートホーム化、電子工作を楽しみましょう!

LT(5分)

AR演出に必須のFreeDプロトコルをSwiftで実装する

shmdevelop 服部 智

AR表現を作る際にカメラの動きを合成用PCに送信する必要があり、その標準となっているのがFreeDというプロトコルです。

このプロトコルをSwiftで実装しiPhoneから情報送信できるようにしました。
プロトコルの概要を解説し、実装内容についてコードを見せながら説明します。

  • macOSアプリとして実装したFreeD送信シミュレータ
  • iPhoneから送信したデータを元にカメラを連動させたxR表現

のデモをします。

デモ、ソース解説を中心とした、ARとiPhoneの可能性を開く楽しいセッションです。

1
LT(5分)

5分で理解するSign in with Apple

dspeeds かわB

Apple公式の認証システム「Sign in with Apple」。
Twitter等のサードパーティのログインサービスを提供している場合、Sign in with Appleの対応が必要となります。

そのため、Sign in with Apple対応をされたことがある方も多いのではないかと思います。
Sign in with AppleはOAuth, OpenID Connectが前提知識として必要となりますが、皆さんは理解をした上で自信を持って対応することができましたか?
特にサーバーサイドが担当する部分に関しては、公式ドキュメントだけでは理解が難しい部分もあります。

本セッションでは、前提知識として必要なOAuth, OpenID Connectに触れながら、Sign in with Appleの仕組みについて5分で紹介します。

1
レギュラートーク(20分)

詳解 Sign in with Apple

dspeeds かわB

Apple公式の認証システム「Sign in with Apple」。
Twitter等のサードパーティのログインサービスを提供している場合、Sign in with Appleの対応が必要となります。

そのため、Sign in with Apple対応をされたことがある方も多いのではないかと思います。
Sign in with AppleはOAuth, OpenID Connectが前提知識として必要となりますが、皆さんは理解をした上で自信を持って対応することができましたか?
特にサーバーサイドが担当する部分に関しては、公式ドキュメントだけでは理解が難しい部分もあります。

本セッションでは、前提知識として必要なOAuth, OpenID Connectの解説をしながら、Sign in with Appleの仕組みとアプリ側で必要な実装, サーバー側で必要な実装について紹介します。

2
レギュラートーク(20分)

Unreal EngineとiPhoneを使って始めるリアルタイムAR配信

shmdevelop 服部 智

ここ数年、格好良いAR表現が付いた映像が増え、皆も色々な所で目にしていると思います。
自分でも実装して実現したくないですか?

私は昨年からARを本業としてAR表現があるリアルタイム配信をいくつか実現してきました。
Unreal Engineを使いカメラとトラッキング機材を中心に連携し作成していきます。

その実現に必要な要素を解説しスキルを伝授していきます!

  • ワークフロー解説
  • CG原点を置きCGの空間と現実空間を一致させる方法
  • カメラトラッキング方法
  • Unreal Engineを使った基本的なシーン作成
  • iPhoneを使う手法

デモと手法解説を軸に、AR表現に興味を持った人がさらに興味を持つようなセッションです。

1
採択
2022/09/11 11:05〜
Track D
レギュラートーク(40分)

Unreal EngineとiPhoneを使って始めるリアルタイムAR配信

shmdevelop 服部 智

ここ数年、格好良いAR表現が付いた映像が増え、皆も色々な所で目にしていると思います。
エンジニアなら自分でも実装して実現したくないでしょうか?

私は昨年からARを本業としてAR表現があるリアルタイム配信をいくつか実施してきました。
Unreal Engineを使いカメラとトラッキング機材を中心に連携し作成していきます。

その実現に必要な要素を解説しスキルを伝授していきます!

  • ワークフロー解説
  • CG原点を置きCGの空間と現実空間を一致させる方法
  • カメラトラッキング方法
  • Unreal Engineを使った基本的なシーン作成
  • iPhoneを使う手法
  • PTZカメラを使う手法

デモと手法解説を軸に、AR表現に興味を持った人がさらに興味を持つようなセッションです。

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

9ヶ月TCAでリプレース案件をチーム開発してて、ココが良かった悪かった

yosuke8080 中山 陽介

2021年12月から9ヶ月(2022年8月発表時点で)4人体制でiOS14でComposable Architectureで開発チームの1メンバーとして開発してきました。
Composable Architectureのここが良かった悪かったという経験を主観的に話したいです。
今まではUIKitではRxSwiftでClean Architectureでの開発してきたので、
その経験と比較してどうだったかについても触れます。

これからUIKitからSwiftUI導入に向けて、アーキテクチャの変更、
SwiftUI時代のアーキテクチャの一つの選択肢としての経験談が話せたらと思います。

1
レギュラートーク(20分)

未来のアプリエンジニアを育てよう! ~iOSアプリエンジニア育成プロジェクトのはじめかた~

_kwzr_ ああうえ

「アプリエンジニアが少ない……。」
皆さんも一度は口にしたことありませんか?
新卒・中途問わず、アプリエンジニアの採用に苦戦していませんか?

一口にiOSアプリ開発と言ってもUIKit・SwiftUI・Flutterなど様々な技術選択があり、最近は特に応募者と企業のミスマッチが起こりやすいと感じています。

そこで私たちは「アプリエンジニアが居ないなら育成しよう!」と考えて育成プロジェクトを立ち上げ、運用中です。

このトークでは実際にアプリエンジニア育成プロジェクトを運用している経験をもとに、
・メンターが少なくても始められる、育成プロジェクトのつくりかた
・多すぎる技術スタック!何から教えていくべきか
・育成プロジェクトの成果と課題
・アプリ開発に魅力を感じてもらうために

について話します。このトークを通して、みなさんとアプリエンジニア不足を解消する方法を考えられるとうれしいです。

8
レギュラートーク(20分)

開発生産性と品質を高める開発者とテストの関わり方

kariad_uu kariad

ソフトウェア開発においてテストは品質を高める上で重要な作業の一つです。
ではテストとは誰がやるべき作業でしょうか。QAと呼ばれるメンバーにテストを丸投げしていませんか?

開発者でもテストとの関わりとしてユニットテストを書くことは一般的になってきたかもしません。しかしそれがどんな効果があるか理解して書けているでしょうか。
リーンやアジャイル、DevOpsが広まるにあたってスピードと品質の両立が求められる昨今のソフトウェア開発において、開発者としてもテストのやり方や考え方を変化させる必要があります。

このトークでは、開発生産性と品質を高めながら開発するために、開発者がどのようにテストと関わっていくべきかを話したいと思います。

1
レギュラートーク(20分)

不具合分析による開発プロセスの弱点の可視化

kariad_uu kariad

リリース前のQAで不具合が大量に見つかってしまうと修正作業に忙殺される、リリースが遅延してしまう、時には不十分な品質でリリースしてしまうということが起こりえます。
そうならないためには早期に不具合を発見、または不具合の混入を防ぐことが重要となります。

すでに問題が起こってしまっているチームでよく実施されるのが不具合分析です。不具合は分析することで改善へのヒントに繋がります。
そうした不具合分析の中で、ODC分析という手法があります。
ODC分析では開発プロセスに着目して、その質を可視化することで改善へとつなげていきます。
私達のチームではそんなODC分析に取り組みました。

このトークでは不具合分析の中でもODC分析という分析手法について手法の説明、取り組んだ結果について話します。それにより問題を抱えているチームが不具合分析をやってみようと思うことや、やり方の参考になればと思います。

1
レギュラートーク(20分)

なぜAppleはサイドローディングを認めないのか

_rockname 岩名 勇輝

2020年8月、フォートナイトを運営するEpic Gamesは、App Storeを通してAppleが徴収する30%の手数料に対して異議を唱え、App Store以外でのアプリのインストールを可能にするサイドローディングの提供をAppleへ要求する訴訟を起こしました。

これに対しAppleはセキュリティリスクを著しく高めるとして反論し、翌年2021年9月にEpic Gamesの申し出は棄却されましたが、この訴訟を皮切りに各国で調査が行われ、Appleに対してサイドローディングやサードパーティの決済手段を認めさせようとする動きが活発化しています。

本トークでは、各国のAppleに対して求めている公平性とそれに対するApple側の対応についてまとめながら、Appleがサイドローディングを認めることにより高まるセキュリティリスクについて、Googleにおける対応と比較しながらお話しします。

3
採択
2022/09/10 18:10〜
Track C
レギュラートーク(20分)

MLOps for Core ML

shu223 堤 修一

MLOpsはML Operationsの略で、データ収集・前処理・学習・デプロイ・監視といった機械学習のライフサイクルの継続的な運用を効率化するための考え方や手法を総称してこう呼ばれています。たとえば、蓄積したデータを用いたモデルの再学習を定期的に自動実行し最新データに合うようモデルを改善し続ける仕組み、モデルを本番システムに自動デプロイする仕組み等が含まれます。機械学習をビジネスで本番運用するために不可欠な考え方として昨今ホットなトピックとなっています。

一方で、Core MLモデルの世界ではMLOpsという考え方はまだそれほど広がっていないように思います。多くの場合は一度学習したモデルを利用し続けるか、手運用で再学習等を行っているのではないでしょうか。Core MLにMLOpsの考え方を導入しするとどのように継続的な運用を効率化できるのか、そのパターンを解説します。

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

4次元プログラミング!? xyzに次ぐ4番目の要素『w』の存在意義とは

ta_ka_tsu ta_ka_tsu

我々は平面の座標を表すのに数字のペアx,yを使い、3次元プログラミングでは空間の座標を表現するためにさらに座標の要素を追加してx,y,zの3つ組みを使います。
ではsimd_float4、SCNVector4などに存在する4つめの要素wは何なのでしょう?
まさか4次元空間を扱うためのものなのでしょうか?

これらはただの4つ組のデータに過ぎないため何の情報を格納するかは自由です。
アルファ値を含んだRGBAの色情報を格納してもいいですし、回転軸の方向をx,y,zに格納し、回転角度をwに格納しても良いでしょう。実際SceneKitではそのように使用する場面もあります。

しかしこの4つ目の要素、ちゃんと3次元プログラミングにおいて図形的に重要な意味があるのです。
2次元を扱う場合にも実は同様に3つ組の数字を使うことがあります。
冗長に思える要素を追加することで何が便利になるのかを解説します。

2
LT(5分)

要注意!CLGeocoder で見落としがちな仕様2選!

Daue_Ueda23 おじおじ。

現在、MapKitを使ったアプリを作成しており、大量の住所データにオリジナルピンを置いていく工程があります。

そこで住所の文字データを緯度経度の座標に変換させるCoreLocation 内のCLGeocoderクラス(ジオコーディング)を利用しました。

※緯度経度の座標から住所に変換する逆ジオコーディングも出来ます

そんな便利屋CLGeocoderにも苦手なことはある様で、大きく2つ気をつける点がある事、それに対して自分なりの解決策も含めてご紹介します。

     【具体的には】

     ・ピンが表示されたり、表示されなかったりして毎回挙動が不安定だぞ!?

     ・断固として表示してくれないピンがあるぞ!?

     ・逆ジオコーディングで座標から日本の住所形式に変換する方法 などなど

1
レギュラートーク(20分)

SwiftでWebサイトを作ろう〜Publishのススメ〜

the_uhooi uhooi

ブログを自作するには、Hugo(Go)、Gatsby(JavaScript)、Jekyll(Ruby)などのフレームワークを使うことが多いと思います。

「ブログをSwiftで作りたい…!」

こう思ったことはありませんか?

実はPublishというSwiftでブログを作れるフレームワークがあります。
こちらを使うことで、HTMLをSwift、記事をMarkdownで書くことができます。

私は実際にPublishを使ってブログを運営しており、そこで学んだコツやノウハウを紹介します。
リポジトリをパブリックにすれば、無料でGitHub Pagesへデプロイまでできるようになります。

このトークを聞いて、ぜひSwiftでWebサイトを作ってみましょう!

3
レギュラートーク(20分)

SwiftUI PreferenceKey を利用した自由自在な View 開発

kalupas226 アイカワ

SwiftUIのPreferenceKeyは子Viewが親Viewと通信する際に利用できる便利な仕組みです。
PreferenceKeyをうまく活用すれば、SwiftUIで実現できないと思っていたView が作れるようになることもあります。
しかし、PreferenceKeyに関する情報は少ないため、とっつきにくいと感じる方もいるのではないでしょうか。

このトークでは、以下の内容で発表しPreferenceKeyを今日から使えるようになることを目指します。

  • PreferenceKeyの基本とその仕組み
    • 様々なAPIに触れつつ、どのようにPreferenceKeyがViewに作用するのか探ります
  • 複雑なViewの開発方法から学ぶ PreferenceKey
    • 上から順に詰めていくGrid実装
    • あるViewを任意のViewの座標にアニメーションさせる実装
7
LT(5分)

Named Color完全に理解した

Yazaki Yuto

Asset Catalogを使ってカラーの管理が出来るNamed Colorという機能、便利ですよね。
しかし、カラー名の変更が必要になった際に、Interface Builderで使用しているNamed Colorは参照が更新されません。
XMLをgrepしてカラー名を一括で置換することもできますが、Xcodeでファイルを開いたタイミングで色が適用されdiffが発生することもあります。
このLTでは、このようなNamed Colorの厄介な挙動を1つ1つ紐解いて、Named Colorに変更を加える際のベストプラクティスについて話します。

1
レギュラートーク(20分)

DocC Documentation Archiveをアプリ開発で活用してみよう

aomathwift あおい

DocCは、Swiftプロジェクト向けのソースコードベースのドキュメント生成ツールです。
このDocCがXcode 13.3以降、アプリ開発での活用を想定して進化しました。しかし、アプリ開発におけるドキュメントは既にMarkdown等で用意しているプロジェクトも多く、DocCをわざわざ導入しようと思わないかもしれません。

そんなプロジェクトでDocCを活用するのに便利なのが、ドキュメント作成時の生成物であるDocumentation Archiveの利用です。これは、ドキュメントを生成するために必要なclass名や依存関係等の情報が構造化して詰め込まれたものです。これを用いて、プロジェクトの依存関係を自動で見える化し、リファクタリングや新メンバーへの状況共有に役立てることができます。
このトークでは、その具体的な方法とDocumentation Archiveの構成等についてお話します。

3
採択
2022/09/12 16:05〜
Track A
LT(5分)

大学で出席管理アプリ・掲示板閲覧アプリを開発・運用している学生の話

kntk47502405 kntkymt

現在、愛知県の大学で大学側と協力し、出席管理アプリ・掲示板閲覧アプリを開発・運用している学生です!
出席管理アプリは教室内に設置されたBLEビーコンを用いて位置推定を行い、授業に出席登録できるアプリであり、
掲示板閲覧アプリは学生掲示板をスマートフォンから閲覧できるアプリです。
どちらもAppStoreにて公開・運用しております。

このLTではこれらのアプリで用いている技術や運用を紹介しますので
「エンターテイメントとほんの少しの知見共有」として聞いていただければ幸いです。

また、大学に出席管理アプリ・掲示板閲覧アプリがない学生の皆さんへ
「皆さんも大学のアプリを開発し、学生生活をよくしよう!!!!」というメッセージとなればいいなと思っています。

対象とする人:

  • 学生でiOS開発をしている人
  • 学生のアプリ開発の話を温かい目で見てくださる方