title: NodeJS /Electron Confusion about client/server code
body: <p>This is a beginner kind of question. I haven't used NodeJS before, so it's a bit confusing to me. I don't see a clear separation between server modules and client modules. It seems like I can use "npm" (Node's package manager) to install both client modules and server modules.</p>
  
  <p>My question is specifically related to this page:
  <a href="http://electron.atom.io/docs/v0.36.8/api/synopsis/" rel="noreferrer">http://electron.atom.io/docs/v0.36.8/api/synopsis/</a></p>
  
  <p>It says that I can use Node modules on client side:</p>
  
  <blockquote>
    <p>The renderer process is no different than a normal web page, except for the extra ability to use node modules:</p>
  </blockquote>
  
  <pre><code>    &lt;!DOCTYPE html&gt;
      &lt;html&gt;
      &lt;body&gt;
      &lt;script&gt;
        const remote = require('electron').remote;
        console.log(remote.app.getVersion());
      &lt;/script&gt;
      &lt;/body&gt;
      &lt;/html&gt;
  </code></pre>
  
  <p>How does this make any sense? Node is running on the server side, how is the browser ("renderer" process as they call it) able to use Node's packages?</p>