回答:
npmnodejsパッケージマネージャーです。したがって、通常はサーバー側のnodejsプロジェクトまたはコマンドラインプロジェクトを意味するnodejs環境を対象とします(bower自体はnpmパッケージです)。nodejsで何かを行う場合は、npmを使用します。
bower(フロントエンド)Webプロジェクトを目的としたパッケージマネージャーです。Bowerをインストールして実行するには、npmとnodejsが必要ですが、Bowerパッケージは、nodejs専用ではなく、「ブラウザー」環境用です。
composerPHPプロジェクトを対象とする依存関係マネージャーです。symfony(またはプレーンな古いphp)で何かをしている場合、これはおそらく行く方法です
要約すると:
はい、「json」ファイルは基本的なパッケージ情報と依存関係を記述します。そして、はい、それらは必要です。
さて、READMEはどうですか?:-)
[更新、4年後]
bowerは非推奨であり、新しいプロジェクトでは使用しないでください。大部分は、ノードの依存関係の管理に組み込まれています(Webサイトから:「Bowerはメンテナンスされていますが、フロントエンドプロジェクトにはYarnとWebpackまたはParcelを使用することをお勧めします」)。yarnは、npmいくつかのnpm欠陥を修正して、より良いものとして木材から出てきました。これは、フロントエンドまたはノード開発を行う場合の新しい事実上の標準であるため、これを実際に使用する必要があります。package.jsonnpm と同じように消費し、ほぼ完全に互換性があります。composerこの時点では使用しません(私はを使用しないためphp)、まだ生きていて人気があるようです