J2ObjC is a tool from Google that translates Java code to Objective-C for the iOS platform. It enables Java code to be part of an iOS build, as no editing of the generated files is necessary. The goal is to write an app's non-UI code (such as data access or application logic) in Java, which can then be shared by Web apps using GWT, Android apps, and iOS apps. J2ObjC supports most Java language and runtime features required by client-side application developers, including exceptions, inner and anonymous classes, generic types, threads, and reflection. JUnit test translation and execution are also supported.