Maui Vs React Native

Joan Sánchez 28/03/2023

    If you wouldn’t eat a fork soup, don’t develop an app with the wrong technology.

    In the latest articles written by colleagues from the Mobile department we emphasize our great commitment to .NET MAUI, and in them we give you some tips of our knowledge, but, although we have our preferences, we have experience not only in MAUI but also in React Native.

    In some cases we have the big question: with what technology to approach it? .NET MAUI and React Native are two very popular mobile development technologies, with their particular strengths and weaknesses, and the choice of which one to use depends largely on the specific requirements of the project to be developed. Although both have their strengths and weaknesses, we will explain from our point of view and broadly the differentiating points that can make us opt for one or the other.

    What is React Native?

    Logo de React Native

    It is an open source framework currently developed by Meta for creating “native” mobile applications using JavaScript and React.

    Platforms

    Android and iOS

    User interface

    Although the development is with React, most of the controls that allow us to use React Native internally, refer to native controls. This allows you to create applications that look and feel in a very similar way to native applications, without the need for specific knowledge of each platform.

    Native API Access

    It is true that React Native offers us the possibility to access the native API of each platform but, according to our experience, using the native API to establish BLE connections (Bluetooth Low Energy) or other requirements that need to delve a little deeper into the native API, the results have not been optimal.

    Similarly, we also found certain deficiencies in the background tasks of the application.

    Development

    It offers highly modular and reusable code, making it easy to maintain and scale.

    Success stories

    Some examples of success with the aforementioned framework are the mobile applications of: Facebook, Instagram, Discord, Pinterest, UberEats, Walmart and Airbnb.

    What is .Net Maui?

    Logo de .NET MAUI

    .NET MAUI, is a proprietary platform of Microsoft, based on .NET to create cross-platform native mobile applications.

    Platforms

    Android, iOS, Windows 10/11, Mac OS, GNU/Linux (Tizen).

    User interface

    Similar to React Native, all standard platform controls internally implement the native controls of each platform, allowing you to build applications with a native look, without requiring platform-specific knowledge.

    To develop the interfaces in MAUI, having the development layer of the front completely separated, allows to develop the user interface in both XAML and Blazor, allowing the developer to act in the language that feels most comfortable (or suits him best).

    Native API Access

    From MAUI we have access to 100% of the native API, allowing us to access all the components of the device, BLE wifi, camera, etc.

    Development

    As in React Native, it allows us to have one code to govern them all, but where customization by platform is much simpler than React Native and its own predecessor, Xamarin Forms.

    Success stories

    Some examples of success with the aforementioned framework are the mobile applications of: Cincinati Children’s Caren (Medical Center), UPS, Alaska Airlines, Microsoft Azure, Captio and Orlo.

     

    But what now?

    As we discussed in the previous paragraphs, it is not easy to make a choice, but if we review point by point the two platforms we find small keys that will make us choose, let’s see the key points of each:

     

    Compare React vs MAUI

     

     

    Seeing these points, we can deduce in which cases we could cover the application with one or another technology, obviously from our experience. Surely, in a round table with developers they could differ based on their own experiences.

    If we are going to carry out a small project, in which we look for speed and that is visually attractive, we have access to the native API and simple processes, and we have a JS team with knowledge of React Native or React (being able to assume the learning curve of React Native), without hesitation, we would opt for an application in that technology.

    On the other hand, if we need to make an application available for Windows, Linux and MacOS (these last two it is true that we can currently find that not all components are available), apart from iOS and Android, or the application, is used to:

    • IOT
    • Data Management and Control
    • Processes that require many tasks in the background
    • Full access to the Native API

    Without hesitation, we would make the application with .Net Maui.

    In the event that the application meets the requirements we have indicated for React Native, but the team we have available has knowledge of C # and Xaml or Blazor, we can develop the application without problems in .Net Maui.

     

    Banner with text

    , ,

    Go back