<i>The client speaks one language (JavaScript), the server speaks another (usually not JavaScript). To cross the boundary between the client and the server, the code must be translated into a different language.</i><p>What does that even mean? Javascript is a <i>programming language</i>, not a data format. To communicate with the server, all the client-side Javascript needs to do is exchange information with the server in a data format (e.g. JSON, XML) that both the client and server can parse.<p>I can't imagine any architecture that would not require devices to communicate with each other using a common data format.