1. A system for managing applications as Internet of Things (IoT) devices or IoT-enabled applications, the system comprising: an IoT server communicatively coupled to a network; a computing device communicatively coupled to the network, the computing device comprising an IoT interface and a first IoT-enabled application having a remote procedure call (RPC) interface; and an IoT application, executing on one of the IoT server and the computing device, wherein the IoT interface on the computing device is configured to: communicate with the first IoT-enabled application on the computing device using the RPC interface; communicate with one of the IoT server and the IoT application on the computing device using an IoT protocol configured for communications between the IoT interface, the IoT server and the IoT application, and cause the first IoT-enabled application to be presented to the IoT server or IoT application on the computing device as an IoT device.