web-dev-qa-db-ja.com

アプリケーションにnode.jsとmongodbをバンドルする必要がありますか?

node.js で実行され、 MongoDB を使用するWebアプリケーションに取り組んでいます。アプリケーションを商用ソフトウェアとしてリリースする予定であることを言及することが重要です。私がインストーラーを書いた方法は、ノードとmongodバイナリの場所を確認するようにユーザーに要求します(最初に自動検出した後)。上記のバイナリをアプリケーションと一緒にバンドルするか、インストーラーにダウンロードさせることで、このステップを完全にスキップできると考えましたが、対処する必要があるいくつかの問題があります。

  1. 何よりもまず、ライセンスの問題。 10genの友好的な人々(MongoDBを開発している会社)は、私が送信した電子メールに返信し、ライセンスでこれを許可していることを教えてくれました。気をつけるべき問題はありますか?
  2. Node.jsとmongod(MongoDBサーバーバイナリ)を手動でインストールする必要がないという便宜のために、(ユーザーの観点から)インストール中に約20MBの追加データをフェッチする価値はありますか?
  3. 32ビットのバイナリをバンドルしていて、ユーザーが64ビットのマシンにアプリケーションをインストールした場合、問題は発生しますか?
4
Victor Stanciu

帯域幅が安い。時間ではありません。ソフトウェアを販売している場合は、プロセスをできるだけ自動化し、質問をできるだけ少なくし、「そのまま」機能させることをお勧めします。これを考えると、20mbはそれほど多くはなく、ほとんどのブロードバンド接続で実際に20秒以下を見ています。少なくとも私の国では。

ソフトウェアをバンドルすると、テストを行ったバージョンを確実に配布できるため、node.jsが5年後に3バージョン前になり、重大な変更があった場合、サポートの問題は発生しません。

ユーザーの観点から考えてください。購入したものに必要なすべてが含まれているパッケージを1つ入手できる場合、またはソフトウェアを入手できるが、依存関係をオンラインで検索する必要がある場合、不満を感じるでしょう。

  1. 10genが大丈夫だと言っていて、それを書面で持っていれば、何の問題もないはずです。 NodeはMITライセンスなので、そこに問題があるのではないかと思います。また、サービス、ランタイム、またはコンポーネントとして動作するように設計されているほとんどのソフトウェアには再配布ポリシーがあり、これは正常。

  2. 常にファイルを提供できる場合は、上記の帯域幅の方が安いと言ったように、このパスをたどることができます。いくつかの理由により、必要なファイルをバンドルする運が高まる可能性があります。オフラインインストール、およびサーバーがダウンした場合/ソフトウェアの販売を停止した場合など。

  3. CPUの正しいアーキテクチャをインストールする必要がありますが、問題はほとんどありません。

5
Sam