This project is designed to help you quickly build a hybrid app for Windows, Linux, macOS, Android, and iOS using .NET MAUI and React. It leverages Blazor framework JS interop to link .NET code in C# with JavaScript/TypeScript in React. Best of all, you can build this project without needing to install Microsoft Visual Studio on your Windows, Mac or Linux machine.
- Cross-Platform: Develop for Windows, Linux, macOS, Android, and iOS from a single codebase.
- Blazor JS Interop: Seamlessly integrate .NET C# code with JavaScript/TypeScript using Blazor framework's JavaScript Interop.
- Hybrid App: Combines the power of .NET MAUI with the flexibility of Javascript frameworks.
- Web App development: Develop, debug, and test your app's UI as a web app in the browser.
Ensure you have the following installed:
- .NET 8 SDK
- .NET MAUI
- XCode (Mac Only)
- GTK+ gtk+-3.0(libgtk-3-0) and webkit2gtk-4 (libwebkit2gtk-4.0) (Linux Only)
- Android SDK (For Android Build)
- Node.js and npm
- VSCode
- VSCode .NET MAUI extension
Optional:
- VSCode .NET Meteor extension (Alternative for the official MAUI extension)
- VSCode Android WebView Debugging extension
-
Clone the repository:
git clone https://github.com/YaDev/maui-react-app.git cd maui-react-app
-
Install JavaScript dependencies:
cd BlazorMaui.UI npm install
-
Install .NET dependencies:
cd BlazorMaui.Core dotnet restore
Build the project using VSCode .NET MAUI or .NET Meteor extensions or build it manually, using the following commands:
-
Windows:
cd BlazorMaui.Core dotnet build -f net8.0-windows10.0.19041.0 dotnet build -t:Run -f net8.0-windows10.0.19041.0
-
Linux:
cd BlazorMaui.Core dotnet build -f net8.0 dotnet build -t:Run -f net8.0
-
macOS:
cd BlazorMaui.Core dotnet build -f net8.0-maccatalyst dotnet build -t:Run -f net8.0-maccatalyst
-
Android:
cd BlazorMaui.Core dotnet build -t:Run -f net8.0-android
-
iOS:
cd BlazorMaui.Core dotnet build -t:Run -f net8.0-ios
This project is licensed under the MIT License - see the LICENSE file for details.