2 ポイント 投稿者 GN⁺ 2023-08-28 | 1件のコメント | WhatsAppで共有
  • この記事は、Googleが要件を更新した際にレガシーAndroidアプリの保守で直面する課題についてのケーススタディです。
  • 著者のチームは、長年安定していたAndroidアプリを担当しており、活発な開発は行われていませんでした。
  • Googleは、すべてのアプリがAPIレベル31以上を対象とし、アプリの対象APIレベルより高いAndroid OSを実行するデバイスのユーザーが引き続き利用できるようにすることを求めるメールを送ってきました。
  • 著者はtargetSdkVersionをAPIレベル30から33に更新し、分析関連の互換性のない依存関係を削除しました。
  • 更新したアプリはGoogle Play Storeへのアップロードに成功し、当初は想定どおりに動作しているように見えました。
  • しかし顧客から、最新バージョンのアプリケーションでアカウントにログインできないという報告がありました。アプリは物理的なAndroidデバイスでログイン後にクラッシュしました。
  • この問題は当時の最新Androidバージョンである13に特有のもので、著者はこのバージョンでアプリをテストしていなかったことに気づきました。
  • 著者はGoogle Play Storeで以前の正常動作バージョンにロールバックしようとしましたが、Googleの制限により不可能でした。
  • その後、著者はtargetSdkVersionをAPIレベル30に戻してPlay Storeで新しいリリースを作成しようとしましたが、これもGoogleの必須APIレベル33要件のため不可能でした。
  • 唯一の解決策は、最新Androidバージョンでのクラッシュを修正して新しいリリースを作成することでした。
  • 著者は既知のクラッシュ問題を修正して新バージョンをリリースしましたが、アプリは長期間「審査中」の状態のままでした。
  • 著者は、GoogleとAppleによるモバイルアプリ開発への統制を批判し、これが開発者による本番障害の解決を妨げる可能性があると主張しています。
  • 著者は、製品やサービス開発の主導権を取り戻すために、オープンなWeb標準へ回帰することを提案しています。
  • 著者の経験は、アプリ配布を第三者プラットフォームに依存することの潜在的な落とし穴と、あらゆる想定ユーザー環境で徹底的にテストする重要性を浮き彫りにしています。

1件のコメント

 
GN⁺ 2023-08-28
Hacker Newsの意見
  • 開発者がGoogleのAndroid開発ポリシーによって直面している課題
  • 開発者は新しい対象Android APIをサポートするためにアプリを更新しなければならず、これは複数のアプリを維持している人にとって特に大きな作業負担になり得る
  • 更新によって既存のプラグインがしばしば動かなくなり、広範なテストが必要となるため、不便さとフラストレーションを引き起こす
  • 開発者は、Googleがこうした問題を緩和するために、Progressive Web Apps (PWAs) をPlay Storeへ直接提出できるよう許可すべきだと提案している
  • 一部の開発者は、著者が最新のAndroidバージョンでアプリをテストし、問題のある更新を全ユーザー基盤に配布するのを避けるため、段階的ロールアウトを使うべきだったと主張している
  • 他の人々は、プラットフォームの規模と複雑さを考えればミスは避けられず、Googleはロールアウトの停止や以前のバージョンへの差し戻しをより簡単にすべきだと主張している
  • GoogleとAppleがWeb標準を支配しており、開発者がオープンなWeb標準へ戻る能力に影響を与えている問題への懸念がある
  • 一部のコメントは、後方互換性の維持とセキュリティおよび信頼性の確保との間にあるトレードオフを強調している
  • 批評家は、著者がこうした問題を予測して管理できなかったことは、プロフェッショナルなAndroid開発経験の不足を反映していると主張している
  • 開発者がこうした問題を避けるため、可能な限り早く常にアプリを更新すべきだという提案がある