1. A method of deploying an application that utilizes a resource to a device, the method comprising: storing an object hierarchy comprising at least two application versions of the application that are respectively adapted for a connectivity context between the application and the resource, wherein the at least two application versions comprise: a first application version adapted to interact with the resource in a local connectivity context, and a second application version adapted to interact with the resource in a remote connectivity context; evaluating a connectivity between the device and the resource to determine the connectivity context of the application with the resource; identifying a selected portion of the object hierarchy that includes a selected application version of the application that is adapted for the connectivity context between the device and the resource, and that excludes an excluded application version of the application that is not adapted for the connectivity context between the device and the resource; and synchronizing the selected portion of the object hierarchy that includes the selected application version of the application with the device.