Get Advice Icon

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

J2ObjC
J2ObjC

7
15
+ 1
6
Xamarin
Xamarin

783
760
+ 1
706
Add tool

J2ObjC vs Xamarin: What are the differences?

What is J2ObjC? Java to iOS Objective-C translation tool and runtime used by Google Inbox to share 70% of its code across Android, iOS, and Web. 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 Xamarin? Create iOS, Android and Mac apps in C#. Xamarin鈥檚 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鈥檚 most widely-used mobile devices, including Android-based smartphones and tablets, iPhone, iPad and iPod Touch.

J2ObjC and Xamarin can be categorized as "Cross-Platform Mobile Development" tools.

"Backed by Google" is the primary reason why developers consider J2ObjC over the competitors, whereas "Power of c# on mobile devices" was stated as the key factor in picking Xamarin.

J2ObjC is an open source tool with 5.47K GitHub stars and 771 GitHub forks. Here's a link to J2ObjC's open source repository on GitHub.

- 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 Xamarin?

Xamarin鈥檚 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鈥檚 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 Xamarin?

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

    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 Xamarin?

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

    What tools integrate with J2ObjC?
    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 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 and Xamarin
    Greg Neumann
    Greg Neumann
    Indie, Solo, Developer | 7 upvotes 299.1K views
    Xamarin
    Xamarin
    .NET Core
    .NET Core
    Xamarin Forms
    Xamarin Forms
    ASP.NET
    ASP.NET
    Quasar Framework
    Quasar Framework
    Electron
    Electron
    Vue.js
    Vue.js
    TypeScript
    TypeScript

    Finding the most effective dev stack for a solo developer. Over the past year, I've been looking at many tech stacks that would be 'best' for me, as a solo, indie, developer to deliver a desktop app (Windows & Mac) plus mobile - iOS mainly. Initially, Xamarin started to stand-out. Using .NET Core as the run-time, Xamarin as the native API provider and Xamarin Forms for the UI seemed to solve all issues. But, the cracks soon started to appear. Xamarin Forms is mobile only; the Windows incarnation is different. There is no Mac UI solution (you have to code it natively in Mac OS Storyboard. I was also worried how Xamarin Forms , if I was to use it, was going to cope, in future, with Apple's new SwiftUI and Google's new Fuchsia.

    This plethora of techs for the UI-layer made me reach for the safer waters of using Web-techs for the UI. Lovely! Consistency everywhere (well, mostly). But that consistency evaporates when platform issues are addressed. There are so many web frameworks!

    But, I made a simple decision. It's just me...I am clever, but there is no army of coders here. And I have big plans for a business app. How could just 1 developer go-on to deploy a decent app to Windows, iPhone, iPad & Mac OS? I remembered earlier days when I've used Microsoft's ASP.NET to scaffold - generate - loads of Code for a web-app that I needed for several charities that I worked with. What 'generators' exist that do a lot of the platform-specific rubbish, allow the necessary customisation of such platform integration and provide a decent UI?

    I've placed my colours to the Quasar Framework mast. Oh dear, that means Electron desktop apps doesn't it? Well, Ive had enough of loads of Developers saying that "the menus won't look native" or "it uses too much RAM" and so on. I've been using non-native UI-wrapped apps for ages - the date picker in Outlook on iOS is way better than the native date-picker and I'd been using it for years without getting hot under the collar about it. Developers do get so hung-up on things that busy Users hardly notice; don't you think?. As to the RAM usage issue; that's a bit true. But Users only really notice when an app uses so much RAM that the machine starts to page-out. Electron contributes towards that horizon but does not cause it. My Users will be business-users after all. Somewhat decent machines.

    Looking forward to all that lovely Vue.js around my TypeScript and all those really, really, b e a u t I f u l UI controls of Quasar Framework . Still not sure that 1 dev can deliver all that... but I'm up for trying...

    See more
    Interest over time
    Reviews of J2ObjC 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 and Xamarin
    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 Xamarin cost?
    Pricing unavailable
    News about J2ObjC
    More news