1. A method, comprising: receiving inputs from a user device that define an object model for an application and capturing a meta-data definition of the application by an application object model definition module, wherein the meta-data definition describes the application for at least a plurality of node types; responsive to capturing the meta-data definition of the application, generating, from the meta-data definition of the application, code for the application per node type for the plurality of node types in a code generator module; compiling the code for the application per node type for the plurality of node types; and generating packaging necessary to deploy the application to the plurality of node types; wherein capturing the meta-data definition of the application comprises capturing a definition of peer-to-peer messaging between the plurality of node types, and wherein generating the code for the application per node type for the plurality of node types comprises generating the code for the application per node type for the plurality of node types that enables the application to communicate peer-to-peer between the plurality of node types in accordance with the captured definition of peer-to-peer messaging between the plurality of node types.