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

Matcha

5
16
+ 1
0
Xamarin

1.2K
1.5K
+ 1
783
Add tool

Matcha vs Xamarin: What are the differences?

Matcha: A framework for building iOS and Android apps in Go. Matcha is a package for building iOS and Android applications and frameworks in Go. Matcha provides a UI component library similar to ReactNative and exposes bindings to Objective-C and Java code through reflection. The library also provides Go APIs for common app tasks; 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.

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

Matcha is an open source tool with 3.44K GitHub stars and 144 GitHub forks. Here's a link to Matcha's open source repository on GitHub.

Advice on Matcha and Xamarin
William Miller
Needs advice
on
PyQtPyQtReact NativeReact Native
and
XamarinXamarin

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

    Sign up to add or upvote prosMake informed product decisions

    Cons of Matcha
    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 Matcha?

      Matcha is a package for building iOS and Android applications and frameworks in Go. Matcha provides a UI component library similar to ReactNative and exposes bindings to Objective-C and Java code through reflection. The library also provides Go APIs for common app tasks.

      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 Matcha and Xamarin as a desired skillset
      CBRE
      United States of America Texas Richardson
      CBRE
      United States of America Texas Richardson
      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
      CBRE
      United States of America Texas Richardson
      What companies use Matcha?
      What companies use Xamarin?
      See which teams inside your own company are using Matcha 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 Matcha?
      What tools integrate with Xamarin?

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

      What are some alternatives to Matcha and Xamarin?
      Chai
      It is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework. It has several interfaces that allow the developer to choose the most comfortable. The chain-capable BDD styles provide an expressive language & readable style, while the TDD assert style provides a more classical feel.
      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.
      See all alternatives