{"id":26371464,"url":"https://github.com/jamesnetgroup/maui-premierleague","last_synced_at":"2025-03-17T00:39:14.414Z","repository":{"id":60986725,"uuid":"534513088","full_name":"JamesnetGroup/maui-premierleague","owner":"JamesnetGroup","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-08T13:01:52.000Z","size":443,"stargazers_count":34,"open_issues_count":0,"forks_count":10,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-09T20:34:05.534Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JamesnetGroup.png","metadata":{"files":{"readme":"README.ko.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["jamesnet214"]}},"created_at":"2022-09-09T05:39:33.000Z","updated_at":"2025-02-17T04:08:23.000Z","dependencies_parsed_at":"2024-04-08T01:54:52.454Z","dependency_job_id":"231589b2-bb2c-4b29-8540-6e3f0f013768","html_url":"https://github.com/JamesnetGroup/maui-premierleague","commit_stats":null,"previous_names":["jamesnetgroup/maui-premierleague","jameslee214/maui-premierleague"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesnetGroup%2Fmaui-premierleague","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesnetGroup%2Fmaui-premierleague/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesnetGroup%2Fmaui-premierleague/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesnetGroup%2Fmaui-premierleague/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamesnetGroup","download_url":"https://codeload.github.com/JamesnetGroup/maui-premierleague/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243955737,"owners_count":20374372,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-17T00:39:13.849Z","updated_at":"2025-03-17T00:39:14.407Z","avatar_url":"https://github.com/JamesnetGroup.png","language":"C#","funding_links":["https://github.com/sponsors/jamesnet214"],"categories":[],"sub_categories":[],"readme":"# Premier League MAUI App  [![英文](https://img.shields.io/badge/Language-English-blue.svg)](README.md) [![中文](https://img.shields.io/badge/Language-中文-red.svg)](README.zh-CN.md) [![韩文](https://img.shields.io/badge/Language-한국어-green.svg)](README.ko.md)\n\n.NET MAUI를 사용하여 구현한 크로스 플랫폼 Premier League 학습용 앱\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![.NET](https://img.shields.io/badge/.NET-8.0-blue.svg)](https://dotnet.microsoft.com/download)\n[![Stars](https://img.shields.io/github/stars/jamesnet214/maui-premierleague.svg)](https://github.com/jamesnet214/maui-premierleague/stargazers)\n[![Issues](https://img.shields.io/github/issues/jamesnet214/maui-premierleague.svg)](https://github.com/jamesnet214/maui-premierleague/issues)\n\n## 프로젝트 개요\n\n이 Premier League 앱은 .NET MAUI(다중 플랫폼 앱 UI)를 사용하여 구현된 학습 중심 프로젝트입니다. 특히 WPF에서 크로스 플랫폼 개발로 전환하는 개발자들이 MAUI와 WPF 사이의 유사점과 차이점을 이해하는 데 좋은 예시가 됩니다.\n\n\u003cimg width=\"400\" alt=\"Tables\" src=\"https://user-images.githubusercontent.com/52397976/193004770-75654ac4-ab56-4f4d-bd63-416110b94b18.png\"\u003e \u003cimg width=\"400\" alt=\"Results\" src=\"https://user-images.githubusercontent.com/52397976/193004945-4a76f3e2-3583-47e7-aef3-3dc10a265d3e.png\"\u003e\n\n## 주요 기술 및 구현 사항\n\n#### 1. MVVM 아키텍처\n- [x] 서드파티 프레임워크 없이 순수 MVVM 구현\n- [x] 데이터 바인딩 및 커맨드의 적절한 사용\n\n#### 2. UI 컴포넌트 및 스타일링\n- [x] 네비게이션을 위한 TabBar 구현\n- [x] 효율적인 리스트 렌더링을 위한 CollectionView 사용\n- [x] 유연한 UI 디자인을 위한 사용자 정의 DataTemplate\n- [x] 내장 테마 구현\n\n#### 3. 크로스 플랫폼 디자인\n- [x] 다양한 화면 크기에 대응하는 반응형 레이아웃\n- [x] 필요한 경우 플랫폼별 적응\n\n#### 4. 리소스 관리\n- [x] 확장 가능한 그래픽을 위한 .svg 리소스 활용\n- [x] 사용자 정의 모양을 위한 Geometry 구현\n\n#### 5. MAUI 특화 기능\n- [x] MAUI 특화 컨트롤 및 API 탐구\n- [x] 네이티브 기능을 위한 플랫폼 호출(P/Invoke) 시연\n\n## 기술 스택\n- .NET 8.0\n- .NET MAUI\n- C# 10.0\n- MVVM (Model-View-ViewModel) 패턴\n\n## 시작하기\n\n### 필요 조건\n- Visual Studio 2022 이상 (Windows용)\n- JetBrains Rider (Windows 또는 macOS용)\n- .NET 8.0 SDK\n- MAUI 워크로드 설치\n\n### 설치 및 실행\n#### 1. 리포지토리 클론:\n\n```\ngit clone https://github.com/jamesnet214/maui-premierleague.git\n```\n\n#### 2. 솔루션 열기\n- [x] Visual Studio (Windows 전용)\n- [x] JetBrains Rider (Windows 및 macOS)\n\n\u003cimg src=\"https://github.com/user-attachments/assets/af70f422-7057-4e77-a54d-042ee8358d2a\" width=\"24%\"/\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/e4feaa10-a107-4b58-8d13-1d8be620ec62\" width=\"24%\"/\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/5ff487f6-55e4-43e1-9abf-f8d419ee6943\" width=\"24%\"/\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/153143f8-2e76-4dca-b056-2a405aaf6a78\" width=\"24%\"/\u003e\n\n#### 3. 빌드 및 실행\n- [x] Windows 11\n- [x] macOS\n- [x] iOS (시뮬레이터 또는 실제 기기)\n- [x] Android (에뮬레이터 또는 실제 기기)\n\n## WPF 개발자를 위한 학습 포인트\n\n1. **친숙한 XAML**: MAUI는 XAML을 사용하므로 WPF 개발자가 쉽게 전환할 수 있습니다.\n2. **크로스 플랫폼 고려사항**: 다양한 플랫폼에서 작동하는 UI 설계 방법을 학습합니다.\n3. **모바일 우선 접근**: 데스크톱 중심에서 모바일 우선 디자인으로의 전환을 이해합니다.\n4. **성능 최적화**: 모바일 기기에서의 앱 성능 최적화 기법을 탐구합니다.\n5. **플랫폼별 기능**: 공유 코드베이스를 유지하면서 플랫폼별 기능을 구현하는 방법을 학습합니다.\n\n## 프로젝트 구조\n\n- **Views**: XAML 페이지 및 사용자 컨트롤 포함\n- **ViewModels**: 프레젠테이션 로직 구현\n- **Models**: 데이터 모델 및 비즈니스 로직 정의\n- **Services**: 데이터 액세스 및 기타 서비스 포함\n- **Resources**: 스타일 및 이미지와 같은 공유 리소스 저장\n\n## 기여하기\n\n프로젝트 개선에 기여하고 싶으시다면 Pull Request를 보내주세요. 모든 형태의 기여를 환영합니다!\n\n## 라이선스\n\n이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 [LICENSE](https://github.com/jamesnet214/maui-premierleague/blob/main/LICENSE) 파일을 참조하세요.\n\n## 연락처\n- 웹사이트: https://jamesnet.dev\n- 이메일: james@jamesnet.dev, vickyqu115@hotmail.com\n\n이 Premier League 앱을 통해 MAUI의 크로스 플랫폼 개발 세계를 탐험해보세요!\n\n## 추가 자료\n\n[.NET Conf 2022.09 by .NET Dev](https://www.youtube.com/watch?v=Z6Z3qgHYaOg\u0026t=16427s)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesnetgroup%2Fmaui-premierleague","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamesnetgroup%2Fmaui-premierleague","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesnetgroup%2Fmaui-premierleague/lists"}