Server and client side rendering in node.js

I don't understand the concept of client-side rendering. I have always used server-side rendering with PHP/Ruby, I don't see how it is possible to have client side rendering.

Who does the work? The browser?

If someone could give explanations or links that explains that, I would be grateful.

Without sounding sarcastic, it is a distinction between client-side compilation/manipulation, server-side compilation/manipulation, or a combination of both. While the browser is the thing that actually does the rendering.

But compilation/manipulation of what?

In general we're talking about HTML, CSS, javascript assets and maybe some data returned from a db that upon request gets compiled/manipulated into something that can be rendered on the browser as our application.

You can do this on the client-side using plain-old-javascript, jquery, backbone, angular, ember, etc.. You can do this on the server-side using plain-old-node or one of the frameworks like Sails.js.