web-dev-qa-db-ja.com

AndroidアプリにQRコードスキャナーを統合するか、インテントを介して呼び出しますか?

現在のプロジェクトでは、アプリにQRコードスキャンを統合する必要があります(これはAndroidとiOSの両方で利用可能になります)。QRコードには、アプリを残りの使用のために設定する情報が含まれていますAndroid私は ZXingプロジェクト)を調べています の場合:2つの可能性があります。ZXingなどのライブラリを統合するか、自分のアプリから次のように呼び出します。 UXの観点からは、この2つのうちどちらが望ましいのでしょうか。

インテントを介してスキャンします

  • プロ:

    • nixの哲学 の「1つのことを行うプログラムを作成し、それをうまく行う。一緒に動作するプログラムを作成する」に従います。 Google Authenticator たとえば、そうします。OSがこの種のサポートを組み込んでいるという事実は、それが良い習慣であると私に信じさせます。
  • 短所:

ライブラリを統合する

  • プロ:

    • 経験の浅いAndroidユーザーにとっては簡単です。
  • 短所:

    • アプリファイルのサイズが大きい。

ライブラリの統合には開発者の労力がかかる可能性があり、Androidベストプラクティスに反するようですが、結局それは最もユーザーフレンドリーなオプションのようです。ZXingを統合する必要がありますか?

5
Rafe

あなたのプロジェクトには競争相手がいますか?いいえの場合、製品を市場に最も早く届けるために、バリアントを選択する必要があります。製品の最初のユーザーはいわゆる「イノベーター」と呼ばれ、QRスキャナーの実装に関係なく使用します。しかし、そうであれば、市場を分析する必要があります-競合他社の機能と顧客の期待。もちろん、あなたはあなたの製品をあなたの顧客にとって少なくとも同じレベルの快適さで作ることです。

一般的に、技術的な観点から見ると、統合は、顧客のプラットフォームでのソフトウェアの動作を予測できるという意味で、より信頼できるようです。必要なものはすべて制御できます。

2
Serg

今日いくつかのグーグルの後、私は これらのコメント をZXingの共同作成者であるSean Owenのブログで見つけました。彼は自分のアプリにソースコードをコピーして貼り付けるだけではなく、そのような迅速な統合を探している場合はインテントを使用することを勧めています。彼は、ブログ自体の例(Playストアにアクセスできないデバイスの社内エンタープライズアプリ)や、大幅にカスタマイズされたスキャンアプリのように、ソースコード統合の正当な理由に反対していません。

市場投入までの時間がより重要であるので、Sergは正解であり、今のところ意図に固執します。前述のコメントには、リンクされた Android-quick-response と呼ばれる別のプロジェクトがあります。これは、他のアプリへのソースコード統合のために特別に意図されたZXingの改作です。

OS統合に関するkonturのサイドノートに関して、オーウェンは、ZXingがGoogleで開発され、Android 1.0。

2
Rafe