StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Frameworks
  4. Cross Platform Mobile Development
  5. J2ObjC vs Xamarin

J2ObjC vs Xamarin

OverviewDecisionsComparisonAlternatives

Overview

Xamarin
Xamarin
Stacks1.3K
Followers1.5K
Votes785
J2ObjC
J2ObjC
Stacks8
Followers20
Votes6
GitHub Stars6.0K
Forks991

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’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.

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.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Xamarin, J2ObjC

Bhupendra
Bhupendra

Web Developer at Ecombooks

Oct 13, 2022

Needs adviceonReact NativeReact NativeFlutterFlutterXamarinXamarin

I want to learn cross-platform application frameworks like React Native, Flutter, Xamarin, or Ionic, and I'm a web developer. I can learn other programming languages as well. But I'm confused about what to learn, which framework is best, and which framework will last long as the application grows further into complexity.

727k views727k
Comments
William
William

CEO at Stealth Startup

Feb 11, 2021

Needs adviceonlambdalambdaAmazon DynamoDBAmazon DynamoDBWindowsWindows

We are developing an AWS IoT app for large boats. The IoT devices have sensors all over the boat for engine oil pressure, position, water depth, fuel level, crew location, etc. When the boat has internet, we interact with AWS cloud using lambda and Amazon DynamoDB. When the boat is offshore, the captain and crew still need normal and emergency alerts and real-time sensor information. The crew might have an Android or IoS phone or a Windows or macOS PC to receive alerts and interact with sensors. We may use the AWS GreenGrasss edge computing solution and either MQTT or HTML for that function.

Question: We want to develop a cross-platform client to run on Windows, Mac, Android, IOS, and possibly Linux. We are primarily Python programmers, so PyQt or Kivy are options for us, but we have heard good things about React Native, Flutter, Xamarin, and others. We think an AWS Greengrass core on an RPI4 could communicate to the client with MQTT or a local webserver with a client web interface.

Any thoughts would be much appreciated.

464k views464k
Comments
Saamer
Saamer

Founder at The First Prototype

Feb 15, 2022

ReviewonExpoExpo

We have experience with React Native, Flutter or Xamarin, the lion share of the native cross-platform tools used. They all allow you to create very good user experiences. You can check their reddit pages to see the beautiful designs people recreate. I highly recommend using cross platform tools vs native if your app has generic functionality that doesn't use advanced functionality of the app like VR/AR. So, for something like a dating app without those features, you would probably be better off with cross platform native instead of single platform native (swift/kotlin). If budget is low, a lot of companies have success just using Expo (a framework on top of React Native). It limits you further, but it's the easiest and most affordable to find developers with. Eventually you might decide to move away from it, but at that time ou ll have a lot more money and react native will be an easy tech to move towards.

Xamarin is the oldest of the cross platform native tools and so there's a lot more documentation and supporting libraries.

Flutter is super fast & fluid, and since it uses pixels(skia), it's even more performant than all the other technologies including native single platform. But it doesn't come with the amazing libraries that Xamarin and React Native is able to leverage

31.6k views31.6k
Comments

Detailed Comparison

Xamarin
Xamarin
J2ObjC
J2ObjC

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.

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.

Cross-platform development- Thinking about supporting iOS, Android, Mac and Windows? Xamarin allows you to write it all in C#.;Reuse existing code- Use your favorite .NET libraries in Xamarin apps. Easily use third-party native libraries and frameworks.; Discover as you type- Explore APIs as you type with code autocompletion.;Visual Studio or Xamarin Studio- Create, build, debug, and deploy apps in Visual Studio. Or use Xamarin Studio, a fully-featured IDE that is built for mobile app development.;Native UI, Native Performance- Xamarin delivers high performance compiled code with full access to all the native APIs so you can create native apps with device-specific experiences.; Point and Click UI Design- Xamarin provides a world class Android UI designer. Use Apple Xcode UI designer to create interfaces and Storyboards that automatically sync with your Xamarin.iOS project.
-
Statistics
GitHub Stars
-
GitHub Stars
6.0K
GitHub Forks
-
GitHub Forks
991
Stacks
1.3K
Stacks
8
Followers
1.5K
Followers
20
Votes
785
Votes
6
Pros & Cons
Pros
  • 121
    Power of c# on mobile devices
  • 81
    Native performance
  • 79
    Native apps with native ui controls
  • 73
    No javascript - truely compiled code
  • 67
    Sharing more than 90% of code over all platforms
Cons
  • 9
    Build times
  • 5
    Visual Studio
  • 4
    Price
  • 3
    Complexity
  • 3
    Scalability
Pros
  • 4
    Backed by Google
  • 1
    Made it possible to quickly port a hardware driver
  • 1
    Access to existing Java libraries
Integrations
No integrations available
Java
Java
Objective-C
Objective-C

What are some alternatives to Xamarin, J2ObjC?

Ionic

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

Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.

React Native

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.

NativeScript

NativeScript

NativeScript enables developers to build native apps for iOS, Android and Windows Universal while sharing the application code across the platforms. When building the application UI, developers use our libraries, which abstract the differences between the native platforms.

Apache Cordova

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.

Framework7

Framework7

It is a free and open source mobile HTML framework to develop hybrid mobile apps or web apps with iOS native look and feel. All you need to make it work is a simple HTML layout and attached framework's CSS and JS files.

Qt

Qt

Qt, a leading cross-platform application and UI framework. With Qt, you can develop applications once and deploy to leading desktop, embedded & mobile targets.

PhoneGap

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.

Expo

Expo

It is a framework and a platform for universal React applications. It is a set of tools and services built around React Native and native platforms that help you develop, build, deploy, and quickly iterate on iOS, Android, and web apps.

Vue Native

Vue Native

Vue Native is a mobile framework to build truly native mobile app using Vue.js. Its is designed to connect React Native and Vue.js. Vue Native is a wrapper around React Native APIs, which allows you to use Vue.js and compose rich mobile User Interface.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase