-
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b6c411d
commit 6d8a6b4
Showing
1 changed file
with
93 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,103 @@ | ||
# Premier League | ||
This repository is a sample app implemented by MAUI. | ||
# Premier League MAUI App [![English](https://img.shields.io/badge/Language-English-blue.svg)](README.md) [![한국어](https://img.shields.io/badge/Language-한국어-red.svg)](README.ko.md) | ||
|
||
### Specifications | ||
- Microsoft .NET 6 Core | ||
- MacOS (MacbookPro 14 M1) | ||
- Visual Studio 2022 for Mac | ||
- iPhone X (Test Device) | ||
A cross-platform Premier League app implemented with .NET MAUI for learning purposes | ||
|
||
___Important___ | ||
- MVVM (pure) | ||
- Built in Theme | ||
- TabBar | ||
- CollectionView | ||
- DataTemplate | ||
- Geometry | ||
- .svg resource | ||
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) | ||
[![.NET](https://img.shields.io/badge/.NET-8.0-blue.svg)](https://dotnet.microsoft.com/download) | ||
[![Stars](https://img.shields.io/github/stars/jamesnet214/maui-premierleague.svg)](https://github.com/jamesnet214/maui-premierleague/stargazers) | ||
[![Issues](https://img.shields.io/github/issues/jamesnet214/maui-premierleague.svg)](https://github.com/jamesnet214/maui-premierleague/issues) | ||
|
||
## Screenshot | ||
___Tables___ | ||
## Project Overview | ||
|
||
<img width="400" alt="스크린샷 2022-09-29 오후 7 11 11" src="https://user-images.githubusercontent.com/52397976/193004770-75654ac4-ab56-4f4d-bd63-416110b94b18.png"> | ||
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 width="400" alt="Tables" src="https://user-images.githubusercontent.com/52397976/193004770-75654ac4-ab56-4f4d-bd63-416110b94b18.png"> <img width="400" alt="Results" src="https://user-images.githubusercontent.com/52397976/193004945-4a76f3e2-3583-47e7-aef3-3dc10a265d3e.png"> | ||
|
||
___Results___ | ||
## Key Technologies and Implementations | ||
|
||
<img width="400" alt="스크린샷 2022-09-29 오후 7 11 11" src="https://user-images.githubusercontent.com/52397976/193004945-4a76f3e2-3583-47e7-aef3-3dc10a265d3e.png"> | ||
#### 1. MVVM Architecture | ||
- [x] Pure MVVM implementation without third-party frameworks | ||
- [x] Proper use of data binding and commands | ||
|
||
## Video | ||
#### 2. UI Components and Styling | ||
- [x] TabBar implementation for navigation | ||
- [x] Use of CollectionView for efficient list rendering | ||
- [x] Custom DataTemplates for flexible UI design | ||
- [x] Implementation of built-in themes | ||
|
||
#### 3. Cross-Platform Design | ||
- [x] Responsive layouts for various screen sizes | ||
- [x] Platform-specific adaptations where necessary | ||
|
||
#### 4. Resource Management | ||
- [x] Utilization of .svg resources for scalable graphics | ||
- [x] Implementation of Geometry for custom shapes | ||
|
||
#### 5. MAUI-specific Features | ||
- [x] Exploration of MAUI-specific controls and APIs | ||
- [x] 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 | ||
- [x] Visual Studio (Windows only) | ||
- [x] JetBrains Rider (Windows and macOS) | ||
|
||
#### 3. Build and Run | ||
- [x] Windows 11 | ||
- [x] macOS | ||
- [x] iOS (via simulator or physical device) | ||
- [x] Android (via emulator or physical device) | ||
|
||
## Learning Points for WPF Developers | ||
|
||
1. **Familiar XAML**: MAUI uses XAML, making it easier for WPF developers to transition. | ||
2. **Cross-Platform Considerations**: Learn how to design UIs that work across different platforms. | ||
3. **Mobile-First Approach**: Understand the shift from desktop-centric to mobile-first design. | ||
4. **Performance Optimization**: Explore techniques for optimizing app performance on mobile devices. | ||
5. **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](https://github.com/jamesnet214/maui-premierleague/blob/main/LICENSE) file. | ||
|
||
## Contact | ||
- Website: https://jamesnet.dev | ||
- Email: [email protected], [email protected] | ||
|
||
Explore the world of cross-platform development with MAUI through this Premier League app! | ||
|
||
## Additional Resources | ||
|
||
[.NET Conf 2022.09 by .NET Dev](https://www.youtube.com/watch?v=Z6Z3qgHYaOg&t=16427s) |