Awesome
Premier League MAUI App
A cross-platform Premier League app implemented with .NET MAUI for learning purposes
Project Overview
This Premier League app is a learning-focused project implemented using .NET MAUI (Multi-platform App UI). It serves as an excellent example for developers, especially those transitioning from WPF to cross-platform development, to understand the similarities and differences between MAUI and WPF.
<img src="https://github.com/user-attachments/assets/015ed49e-77b7-463f-976e-04f84c949a58" width="49%"/> <img src="https://github.com/user-attachments/assets/015ed49e-77b7-463f-976e-04f84c949a58" width="49%"/>Key Technologies and Implementations
1. MVVM Architecture
- Pure MVVM implementation without third-party frameworks
- Proper use of data binding and commands
2. UI Components and Styling
- TabBar implementation for navigation
- Use of CollectionView for efficient list rendering
- Custom DataTemplates for flexible UI design
- Implementation of built-in themes
3. Cross-Platform Design
- Responsive layouts for various screen sizes
- Platform-specific adaptations where necessary
4. Resource Management
- Utilization of .svg resources for scalable graphics
- Implementation of Geometry for custom shapes
5. MAUI-specific Features
- Exploration of MAUI-specific controls and APIs
- Demonstration of platform invoke (P/Invoke) for native functionality
Technology Stack
- .NET 8.0
- .NET MAUI
- C# 10.0
- MVVM (Model-View-ViewModel) pattern
Getting Started
Prerequisites
- Visual Studio 2022 or later (for Windows)
- JetBrains Rider (for Windows or macOS)
- .NET 8.0 SDK
- MAUI workload installed
Installation and Execution
1. Clone the repository:
git clone https://github.com/jamesnet214/maui-premierleague.git
2. Open the solution
- Visual Studio (Windows only)
- JetBrains Rider (Windows and macOS)
3. Build and Run
- Windows 11
- macOS
- iOS (via simulator or physical device)
- Android (via emulator or physical device)
Learning Points for WPF Developers
- Familiar XAML: MAUI uses XAML, making it easier for WPF developers to transition.
- Cross-Platform Considerations: Learn how to design UIs that work across different platforms.
- Mobile-First Approach: Understand the shift from desktop-centric to mobile-first design.
- Performance Optimization: Explore techniques for optimizing app performance on mobile devices.
- Platform-Specific Features: Learn how to implement platform-specific features while maintaining a shared codebase.
Project Structure
- Views: Contains XAML pages and user controls
- ViewModels: Implements the presentation logic
- Models: Defines data models and business logic
- Services: Includes data access and other services
- Resources: Stores shared resources like styles and images
Contributing
If you'd like to contribute to improving the project, please send a Pull Request. All forms of contribution are welcome!
License
This project is distributed under the MIT license. For more details, please refer to the LICENSE file.
Contact
- Website: https://jamesnet.dev
- Email: james@jamesnet.dev, vickyqu115@hotmail.com
Explore the world of cross-platform development with MAUI through this Premier League app!