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

JUniversal

1
10
+ 1
0
Xamarin

1.2K
1.4K
+ 1
775
Add tool

JUniversal vs Xamarin: What are the differences?

Developers describe JUniversal as "A new, Java-based approach to cross-platform mobile apps (used by Google Inbox and Google Spreadsheets)". 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鈥檚 j2objc translator to translate Java to Objective-C for iOS. On the other hand, Xamarin is detailed as "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.

JUniversal and Xamarin belong to "Cross-Platform Mobile Development" category of the tech stack.

Some of the features offered by JUniversal are:

  • OAuth (based on Scribe)
  • JSON
  • Unit testing (JUnit)

On the other hand, Xamarin provides the following key features:

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

JUniversal is an open source tool with 132 GitHub stars and 22 GitHub forks. Here's a link to JUniversal's open source repository on GitHub.

Advice on JUniversal and Xamarin
William Miller
Needs advice
on
XamarinXamarinReact NativeReact Native
and
PyQtPyQt

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.

See more
Replies (2)
Recommends
React NativeReact Native

I don't know much about Xamarin but I know about PyQt and React Native.

However, I don't recommend PyQt because the apps made using PyQt are not that suitable for mobile apps. If you take a look at the PyQt interface, you will be able to see that the features are more of a desktop apps kind.

React Native uses JavaScript. React Native is immensely flexible in upgrading your apps because it allows you to formulate your app code into independent blocks.

In Xamarin, you have to write the code in .NET . The best thing about Xamarin is, that it extends the.NET developer platform with tools and libraries specifically for building apps for Android, iOS, tvOS, watchOS, macOS, and Windows

While the best choice for you depends on various factors but React Native app development is a promising overall choice. In today鈥檚 scenario, React Native has steady growth, flawless code structure, and brilliant and large community support. We suggest you go for React Native for your next project owing to its outstanding support from developers, easy availability, and cost-effectiveness.

See more
Saamer Mansoor
Founder at The First Prototype | 4 upvotes 路 20K views

It seems like your app is not really using any native functionality on the phone. I have experience with cross platform iOS & Android development. They are all really good tools! Xamarin (all the project on the website portfolio I attached) is awesome for accessing native functionality (NFC, Sensors, Bluetooth, etc), and I have built apps that have millions of downloads, some that hit Top 5 on Utilities, another that hit Top 50 in Finances. You just have to look at what your application intent is, it seems like it's just to read and post data. For that they are all pretty good, but you should also look into Ionic which may serve the same purpose

See more
Decisions about JUniversal and Xamarin
James Bender
Lead Application Architect at TekPartners | 5 upvotes 路 17.9K views

I've yet to see a non-native application that I felt performed as well and/or provided the same user experience with Cordova/PhoneGap/Xamarin. Frankly, at best they all seemed like underpowered web applications deployed to a sandbox that ran on a phone. They didn't feel "slick" or "mobile-first" and in some cases the performance was unacceptable. At previous companies, we built a few of these apps at the client's insistence, and in every case, they re-engaged us about 18 months later to re-write the app(s) natively.

We are doing some research on React Native and Flutter, but I am not yet convinced that they can provide the same level of experience and performance as native, though I am trying to keep an open mind.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of JUniversal
Pros of Xamarin
    Be the first to leave a pro
    • 120
      Power of c# on mobile devices
    • 80
      Native performance
    • 77
      Native apps with native ui controls
    • 71
      No javascript - truely compiled code
    • 67
      Sharing more than 90% of code over all platforms
    • 45
      Ability to leverage visual studio
    • 44
      Many great c# libraries
    • 43
      Mvvm pattern
    • 36
      Amazing support
    • 34
      Powerful platform for .net developers
    • 19
      GUI Native look and Feel
    • 15
      Nuget package manager
    • 11
      Free
    • 9
      Backed by Microsoft
    • 9
      Enables code reuse on server
    • 8
      Faster Development
    • 7
      Easy Debug and Trace
    • 7
      Use of third-party .NET libraries
    • 7
      It's free since Apr 2016
    • 7
      Best performance than other cross-platform
    • 7
      Open Source
    • 6
      Mac IDE (Xamarin Studio)
    • 6
      Xamarin.forms is the best, it's amazing
    • 5
      Power of C#, no javascript, visual studio
    • 5
      C# mult paradigm language
    • 4
      Compatible to develop Hybrid apps
    • 4
      Microsoft backed
    • 4
      Microsoft stack
    • 4
      Great docs
    • 4
      That just work for every scenario
    • 3
      Well Designed
    • 3
      Small learning curve for Mobile developers
    • 2
      Ability to leverage legacy C and C++
    • 2
      Ionic

    Sign up to add or upvote prosMake informed product decisions

    Cons of JUniversal
    Cons of Xamarin
      Be the first to leave a con
      • 9
        Build times
      • 5
        Visual Studio
      • 3
        Complexity
      • 3
        Scalability
      • 3
        Price
      • 2
        Nuget
      • 2
        Maturity
      • 2
        Build Tools
      • 2
        Support
      • 0
        Maturidade
      • 0
        Performance

      Sign up to add or upvote consMake informed product decisions

      - No public GitHub repository available -

      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鈥檚 j2objc translator to translate Java to Objective-C for iOS.

      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.

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

      Jobs that mention JUniversal and Xamarin as a desired skillset
      CBRE
      United States of America Texas Boston
      CBRE
      United States of America Texas Richardson
      CBRE
      United States of America Texas Dallas
      CBRE
      United States of America Texas Richardson
      CBRE
      United States of America Texas Richardson
      CBRE
      United States of America Texas Richardson
      What companies use JUniversal?
      What companies use Xamarin?
        No companies found
        See which teams inside your own company are using JUniversal or Xamarin.
        Sign up for StackShare EnterpriseLearn More

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

        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 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.
        Flutter
        Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.
        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.
        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