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

RubyMotion

25
54
+ 1
25
Xamarin

1.3K
1.5K
+ 1
785
Add tool

RubyMotion vs Xamarin: What are the differences?

  1. Language Used: RubyMotion uses Ruby as the programming language, while Xamarin uses C#.
  2. Community Support: Xamarin has a larger and more active community compared to RubyMotion.
  3. Native vs. Cross-Platform: RubyMotion focuses mainly on building native iOS and Android apps, whereas Xamarin supports building cross-platform apps using a single codebase.
  4. Tools and Ecosystem: Xamarin provides a more extensive set of tools and resources for mobile app development compared to RubyMotion.
  5. Pricing Model: Xamarin has a free Starter edition available for individual developers, while RubyMotion requires a paid license for commercial use.
  6. Development Environment: RubyMotion integrates well with macOS and Xcode for iOS development, while Xamarin can be used with Visual Studio and other IDEs for cross-platform development.

In Summary, RubyMotion and Xamarin differ in programming language, community support, native vs. cross-platform focus, tools, pricing, and development environment.

Advice on RubyMotion 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
on
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’s 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 · 51.5K 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
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of RubyMotion
Pros of Xamarin
  • 6
    Ruby Syntax
  • 4
    Editor + Terminal workflow; minimal Xcode involvement
  • 4
    Great Community
  • 3
    Fast Prototyping
  • 3
    Great gems, libraries, and frameworks
  • 2
    Leverage CocoaPods and Gradle
  • 2
    Cross Platform
  • 1
    Light Code
  • 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
  • 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
    Backed by Microsoft
  • 9
    Enables code reuse on server
  • 8
    Faster Development
  • 7
    Use of third-party .NET libraries
  • 7
    It's free since Apr 2016
  • 7
    Best performance than other cross-platform
  • 7
    Easy Debug and Trace
  • 7
    Open Source
  • 6
    Mac IDE (Xamarin Studio)
  • 6
    Xamarin.forms is the best, it's amazing
  • 5
    That just work for every scenario
  • 5
    C# mult paradigm language
  • 5
    Power of C#, no javascript, visual studio
  • 4
    Great docs
  • 4
    Compatible to develop Hybrid apps
  • 4
    Microsoft stack
  • 4
    Microsoft backed
  • 3
    Well Designed
  • 3
    Small learning curve for Mobile developers
  • 2
    Ionic
  • 2
    Ability to leverage legacy C and C++

Sign up to add or upvote prosMake informed product decisions

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

    Sign up to add or upvote consMake informed product decisions

    What is RubyMotion?

    RubyMotion lets you quickly develop cross-platform native apps for iOS, Android and OS X, all using your favorite editor and the awesome Ruby language you know and love.

    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.

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

    What companies use RubyMotion?
    What companies use Xamarin?
    Manage your open source components, licenses, and vulnerabilities
    Learn More

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

    What tools integrate with RubyMotion?
    What tools integrate with Xamarin?

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

    What are some alternatives to RubyMotion and Xamarin?
    Swift
    Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C.
    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.
    Kivy
    It is an open source Python library for rapid development of applications that make use of innovative user interfaces, such as multi-touch apps. It runs on Linux, Windows, OS X, Android, iOS, and Raspberry Pi. You can run the same code on all supported platforms.
    See all alternatives