このプロジェクトについて
このリポジトリには、Bitwardenの公式Androidアプリケーションが含まれており、パスワードマネージャーと認証機能を1つのモバイルクライアントに統合しています。このプロジェクトは、最小Android 10(SDK 29)、ターゲットAndroid 17(SDK 37)を対象とし、スマートフォンとタブレットの両フォームファクターを縦向き・横向きでサポートしています。
コードベースはKotlinで記述され、宣言的UIフレームワークとしてJetpack Composeを使用しています。また、Activity、Appcompat、Autofill、Biometrics、Browser、Camera、Core、Credentials、Lifecycle、Navigation、Room、Security、WorkManagerなど、幅広いAndroidXライブラリを併用しています。依存性注入はDagger Hilt、画像読み込みはGlide、ネットワーキングはRetrofit 2とOkHttp 3で処理されます。Kotlinコルーチン、不変コレクション、シリアライゼーションライブラリが非同期・リアクティブコードをサポートし、Timberがロギング、ZXingが認証コードのバーコードスキャンを担当します。
アプリは2つのビルドバリアントで提供されます。標準ビルドには、プッシュ通知用のFirebase Cloud Messaging、クラッシュレポート用のFirebase Crashlytics、Google Play Reviews統合が含まれます。F-DroidビルドはこれらのGoogle依存コンポーネントを省略し、プロプライエタリなサービスを含まないアプリを維持します。
開発にはJDK 21とAndroid Studioが必要で、プロジェクト固有のコードスタイルスキーム(bitwarden-style.xml)をコントリビューターがIDEにインポートします。GitHub Packagesから依存関係を取得するには、read:packagesスコープのGitHub Personal Access Tokenが必要です。また、localSdkフラグを使用すると、SDK機能に取り組むコントリビューター向けに、SDKをローカルのMaven artifactoryにリダイレクトできます。コード品質はdetekt静的解析で強制され、各コミット前にdetektを実行するオプションのpre-commitフックも用意されています。テストはJUnit 5、MockK、Robolectric、コルーチンFlowテスト用のTurbineに依存しています。CI/CDでは、アプリのビルド、署名、配布にFastlane、KotlinコードカバレッジにKoverを使用しています。
READMEには明確なコントリビューションのワークフローも記載されています。フォーマット変更を論理的な変更から分離し、プルリクエストを送信する前にコードをフォーマットし、プロジェクトのスタイルとベストプラクティスドキュメントに従うことです。全体として、広く使用されているパスワード管理および二要素認証サービスのための、成熟した構造化されたオープンソースAndroidクライアントです。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.