KMMやFlutterなどマルチプラットフォームな開発環境が脚光を浴びています。でもちょっと待ってください。あの人気の言語RustもiOS、Androidの両方で動くのです。Rustを使ってビジネスロジックを書いてみませんか。
このトークでは
など、ビジネスロジックを書くためにはiOSでRustで何ができればいいのか、検証した結果をお話しします。
我が家にはたくさんのIoTガジェットがあって、カーテンや玄関の鍵を開け閉めしたり、大活躍です。
しかしエンジニアという人種は、既存の機能では満足できず、カスタムして、色々作り込みたくなるものです!
そこで日頃お世話になっているSwift、我が家に余ってたラズパイ、そしてiPhoneの力を借りて、より便利で安全なスマートホームを目指した取り組みを共有します。
具体的には…
●ラズパイでのSwiftやServerSideSwiftフレームワークのセットアップ
●iPhoneのセンサー情報をServerSideSwiftのAPI経由でラズパイのDBに書き込む方法
●ラズパイと既存のIoTガジェットの連携方法
●SwiftでラズパイのGPIO経由でセンサーやLEDを操作する方法
などをデモを交えて紹介する予定です。
ぜひ皆さんもSwiftを使った自宅のスマートホーム化、電子工作を楽しみましょう!
AR表現を作る際にカメラの動きを合成用PCに送信する必要があり、その標準となっているのがFreeDというプロトコルです。
このプロトコルをSwiftで実装しiPhoneから情報送信できるようにしました。
プロトコルの概要を解説し、実装内容についてコードを見せながら説明します。
のデモをします。
デモ、ソース解説を中心とした、ARとiPhoneの可能性を開く楽しいセッションです。
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分で紹介します。
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の仕組みとアプリ側で必要な実装, サーバー側で必要な実装について紹介します。
ここ数年、格好良いAR表現が付いた映像が増え、皆も色々な所で目にしていると思います。
自分でも実装して実現したくないですか?
私は昨年からARを本業としてAR表現があるリアルタイム配信をいくつか実現してきました。
Unreal Engineを使いカメラとトラッキング機材を中心に連携し作成していきます。
その実現に必要な要素を解説しスキルを伝授していきます!
デモと手法解説を軸に、AR表現に興味を持った人がさらに興味を持つようなセッションです。
ここ数年、格好良いAR表現が付いた映像が増え、皆も色々な所で目にしていると思います。
エンジニアなら自分でも実装して実現したくないでしょうか?
私は昨年からARを本業としてAR表現があるリアルタイム配信をいくつか実施してきました。
Unreal Engineを使いカメラとトラッキング機材を中心に連携し作成していきます。
その実現に必要な要素を解説しスキルを伝授していきます!
デモと手法解説を軸に、AR表現に興味を持った人がさらに興味を持つようなセッションです。
2021年12月から9ヶ月(2022年8月発表時点で)4人体制でiOS14でComposable Architectureで開発チームの1メンバーとして開発してきました。
Composable Architectureのここが良かった悪かったという経験を主観的に話したいです。
今まではUIKitではRxSwiftでClean Architectureでの開発してきたので、
その経験と比較してどうだったかについても触れます。
これからUIKitからSwiftUI導入に向けて、アーキテクチャの変更、
SwiftUI時代のアーキテクチャの一つの選択肢としての経験談が話せたらと思います。
「アプリエンジニアが少ない……。」
皆さんも一度は口にしたことありませんか?
新卒・中途問わず、アプリエンジニアの採用に苦戦していませんか?
一口にiOSアプリ開発と言ってもUIKit・SwiftUI・Flutterなど様々な技術選択があり、最近は特に応募者と企業のミスマッチが起こりやすいと感じています。
そこで私たちは「アプリエンジニアが居ないなら育成しよう!」と考えて育成プロジェクトを立ち上げ、運用中です。
このトークでは実際にアプリエンジニア育成プロジェクトを運用している経験をもとに、
・メンターが少なくても始められる、育成プロジェクトのつくりかた
・多すぎる技術スタック!何から教えていくべきか
・育成プロジェクトの成果と課題
・アプリ開発に魅力を感じてもらうために
について話します。このトークを通して、みなさんとアプリエンジニア不足を解消する方法を考えられるとうれしいです。
ソフトウェア開発においてテストは品質を高める上で重要な作業の一つです。
ではテストとは誰がやるべき作業でしょうか。QAと呼ばれるメンバーにテストを丸投げしていませんか?
開発者でもテストとの関わりとしてユニットテストを書くことは一般的になってきたかもしません。しかしそれがどんな効果があるか理解して書けているでしょうか。
リーンやアジャイル、DevOpsが広まるにあたってスピードと品質の両立が求められる昨今のソフトウェア開発において、開発者としてもテストのやり方や考え方を変化させる必要があります。
このトークでは、開発生産性と品質を高めながら開発するために、開発者がどのようにテストと関わっていくべきかを話したいと思います。
リリース前のQAで不具合が大量に見つかってしまうと修正作業に忙殺される、リリースが遅延してしまう、時には不十分な品質でリリースしてしまうということが起こりえます。
そうならないためには早期に不具合を発見、または不具合の混入を防ぐことが重要となります。
すでに問題が起こってしまっているチームでよく実施されるのが不具合分析です。不具合は分析することで改善へのヒントに繋がります。
そうした不具合分析の中で、ODC分析という手法があります。
ODC分析では開発プロセスに着目して、その質を可視化することで改善へとつなげていきます。
私達のチームではそんなODC分析に取り組みました。
このトークでは不具合分析の中でもODC分析という分析手法について手法の説明、取り組んだ結果について話します。それにより問題を抱えているチームが不具合分析をやってみようと思うことや、やり方の参考になればと思います。
2020年8月、フォートナイトを運営するEpic Gamesは、App Storeを通してAppleが徴収する30%の手数料に対して異議を唱え、App Store以外でのアプリのインストールを可能にするサイドローディングの提供をAppleへ要求する訴訟を起こしました。
これに対しAppleはセキュリティリスクを著しく高めるとして反論し、翌年2021年9月にEpic Gamesの申し出は棄却されましたが、この訴訟を皮切りに各国で調査が行われ、Appleに対してサイドローディングやサードパーティの決済手段を認めさせようとする動きが活発化しています。
本トークでは、各国のAppleに対して求めている公平性とそれに対するApple側の対応についてまとめながら、Appleがサイドローディングを認めることにより高まるセキュリティリスクについて、Googleにおける対応と比較しながらお話しします。
MLOpsはML Operationsの略で、データ収集・前処理・学習・デプロイ・監視といった機械学習のライフサイクルの継続的な運用を効率化するための考え方や手法を総称してこう呼ばれています。たとえば、蓄積したデータを用いたモデルの再学習を定期的に自動実行し最新データに合うようモデルを改善し続ける仕組み、モデルを本番システムに自動デプロイする仕組み等が含まれます。機械学習をビジネスで本番運用するために不可欠な考え方として昨今ホットなトピックとなっています。
一方で、Core MLモデルの世界ではMLOpsという考え方はまだそれほど広がっていないように思います。多くの場合は一度学習したモデルを利用し続けるか、手運用で再学習等を行っているのではないでしょうか。Core MLにMLOpsの考え方を導入しするとどのように継続的な運用を効率化できるのか、そのパターンを解説します。
我々は平面の座標を表すのに数字のペアx,yを使い、3次元プログラミングでは空間の座標を表現するためにさらに座標の要素を追加してx,y,zの3つ組みを使います。
ではsimd_float4、SCNVector4などに存在する4つめの要素wは何なのでしょう?
まさか4次元空間を扱うためのものなのでしょうか?
これらはただの4つ組のデータに過ぎないため何の情報を格納するかは自由です。
アルファ値を含んだRGBAの色情報を格納してもいいですし、回転軸の方向をx,y,zに格納し、回転角度をwに格納しても良いでしょう。実際SceneKitではそのように使用する場面もあります。
しかしこの4つ目の要素、ちゃんと3次元プログラミングにおいて図形的に重要な意味があるのです。
2次元を扱う場合にも実は同様に3つ組の数字を使うことがあります。
冗長に思える要素を追加することで何が便利になるのかを解説します。
現在、MapKitを使ったアプリを作成しており、大量の住所データにオリジナルピンを置いていく工程があります。
そこで住所の文字データを緯度経度の座標に変換させるCoreLocation 内のCLGeocoderクラス(ジオコーディング)を利用しました。
※緯度経度の座標から住所に変換する逆ジオコーディングも出来ます
そんな便利屋CLGeocoderにも苦手なことはある様で、大きく2つ気をつける点がある事、それに対して自分なりの解決策も含めてご紹介します。
【具体的には】
・ピンが表示されたり、表示されなかったりして毎回挙動が不安定だぞ!?
・断固として表示してくれないピンがあるぞ!?
・逆ジオコーディングで座標から日本の住所形式に変換する方法 などなど
ブログを自作するには、Hugo(Go)、Gatsby(JavaScript)、Jekyll(Ruby)などのフレームワークを使うことが多いと思います。
「ブログをSwiftで作りたい…!」
こう思ったことはありませんか?
実はPublishというSwiftでブログを作れるフレームワークがあります。
こちらを使うことで、HTMLをSwift、記事をMarkdownで書くことができます。
私は実際にPublishを使ってブログを運営しており、そこで学んだコツやノウハウを紹介します。
リポジトリをパブリックにすれば、無料でGitHub Pagesへデプロイまでできるようになります。
このトークを聞いて、ぜひSwiftでWebサイトを作ってみましょう!
SwiftUIのPreferenceKeyは子Viewが親Viewと通信する際に利用できる便利な仕組みです。
PreferenceKeyをうまく活用すれば、SwiftUIで実現できないと思っていたView が作れるようになることもあります。
しかし、PreferenceKeyに関する情報は少ないため、とっつきにくいと感じる方もいるのではないでしょうか。
このトークでは、以下の内容で発表しPreferenceKeyを今日から使えるようになることを目指します。
Asset Catalogを使ってカラーの管理が出来るNamed Colorという機能、便利ですよね。
しかし、カラー名の変更が必要になった際に、Interface Builderで使用しているNamed Colorは参照が更新されません。
XMLをgrepしてカラー名を一括で置換することもできますが、Xcodeでファイルを開いたタイミングで色が適用されdiffが発生することもあります。
このLTでは、このようなNamed Colorの厄介な挙動を1つ1つ紐解いて、Named Colorに変更を加える際のベストプラクティスについて話します。
DocCは、Swiftプロジェクト向けのソースコードベースのドキュメント生成ツールです。
このDocCがXcode 13.3以降、アプリ開発での活用を想定して進化しました。しかし、アプリ開発におけるドキュメントは既にMarkdown等で用意しているプロジェクトも多く、DocCをわざわざ導入しようと思わないかもしれません。
そんなプロジェクトでDocCを活用するのに便利なのが、ドキュメント作成時の生成物であるDocumentation Archiveの利用です。これは、ドキュメントを生成するために必要なclass名や依存関係等の情報が構造化して詰め込まれたものです。これを用いて、プロジェクトの依存関係を自動で見える化し、リファクタリングや新メンバーへの状況共有に役立てることができます。
このトークでは、その具体的な方法とDocumentation Archiveの構成等についてお話します。
現在、愛知県の大学で大学側と協力し、出席管理アプリ・掲示板閲覧アプリを開発・運用している学生です!
出席管理アプリは教室内に設置されたBLEビーコンを用いて位置推定を行い、授業に出席登録できるアプリであり、
掲示板閲覧アプリは学生掲示板をスマートフォンから閲覧できるアプリです。
どちらもAppStoreにて公開・運用しております。
このLTではこれらのアプリで用いている技術や運用を紹介しますので
「エンターテイメントとほんの少しの知見共有」として聞いていただければ幸いです。
また、大学に出席管理アプリ・掲示板閲覧アプリがない学生の皆さんへ
「皆さんも大学のアプリを開発し、学生生活をよくしよう!!!!」というメッセージとなればいいなと思っています。
対象とする人: