Skip to content
SPECIFICTION
Get listed

ClojureScript vs J2ObjC

ClojureScript

clojurescript.org

J2ObjC

developers.google.com

Side by side

FigureClojureScriptJ2ObjC
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WebYes—
WindowsYes—
macOSYesYes
LinuxYesYes
iOS—Yes
Self-hostedYes—
Plans published11
Spec score · Code Transpilers8.4 (#4)7.8 (#14)
What it doesClojureScript is a compiler for Clojure that emits JavaScript.J2ObjC is an open-source command-line tool from Google that translates Java source code to Objective-C for iOS.

Plans

ClojureScript

  • ClojureScriptFree

ClojureScript pricing →

J2ObjC

  • Free and open sourceFree

J2ObjC pricing →

In their own words

ClojureScript

ClojureScript is a compiler that turns Clojure code into JavaScript for client and embedded application development wherever JavaScript reaches. It brings Clojure data structures and constructs—including functional programming, macros, destructuring, and polymorphism—into JavaScript environments. Its output is compatible with Google Closure Compiler advanced compilation, which can minify output and eliminate dead code. REPL support enables interactive development and testing in a browser or Node.js; the quick start uses browser output by default and selects Node.js output with a target setting. ClojureScript supports both ClojureScript and JavaScript dependencies, with React demonstrated in the quick start. Listed build tools include shadow-cljs, Figwheel, Leiningen, and lein-cljsbuild. Editor resources cover Cursive, Emacs, VS Code, Light Table, Sublime Text, Vim, and Atom. Documentation includes compiler and REPL options, dependencies, advanced compilation, source maps, and JavaScript module support marked Alpha. The project is open source under the Eclipse Public License 1.0 and lists Linux, macOS, Windows, web, and self-hosted environments.

Visit clojurescript.org

J2ObjC

J2ObjC is Google’s free, open-source command-line tool for translating Java source code into Objective-C for iOS. It is designed for sharing non-UI application logic and data models across web, Android, and iOS projects. Supported Java features include exceptions, inner and anonymous classes, generics, threads, and reflection, and the tool can translate and execute JUnit tests. The distribution contains static libraries for Guava, JUnit, Mockito, Protocol Buffers, and other Java or Android utility libraries. J2ObjC does not provide a platform-independent UI toolkit; iOS interfaces use Objective-C, Objective-C++, or Swift with Apple’s iOS SDK. Developers need source code they own or are licensed to use because Android binaries cannot be converted. Requirements include a Mac workstation, macOS 15 or higher, Xcode 16 or higher, and JDK 21 or higher. The j2objcc script wraps clang and uses the iOS SDK, while Xcode projects need J2ObjC linker settings. Objective-C reference counting leaves memory management to developers.

Visit developers.google.com