integrated test environment with device simulators. The platform features built-in MDM (mobile device management) capabilities, making it an attractive adjunct to BYOD. Purpose-specific platforms In addition to vendor-provided native IDEs and cross-platform hybrid toolkits, a number of mobile development products target specific environments, such as a specific mobile OS or server-side hosting environment. A good example is Google's J2ObjC Java-to-Objective C translator, which aims to let server-side Java developers move their non-UI code to Objective C that executes natively on an Apple device. Native Java is still prohibited by Apple in iOS, creating a significant barrier to Java-skilled app coders. Although Java developers must still learn Objective C for iOS graphical app components, legacy Java business logic can be preserved, saving the time and expense of maintaining two code trees. CodeName One is a similar tool, but rather than translating Java to Objective C, it lets developers code almost entirely in Java, including UI code. The product's "lightweight architecture" provides seamless UI development across multiple platforms. Developers have the option to replace Java-coded widgets with native Objective C "heavyweight" versions when necessary for performance or to access low-level device features. And a GUI builder gives developers a full-featured drag-and-drop UI canvas. Salesforce Touch is a mobile development platform that provides enterprise developers the same app engine Salesforce uses for its own enterprise mobile apps. Touch can generate native Objective C or Java, pure Web, and containerized hybrid apps. The platform interfaces with Force.com, which delivers network services via REST APIs