Awesome
<div align="center"> <img src="./images/app_logo.png" width="50"></img> <h1 align="center"> Marvelous .NET MAUI </h1> </div>.NET MAUI clone of the Wonderous app - a visual showcase of eight wonders of the world made with Flutter by the team at gskinner.
https://github.com/RadekVyM/MarvelousMAUI/assets/65116078/3a6b59a0-e48f-4af4-b168-2d0481df4b15
This project demonstrates how to develop tailored UI using .NET MAUI. However, Marvelous .NET MAUI is not just a demonstration, it is a fully functional app that allows users to navigate the intersection of history, art, and culture by exploring the Wonders of the World.
Thanks to the original version of the app, you can also find out how well .NET MAUI competes against Flutter, for example in terms of app performance.
Installation
First, make sure you have your Visual Studio and .NET 8 environment set up for .NET MAUI development. If not, follow the setup instructions. Then make sure you have your Android or iOS platform set up for deployment of the application.
Once everything is set up, you can clone the repo and run the application via Visual Studio.
Here are some resources to learn more about .NET MAUI:
Original app
The original Wonderous app is a reference app that shows how to develop tailored UI using Flutter.
<p align="center"> <img src="https://user-images.githubusercontent.com/736973/187334170-d05271e9-d016-4498-8065-662c6f1124fa.png"> </p>Here are some resources to learn more about the app and the amazing team that created it:
- Official Wonderous website
- Wonderous GitHub repository
- Blog post about the goals of the app
- YouTube video showcasing Wonderous
- YouTube video about Wonderous by Flutter
- gskinner website
Features
Marvelous .NET MAUI has highly expressive user interface, tailored to the mobile form factor, and does not conform to a stock design system. Only .NET MAUI APIs and a few community libraries are used to achieve this level of expressiveness:
- .NET MAUI Community Toolkit - collection of common elements for development with .NET MAUI that developers tend to replicate across multiple apps
- SimpleToolkit - library of helpers and simple, easily customizable controls
- Draggable Grid - JavaScript control that allows you to arrange items of an unordered list into a grid and to move between them by dragging
Remarkable carousel view
Unique, custom-built carousel view which lets you to switch between all eight wonders of the world.
<p align="center"> <img src="./images/android_illustrations_20.gif" width="220"> <img src="./images/iphone_illustrations.webp" width="229"> </p>Unique scroll patterns
Unique scroll patterns and effects as you move through various pages.
<p align="center"> <img src="./images/android_main_wonder_page_20.gif" width="220"> <img src="./images/iphone_history_page.webp" width="229"> </p>Custom controls
Tailored buttons, icons and other controls that match the Wonderous design system. Some of them are just compositions of existing .NET MAUI controls, and some are (almost completely) drawn using .NET MAUI cross-platform drawing APIs, such as a slider to select the period of the currently displayed artifacts.
<p align="center"> <img src="./images/android_artifacts_slider_20.gif" width="220"> <img src="./images/iphone_timeline.webp" width="229"> </p>Animations everywhere
The application is full of animations.
<p align="center"> <img src="./images/android_discovering_artifact_20.gif" width="220"> <img src="./images/iphone_wonders_transitions_20.gif" width="229"> </p>Blazor/JavaScript component
The wonder photo gallery is created using the Draggable Grid JavaScript control which is embedded via BlazorWebView
.
License
As with the original app (license), source code of this app is released under the MIT license. You can use the code for any purpose, including commercial projects.
However, visual assets are copyrighted and used with permission. Please visit the Wonderous GitHub repository for original version of the assets.