13:00-13:20 Greater Tokyo Innovation Ecosystem (GTIE)の紹介 理工学術院 教授 朝日透
13:20-13:30 Urth CEO 田中大貴
13:30-13:40 amulapo CEO 田中克明
13:40-13:50 レイワセダ CEO 畠山祥
13:50-14:05 休憩
14:05-14:15 Ubiq CEO 日野真幸
14:15-14:25 StatHack CEO 松葉亮人
14:25-14:35 EAGLYS CSO 丸山祐丞
みなさんが初めて参加したiOSDCはいつでしょうか。
私が初めて参加したiOSDCは2018年のものでした。
初参加の2018年からiOS・Swift界隈のトレンドや新しい技術は目まぐるしく変化し、私が初めて参加した年からは想像もできないような進化を遂げています。
ところで、iOSDCにはYouTube公式チャンネルがあり、iOSDC2016からのセッション動画をなんと無料で視聴することができます。
このトークではiOSDCチャンネルにあげられている458本の動画を踏まえ、これまで6年分のiOSDCを5分に凝縮し、オフライン開催が戻ってきた今だからこそ、神速で振り返りを行っていきたいと思っています。
このトークを聞くことで、iOS・Swift界隈のトレンドを振り返るとともに、6年分のiOSDCの思い出を一気に蘇らせることを約束します。
初代Apple Watchが発売されてから早7年。Apple Watchは進化を続け、圧倒的な世界最多シェアを誇るスマートウォッチとなりました。
そんなApple Watchを自身のアプリ開発にも活用したいところですが、具体的にどう活かせば良いかは悩みどころですよね…。
ということで今回は、
これらの観点から整理し、ウォッチを活用したユニークなアプリの開発につながるヒントを共有できれば幸いです。
SF Symbols 3.3の時点では、3,300を超えるシンボルを備えています。この多種多様なシンボルのおかげで開発者は0からアイコンを作る必要は無く、開発に専念することが出来ます。
でも、どうでしょう?
3,300を超えるシンボルがあるのに、何個のシンボルを使ったことがありますか?実際、日の目を見れていないシンボルたちが沢山あります。
「これ一体いつ使うんだ?」「こんなシンボルまであるんだ!」「これは使えそう!」
個性豊かなシンボルたちが使って欲しそうにこちらを見ています。
このLTでは、そんなシンボルたちを活用したSF Symbolsアートの数々を紹介します。少しでもSF Symbolsのことが好きになっていただければ嬉しいです。
(参考: https://twitter.com/littleossa/status/1516540893142347778)
ファミコン、スーファミ、ゲームボーイ、64、GC、Wii、PS1、PS2のレトロゲームをiPhone/Macで遊ぶ話です。
Windowsと比べて、Macの情報がなく、令和では手に入りにくい物だったりで、無いものは作りました。
再び、昔懐かしいゲームを楽しみましょう!
当日のLT内容(予定)です。
・違法ダウンロードは絶対ダメ
・ 無いものは作ったゲームソフトの吸い出し機
・ ゲームコントローラーを認識させる
・ レトロゲームをプレイ!
プログラミング可能なロボットキットである「LEGO BOOST」の発売以降、Bluetoothによるリモートプログラミングに対応しているレゴのセットがたくさん発売されています。その数はなんと20以上!
その中にはプログラミングできることをアピールしていないセットも多くあります。プログラミング=マインドストームではありません。あなたがお持ちのセットも実はプログラミング対応しているかもしれませんよ?
本トークでは、レゴ社が公開している「LEGO Wireless Protocol」を中心に、どんな種類のレゴブロックがどんな感じでプログラミングできるかについてお話しします。あなたのレゴ作品をiPhoneやApple Watchとつなげて、思う通りに動かしましょう!
皆さんは ISUCON をご存知でしょうか?ISUCON は 課題として提供されるWebサービスを「いい感じにスピードアップ」するコンテストです。
さて、ここに3人のiOSエンジニアが勝負を挑みました。この3人、持ち前の iOS 開発で培った Swift 力で、シビアな制限時間の中、課題をSwift にフルスクラッチで書き換えようとします。果たして優勝を勝ち取り、iOS開発、そしてSwift言語の威厳を他の参加者に知らしめることはできたのでしょうか。
このトークを通じて、iOS、macOS アプリケーションの開発者の皆さんがどのようにしてサーバーサイドSwiftに取り組めるか、そして本格的なアプリを実装できるかを学べるやもしれません。 iOS クライアントだけでなく、サービス全てをSwiftにしたい方、必見です!
Review Guideline 5.1.1(v) - Account deletion requirement がついに6月30日に施行されました。
これからアカウント作成が出来るアプリは、アカウント削除機能を提供する必要があります。
アカウント削除機能はあまり優先して開発されない(しづらい)機能の一部であり、マネーフォワードクラウド確定申告でも提供出来ていなかった機能でした。
このLTでは、急遽宣言されたAccount deletion requirementに対して、共通ID基盤の提供・数多くのサービス展開による弊害、1ユーザーが複数のグループに属せるというサービスとしての難しさ、確定申告シーズンにぶち当たった必須化スケジュールを乗り越えて、マネーフォワードクラウド確定申告がアカウント削除機能を提供したときの苦悩の道程を紹介します。
COVID-19のパンデミックに対する解決策としてAppleとGoogleが設計したExposure Notification Privacy-preserving Analytics (ENPA) Architectureについてトークします。
ENPAは、最新のプライバシー保護技術および暗号化技術を活用して、個人データを一切開示せずにデータを収集することを可能にするものです。
強力なプライバシー原則を維持しながら、収集された測定基準の信頼をどのように保護したのか、どのような仕組みを利用して情報を収集したのかをExposure Notification Privacy-preserving Analytics White Paperから解説いたします。
Appleプラットフォームのアップデートは、一部を除き、最新OSのみに提供されます。
せっかく待望の新機能が登場しても、サポートOSポリシーによっては、使えるのは数年後...
ならば、自分で作って、来たる日に備えましょう。
実現する上での難易度は高いものかもしれませんが、多くは既存の仕組みを組み合わせることで、ソフトウェアとして解決できるはずです。
自分でバックポート実装を作ってみれば、新API、その周辺の仕組みについて熟知することができます。
このトークでは、2021年に登場したSwiftUI.AsyncImageを、すべてのSwiftUI環境にバックポートした経験を題材に、知見を話します。
UIStackViewとても可愛いですよね!SwiftUI時代になれば使わなくなると思いますが、現状はまだまだUIStackViewを活用する機会は多くあると思います。
このLTでは、私が愛してやまないUIStackViewについて、こんなケースではUIStackViewでどう解決する?というのを逆引きレシピ形式で紹介できればと思います。
iPhoneがスマートフォンと称されてはや数年。
巨大なタッチスクリーンを備えたiPhoneはその操作性でたくさんの人に受け入れられてきました。
でも、ちょっと待ってください。タッチしないと動かないって、いまいちスマートじゃなくないですか?
そんなわけで、iPhoneを触らずともアプリをなんとか動かすことができないか、様々な技術を駆使してアプリを動かせないかを検討してみます。
例えバッキバキに割れたiPhoneでも、見事動かしてみせましょう。
AirインボイスのiOS開発チームは、AirインボイスiOSアプリをSwiftUIで開発しています。
WWDC2022でiOS16が発表され、iOS14以上をサポートとすることができるアプリが増えたことで、本格的にSwiftUIの導入を検討している方も多いと思います。しかし、最新のOSのみをサポートするのではなく、iOS14系や15系もサポートするとなると、そこには数多くのハマりどころが存在します。また、要件によってはSwiftUIでの実現に工夫が必要なポイントも数多く存在します。
本トークでは、iOS14以上を対象としたAirインボイスiOSアプリにおいてSwiftUIを用いてさまざまな要件を実現するにあたり、はまったポイントやそれらをどのように回避したかを共有します。
タウンワークiOSアプリは、10年以上開発が続いています。度重なる機能追加や仕様変更によって、プロダクトは徐々に複雑に、レガシーになっていきました。そのため、Clean Architectureの導入によるレガシーからの脱却を図りました。
Clean Architectureに則りドメイン層を分離してみましたが、いくつか不明な点があり、技術顧問の和田卓人氏に相談したところ、そもそも我々のモデリングにたくさんの改善点があることがわかりました。
そこから、チームの中で既存コードからドメインモデルを発掘し、再設計する旅が始まりました。
このセッションでは、ドメイン層が何をするかよくわからない、設計に困っている人に向けて、アプリにとってのドメインとは何か、どのように見つけ出し設計すればよいか、そして評価の方法について私たちの経験を交えてお話します。
大規模なイベントアプリを支える技術のお話です。
新潟県長岡市で開催される長岡花火の公式アプリを開発して、運用しています。コロナ禍では開催出来ませんでしたが、今年は久しぶりに開催される見込みです(6月現在)
毎年開催期間合計で100万程度が来場する長岡花火に対して、どのような技術でアプリを運用して、長岡花火を支えているのか、お話できればと思います。
意外なあれが役に立っています。
普通のアプリとは異なり、イベントアプリは固有の課題があるため、イベントアプリを運用している方、今後イベントアプリを開発する方などの参考になればと思います。
Xcode が遅い。とにかく遅い!! あああ!!!
皆さんはそんな経験ありませんか...?
iOS アプリの開発にはなくてなはならないツール、それは Xcode です。
しかし、Xcode がとにかく遅いのです。
アプリが成長し、ワークペースが巨大になり、多くのターゲットができるにつれてどんどん遅くなり、最後にはハングして終了すらできなくなってしまいます。
このセッションではそんな遅い Xcode を使えるように頑張った経験をもとに、Xcode のビルドの仕組み、そして Bazel などほかのビルドツールについても検証したいと思います。
対象とする方:
前提とする知識:
WWDC21の発表にあったように、iOS15でURLSessionのHTTP/3対応が実装されました。
あれからもうすぐ1年経ちますが、2022年6月7日現在HTTP/3対応はデベロッパオプションとして提供されている段階で、大半のiOSデバイスにおいて有効化されてはいません。
しかし、通信のパフォーマンスとセキュリティがより重要になってきていることを考えると、全てのデバイスでHTTP/3のサポートが有効になる日はそう遠くないかと思います。
このトークでは、「そもそもHTTP/3って何?QUICとどう違うの?」「どういう状況でメリットがあるの?」などの疑問にお答えしつつ、運用しているサービスの大半のWebAPIを事前にHTTP/3に対応させた事例から、HTTP/3対応の際に考慮すべき事項や、対応リリース後のモニタリングの想定など、来るべき日に備えた準備の知見をお話しします。
株式会社エクサウィザーズが提供する介護記録アプリ「CareWiz ハナスト」は、
フォアグラウンド状態において有効な独自のWakeword検知機能と音声によるアプリ操作機能を備えています。
Wakeword検知を行うためには常時音声を取得する必要性があり、独特な実装を行い問題に対処する必要があります。
本セッションでは、Wakeword検知機能の実装を中心に下記の内容をお伝えする予定です。
Wakeword検知
・Wakeword検知の方法
・アプリでの実装
・SoundAnalysisを用いた精度向上
常時録音に伴う問題と対応
・イヤホンの脱着などの音声インプットの変更
・電話などによる中断
音声によるアプリ操作
・音声とアプリの操作の連携
・Wakewordから自由発話認識への連携
iOS端末を業務利用する場面では、ときおり「開発するアプリ以外を使わせたくない」「ホーム画面に遷移させたくない」という要望に出くわすことがあります。例えば、キオスク端末としてiPadを使うような場合です。
本トークでは、そうした要望を満たすiOSの仕組みを3つ紹介します。
それぞれの前提条件やメリット・デメリット、設定方法や使いどころを比較しながら解説します。3つ目のASAMは、アプリ内から Single App Mode のON/OFFを制御できる興味深いモードで、その実装方法についても紹介します。
アプリの新機能開発では「リリースが施策開始時期と合わない」「Mainブランチと差分が広がり競合が発生する」「不具合等で元に戻すには差分を丸ごとRevertする」などの点が開発・デリバリー速度低下の要因となります。
この状況を改善するためRettyではFeature Flagを導入しました。これはコードに分岐を設け機能表出を切り替える手法で、必要差分を予め隠した状態でリリースし、フラグ反転によって瞬時に表出することができます。
Feature Flagによって競合が起きにくくなる他、静的解析で分岐の特定が容易となり、さらに機能停止も手軽に行えます。
このトークでは、RettyでのFeature Flagの実装・運用方法、導入に役に立つライブラリをご紹介します。明日から高速でストレスフリーなデリバリーを実現しましょう!