{"id":26371462,"url":"https://github.com/jamesnetgroup/riotslider-opensilver","last_synced_at":"2025-09-11T01:41:08.647Z","repository":{"id":212653464,"uuid":"731816123","full_name":"JamesnetGroup/riotslider-opensilver","owner":"JamesnetGroup","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-08T10:53:27.000Z","size":295,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-09T20:34:05.544Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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":"2023-12-15T00:21:36.000Z","updated_at":"2024-12-10T08:12:49.000Z","dependencies_parsed_at":"2023-12-15T12:55:11.653Z","dependency_job_id":"fcab9133-3d0e-4c51-8338-fea92379fe36","html_url":"https://github.com/JamesnetGroup/riotslider-opensilver","commit_stats":null,"previous_names":["jamesnet214/riotslider","jamesnet214/riotslider-opensilver","jamesnetgroup/riotslider-opensilver"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesnetGroup%2Friotslider-opensilver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesnetGroup%2Friotslider-opensilver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesnetGroup%2Friotslider-opensilver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesnetGroup%2Friotslider-opensilver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamesnetGroup","download_url":"https://codeload.github.com/JamesnetGroup/riotslider-opensilver/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.193Z","updated_at":"2025-03-17T00:39:13.816Z","avatar_url":"https://github.com/JamesnetGroup.png","language":"JavaScript","funding_links":["https://github.com/sponsors/jamesnet214"],"categories":[],"sub_categories":[],"readme":"# OpenSilver RiotSlider [![英文](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\n리그 오브 레전드에서 영감을 받은 슬라이더의 OpenSilver를 이용한 크로스 플랫폼 구현\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-7.0+-blue.svg)](https://dotnet.microsoft.com/download)\n[![OpenSilver](https://img.shields.io/badge/OpenSilver-2.0-brightgreen.svg)](https://opensilver.net/)\n[![Stars](https://img.shields.io/github/stars/jamesnet214/riotslider-opensilver.svg)](https://github.com/jamesnet214/riotslider-opensilver/stargazers)\n[![Issues](https://img.shields.io/github/issues/jamesnet214/riotslider-opensilver.svg)](https://github.com/jamesnet214/riotslider-opensilver/issues)\n\n## 프로젝트 개요\n\nOpenSilver RiotSlider는 리그 오브 레전드에서 영감을 받은 커스텀 슬라이더 컨트롤을 OpenSilver를 사용하여 크로스 플랫폼으로 구현한 프로젝트입니다. 이 프로젝트는 WPF 개발자들이 기존의 XAML과 C# 기술을 활용하여 WebAssembly 기술을 사용한 웹 애플리케이션을 만들 수 있음을 보여줍니다.\n\n\u003cimg src=\"https://github.com/user-attachments/assets/7d4d9dd5-5858-4a25-a7fc-b449fdb34eb5\" width=\"49%\"/\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/84f8f5d5-f220-4408-bfc6-aa29af6ae1f9\" width=\"49%\"/\u003e\n\n## 주요 기능 및 구현 사항\n#### 1. 크로스 플랫폼 개발\n- [x] WebAssembly 기반 웹 애플리케이션을 위한 OpenSilver 활용\n- [x] WPF 개발자의 웹 개발로의 원활한 전환\n- [x] XAML 기반의 일관된 개발 경험\n\n#### 2. 커스텀 컨트롤 개발\n- [x] CustomControl로 RiotSlider 구현\n- [x] 유연하고 사용자 정의 가능한 디자인을 위한 ControlTemplate 사용\n- [x] 웹 컨텍스트에서의 고급 XAML 기술 시연\n\n#### 3. WPF 영감 아키텍처\n- [x] 웹 개발에서 WPF 디자인 패턴 활용\n- [x] OpenSilver에서 MVVM의 강력함 showcase\n- [x] 강력한 속성 시스템을 위한 DependencyProperties 활용\n\n#### 4. 웹 최적화 성능\n- [x] 웹 환경에 맞춘 효율적인 렌더링\n- [x] WebAssembly 실행을 위한 최적화\n\n#### 5. 개발 워크플로우\n- [x] 쉬운 디버깅과 테스트를 위한 OpenSilver Simulator 사용\n- [x] 기존 .NET 개발 도구와의 원활한 통합\n\n## 기술 스택\n- OpenSilver 2.0+\n- .NET 7.0+\n- C# 10.0\n- XAML\n\n## 시작하기\n### 필요 조건\n- Visual Studio 2022 이상\n- .NET 7.0 SDK 이상\n- Visual Studio용 OpenSilver 확장\n\n\u003cimg src=\"https://github.com/user-attachments/assets/af70f422-7057-4e77-a54d-042ee8358d2a\" width=\"32%\"/\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/f2e8c10f-1690-47a3-b748-cbe54e0d9d72\" width=\"32%\"/\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/227f7522-d30e-4ac7-a3e5-ef264b04fb29\" width=\"32%\"/\u003e\n\n### 설치 및 실행\n#### 1. 리포지토리 클론:\n\n```\ngit clone https://github.com/jamesnet214/riotslider-opensilver.git\n```\n\n#### 2. 솔루션 열기\n- [x] Visual Studio\n\n#### 3. 설정 및 실행\n- [x] OpenSilverRiotSlider.Browser를 시작 프로젝트로 설정\n- [x] 프로젝트 빌드 및 실행\n- [x] 디버깅을 위해 OpenSilverRiotSlider.Simulator 사용\n\n## 학습 기회\n이 프로젝트는 WPF 개발자가 웹 개발로 전환할 때 귀중한 통찰력을 제공합니다:\n1. **웹 개발에서의 XAML**: 친숙한 XAML을 웹 컨텍스트에서 사용하는 방법 학습\n2. **OpenSilver에서의 CustomControl**: 웹용 커스텀 컨트롤 생성의 뉘앙스 이해\n3. **WebAssembly 통합**: WebAssembly를 통해 브라우저에서 .NET 애플리케이션을 실행하는 방법 탐구\n4. **크로스 플랫폼 UI 디자인**: 플랫폼 간 일관된 UI를 만드는 기술 습득\n5. **성능 최적화**: 웹 환경을 위한 XAML 기반 컨트롤 최적화 학습\n\n## 기여하기\nOpenSilver RiotSlider에 대한 기여를 환영합니다! 이슈 제출, 풀 리퀘스트 생성 또는 개선 제안 등 자유롭게 참여해 주세요.\n\n## 라이선스\n이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 [LICENSE](LICENSE) 파일을 참조하세요.\n\n## 연락처\n- 웹사이트: https://jamesnet.dev\n- 이메일: james@jamesnet.dev, vickyqu115@hotmail.com\n\nOpenSilver RiotSlider와 함께 크로스 플랫폼 개발의 가능성을 탐험해보세요!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesnetgroup%2Friotslider-opensilver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamesnetgroup%2Friotslider-opensilver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesnetgroup%2Friotslider-opensilver/lists"}