J2ObjC vs JUniversal vs Xamarin

Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

J2ObjC
J2ObjC

7
14
+ 1
6
JUniversal
JUniversal

1
7
+ 1
0
Xamarin
Xamarin

678
641
+ 1
705
- No public GitHub repository available -

What is J2ObjC?

J2ObjC is an open-source command-line tool from Google that translates Java code to Objective-C for the iOS (iPhone/iPad) platform. This tool enables Java code to be part of an iOS application's 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 is then shared by web apps (using GWT), Android apps, and iOS apps.

What is JUniversal?

The vision of JUniversal came from some guys at Nokia who possess considerable expertise both in Java and in building cross-platform apps. They built this tool to provide an elegant way to translate source code and make it useful across multiple platforms. JUniversal offers you the freedom to write your shared code in Java and then translate it to C# (available now) or to C++/Objective C++ (coming soon). You can also combine JUniversal with Google’s j2objc translator to translate Java to Objective-C for iOS.

What is Xamarin?

Xamarin’s Mono-based products enable .NET developers to use their existing code, libraries and tools (including Visual Studio*), as well as skills in .NET and the C# programming language, to create mobile applications for the industry’s most widely-used mobile devices, including Android-based smartphones and tablets, iPhone, iPad and iPod Touch.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose J2ObjC?
Why do developers choose JUniversal?
Why do developers choose Xamarin?
    Be the first to leave a pro

    Sign up to add, upvote and see more prosMake informed product decisions

      Be the first to leave a con
        Be the first to leave a con

        Sign up to add, upvote and see more consMake informed product decisions

        What companies use J2ObjC?
        What companies use JUniversal?
        What companies use Xamarin?

        Sign up to get full access to all the companiesMake informed product decisions

        What tools integrate with J2ObjC?
        What tools integrate with JUniversal?
        What tools integrate with Xamarin?

        Sign up to get full access to all the tool integrationsMake informed product decisions

        What are some alternatives to J2ObjC, JUniversal, and Xamarin?
        React Native
        React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native.
        Ionic
        Free and open source, Ionic offers a library of mobile and desktop-optimized HTML, CSS and JS components for building highly interactive apps. Use with Angular, React, Vue, or plain JavaScript.
        Flutter
        Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.
        Apache Cordova
        Apache Cordova is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript. Combined with a UI framework such as jQuery Mobile or Dojo Mobile or Sencha Touch, this allows a smartphone app to be developed with just HTML, CSS, and JavaScript.
        PhoneGap
        PhoneGap is a web platform that exposes native mobile device apis and data to JavaScript. PhoneGap is a distribution of Apache Cordova. PhoneGap allows you to use standard web technologies such as HTML5, CSS3, and JavaScript for cross-platform development, avoiding each mobile platforms' native development language. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device's sensors, data, and network status.
        See all alternatives
        Decisions about J2ObjC, JUniversal, and Xamarin
        No stack decisions found
        Interest over time
        Reviews of J2ObjC, JUniversal, and Xamarin
        Review ofXamarinXamarin

        I'm working in Huge company and I'm in charge to choose the cross-platform environment to develop Mobile application for all our services. I choose Xamarin but because the error i get everytime in Visual Studio, I want to leave it and recommand another solution. In fact that's why I'm here.

        Weird, Install VS2017 with Xamarin on a new PC Create a new app GOT ERRORS.....!!!!!

        Thank you for considering this

        Avatar of gistya
        iOS Developer at JORY
        Review ofJ2ObjCJ2ObjC

        This is one of the most amazing open source projects out there. Tom and Kieth do an amazing job working with the developer community and quickly responding to questions and concerns. I was blown away by how solid the ported code was. What a life-saver and a ridiculously awesome tool.

        How developers use J2ObjC, JUniversal, and Xamarin
        Avatar of Google
        Google uses JUniversalJUniversal

        Comment from HackerNews (https://news.ycombinator.com/item?id=8998736)

        This is how Google Inbox and Google Spreadsheets works. See the slides from my recently produced GWT Create Session (http://t.co/ZvoaHxCoZT). J2ObjC slide deck here (https://docs.google.com/presentation/d/1mW_Plm5jAygELf7qjVK7...) Videos of the conference will be online soon.

        Prior to that, some 20% Googlers also produced the PlayN library (https://github.com/threerings/playn) This was taken over by Michael Bayne who added an iOS backend by Bytecode -> IKVM -> Mono conversion. I beleive j2objc and RoboVM backends exist now as well.

        The major benefit of the j2objc approach is the avoidance of GC in favor of ARC, the conversion of message-sends into C-method calls when possible, and integration with existing iOS toolchain.

        When we started, it seemed like an iffy idea, but after developing a product delivered to millions of users on a high volume site (gmail) that has 70% code sharing, and being able to simultaneously develop, test, and deploy across the platforms reasonably efficiently, a lot of skeptics have become converts to the concept.

        Avatar of Foundbite
        Foundbite uses XamarinXamarin

        Xamarin enables us to develop for 3 platforms (iOS, Android and Windows Phone) with one core codebase coded in C#. Xamarin has allowed us to release an app on all three platforms and develop them simultaneously - not bad for a team of 2!

        Avatar of fileee GmbH
        fileee GmbH uses J2ObjCJ2ObjC

        We use J2Objc and GWT to provide a shared library of cross-platform code that is used on all our client platforms (Android, iOS and the web) and even in the backend.

        Avatar of Ana Phi Sancho
        Ana Phi Sancho uses XamarinXamarin

        Self taught : acquired knowledge or skill on one's own initiative. Platform: OSX 10.8 or later. Mac computer user.

        Avatar of Robert Brown
        Robert Brown uses XamarinXamarin

        Build & ship OS X & iOS apps from Visual Studio on Windows. Requires paid team license.

        Avatar of Daniel Kovacs
        Daniel Kovacs uses XamarinXamarin

        Mobile app development with PCL and Xamarin.iOS and Xamarin.Android.

        Avatar of Olo
        Olo uses XamarinXamarin

        Cross platform, white labelled native mobile apps

        How much does J2ObjC cost?
        How much does JUniversal cost?
        How much does Xamarin cost?
        Pricing unavailable
        Pricing unavailable
        News about J2ObjC
        More news
        News about JUniversal
        More news