![見出し画像](https://assets.st-note.com/production/uploads/images/88905828/rectangle_large_type_2_e77ef165aff28b69dab812bd6a13845d.png?width=1200)
社内での開発技術共有の様子を紹介します
こんにちは。今回は社内で開発技術を共有するために毎週開催している「開発共有ミーティング」について紹介します。
開発共有ミーティングとは
開発共有ミーティングとは、開発者を中心に毎週開催している集まりで、特に参加の制限や強制もなく、わいわいやっています。扱うテーマは週替りで、アプリ、サーバ、ウェブ、その他と4つのテーマを回しています。時間は1時間から1時間半程度です。
![](https://assets.st-note.com/img/1665651456406-oMHgWXwajV.jpg?width=1200)
毎月第1週はアプリがテーマの回で、iOS や Android のネイティブの話や Flutter の話などが出てきます。10月は「Dynamic な Island の解説」「Android のフォアグラウンドサービスについて」「Android のウィジェットについて」の3つの発表がありました。
Dynamic な Island の解説
Apple Event でひときわ目を引いた、iPhone 14 Pro 系だけに搭載されている Dynamic Island についての解説がありました。まずは利用者目線での解説です。ざっくり言うとこのようなものです。
分かりやすいところだと、充電中の表示が出る。
2つのアプリを同時に使うと、左右に分かれて表示される。
長押しすると拡大され、詳細を見ることができる。
OS標準のアプリではこのように使われているとのことでした。
音楽系アプリの再生情報
長押しで曲の詳細情報
地図アプリのナビゲーション
左右+メートル表示程度だが十分
録音Appの録音中表示
録音秒数+バーが動いてる程度だが、録音中であることがわかりやすい
カウントダウンタイマー
地味に一番便利。必要な情報の全てがある
ストップウォッチはなかった
まだ iPhone 14 Pro 系を私物で持っている人は少ないですが、会社で購入してあるので誰でも気軽に試すことができます。
![](https://assets.st-note.com/img/1665645753445-aHnYyQCwBn.png?width=1200)
お次は開発面での解説です。仕組みとしては iOS 16 から追加される ActivitiyKit のオプションという形になっているそうです。ActivityKit のリファレンスを見ると対応環境が iOS 16.1+ Beta となっているので、安定して使えるようになるまでにはもう少し時間がかかるかもしれません。UI は SwiftUI で書くそうです。小さい機能に見えますが、地味に7つもレイアウトを用意する必要があって大変とのことでした。
Android のフォアグラウンドサービスについて
バックグラウンドでも動作する Android アプリの実装には欠かせない知識の フォアグラウンドサービスについての解説がありました。フォアグラウンドという名前に反してバックグラウンド時の動作に関わる話題で、初見だと混乱するところなので、これを機に知っておこうという話です。
フォアグラウンドサービスは、バックグラウンド実行中であることをステータスバーへ通知し、ユーザに可視化できる仕組みです。バックグラウンドでのメディアの再生やアクティブなナビゲーションなどの特定のケースでは、フォアグラウンドサービスを直接使用することを推奨されています。
Android 8 で登場して以来、たびたび更新されていることが紹介されました。
Android 8: バックグラウンド実行制限の導入。Context.startForegroundService が追加されました。
Android 11: Android 11 のフォアグラウンドサービスで、カメラやマイクへのアクセスが厳しく(ユーザーにやさしく)なりました。
Android 12: フォアグラウンド サービス通知の UX 遅延やフォアグラウンド サービスの起動に関する制限が導入されました。
Android 13: フォアグラウンド サービス(FGS)タスク マネージャーによって、サービスを停止させることができるようになりました。
バッテリーの持ちを良くしたり、プライバシーに配慮したり、使い勝手を良くしたり、色々と改善されていることが分かりました。
Android のウィジェットについて
なぜこのタイミングでウィジェットについて解説したのかというと、先月発売された某ゲームのウィジェットが良くできていたからだそうです。
Android のウィジェットの歴史は古く、Android 3 まで遡るのですが、こちらも色々と改善が重ねられてきたそうです。
Android 4: ウィジェットのサイズ変更が行えるようになった。
Android 5: ロック画面のウィジェット提供が制限された。
Android 8: アプリウィジェットをランチャーに固定できるようになった。
Android 12: 端末のカラーテーマが適用できるようになったり、ウィジェットの説明文を提供できるようになった。
この説明の後、簡単なウィジェットの作り方の紹介がありました。ちなみに Flutter でレンダリングしたものをウィジェット上に表示することはできないですし、Flutter とのデータのやり取りも複雑だそうです。
昔からあるものとはいえ、モダンな書き方をしたい。ということで、Jetpack Compose で書けますか?という質問が出たのですが、Jetpack の Glance というものがアルファ版で出ているとのことでした。
最後に他の回も紹介
今回紹介したアプリ以外にも、サーバ、ウェブ、その他の回があり、様々な話題を取り上げています。次回のサーバ回では、最近話題の AI 技術のハンズオンが予定されていて、今から楽しみです。
この記事が気に入ったらサポートをしてみませんか?