차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| comfilepi:dotnet:index [2026/02/16 22:14] – [.NET 5 이상을 선택해야 하는 경우] admin | comfilepi:dotnet:index [2026/06/09 17:28] (현재) – removed admin | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| - | ====== .NET (C# & VB.Net) ====== | ||
| - | .NET 생태계는 현재 두 가지 계열로 구분됩니다. | ||
| - | |||
| - | * **“.NET Framework”** | ||
| - | → 버전 4.x까지의 기존 .NET Framework를 의미합니다. | ||
| - | |||
| - | * **“.NET”** | ||
| - | → .NET 5 이후 버전을 의미하며 (이전 명칭: .NET Core), 현재는 .NET 10까지 발전했습니다. | ||
| - | |||
| - | ComfilePi와 같은 Linux 기반 패널 PC에서는 다음과 같은 방식으로 WinForms 애플리케이션을 실행할 수 있습니다. | ||
| - | |||
| - | - .NET Framework 4 애플리케이션을 Mono 런타임에서 실행 | ||
| - | - .NET 5 이상 + Mono WinForms 포팅 라이브러리 (예: ComfileTech.WinForms) 사용 | ||
| - | |||
| - | 특별한 이유가 없다면 최신 .NET 버전을 사용하는 것을 권장합니다. | ||
| - | |||
| - | |||
| - | |||
| - | ===== .NET 5 이상을 선택해야 하는 경우 ===== | ||
| - | |||
| - | ComfilePi에서 .NET 사용 방법: | ||
| - | [[: | ||
| - | |||
| - | 다음과 같은 경우 .NET 사용을 고려할 수 있습니다. | ||
| - | |||
| - | * 신규 솔루션을 개발하는 경우 | ||
| - | * 개발자가 Linux를 지원하는 크로스플랫폼 UI 프레임워크 사용이 가능한 경우 | ||
| - | * Blazor | ||
| - | * Avalonia | ||
| - | * Uno Platform | ||
| - | * Eto.Forms | ||
| - | * Gir.Core 등 | ||
| - | * 또는 Mono WinForms 포팅 라이브러리 (ComfileTech.WinForms)를 사용할 수 있는 경우 | ||
| - | * 보다 현대적인 WinForms UI를 원한다면 jControls 라이브러리를 사용할 수 있습니다. | ||
| - | |||
| - | 애플리케이션을 다양한 플랫폼에서 실행할 수 있도록 하는 가장 좋은 방법 중 하나는 Blazor를 사용하는 것입니다. | ||
| - | UI를 하나의 .NET 어셈블리로 구성하면 웹 브라우저에서 원격 실행이 가능하며, | ||
| - | Linux 환경에서는 BlazorWebView 프로젝트를 사용할 수 있습니다. | ||
| - | |||
| - | ※ 참고: .NET MAUI는 현재 Linux를 지원하지 않습니다. | ||
| - | |||
| - | ==== 장점 ==== | ||
| - | |||
| - | * Microsoft에서 지속적으로 개발 및 유지관리 중 | ||
| - | * 매년 새로운 기능, 성능 개선, 개발 도구 향상 제공 | ||
| - | * 네이티브 컴파일 가능 → 성능 향상 및 역공학 방지 | ||
| - | * 다른 언어(C, Python 등)에서 사용할 수 있는 라이브러리 제작 가능 | ||
| - | * 크로스플랫폼 UI 프레임워크 선택 시 가장 넓은 플랫폼 지원 | ||
| - | * Windows | ||
| - | * Linux | ||
| - | * Android | ||
| - | * macOS | ||
| - | * iOS | ||
| - | * 웹 브라우저 | ||
| - | |||
| - | ==== 단점 ==== | ||
| - | |||
| - | * WinForms 사용 시 Linux에서 실행하려면 Mono WinForms 포팅 필요 | ||
| - | * 크로스플랫폼 UI 사용 시 WinForms처럼 WYSIWYG 디자이너 사용이 어려울 수 있음 | ||
| - | * WinForms Linux 실행에는 Mono 기반 라이브러리가 필요 | ||
| - | |||
| - | |||
| - | |||
| - | ===== .NET Framework 4를 선택해야 하는 경우 ===== | ||
| - | |||
| - | ComfilePi에서 .NET Framework 사용 방법: | ||
| - | |||
| - | 다음과 같은 경우 적합합니다. | ||
| - | |||
| - | * 기존 .NET Framework 2.0 ~ 4.x 애플리케이션을 Linux로 포팅해야 하는 경우 | ||
| - | * 개발자가 WinForms만 익숙하고 크로스플랫폼 UI 경험이 없는 경우 | ||
| - | |||
| - | ==== 장점 ==== | ||
| - | |||
| - | * Windows에서 네이티브 실행 가능 | ||
| - | * Linux에서는 Mono를 통해 실행 가능 | ||
| - | * WinForms 경험이 있는 개발자라면 새로운 UI 프레임워크 학습이 필요 없음 | ||
| - | |||
| - | ==== 단점 ==== | ||
| - | |||
| - | * 향후 점진적으로 지원 축소(Deprecated) 예정 | ||
| - | * Linux Mono 구현이 완벽하지 않아 추가 작업 필요할 수 있음 | ||
| - | * Windows 또는 Mono가 있는 환경에서만 실행 가능 | ||
| - | * 네이티브 컴파일 불가 → 코드 역분석 가능 | ||
| - | |||
| - | |||
| - | |||
| - | ===== .NET 5 이상과 .NET Framework 4를 동시에 지원하려면 ===== | ||
| - | |||
| - | 두 환경 모두에서 사용할 라이브러리를 개발해야 한다면 | ||
| - | **.NET Standard 2.0**을 사용하는 것이 좋습니다. | ||
| - | |||
| - | 이 경우 주로 다음과 같은 공통 유틸리티 라이브러리 개발에 적합합니다. | ||
| - | |||
| - | * Modbus 통신 | ||
| - | * GPIO 제어 | ||
| - | * I2C | ||
| - | * 시리얼 통신 | ||
| - | * TCP/IP 통신 등 | ||
| - | |||
| - | 이를 통해 애플리케이션의 이식성을 크게 높일 수 있습니다. | ||
| - | |||
| - | |||
| - | |||
| - | ===== 기술 지원 정책 ===== | ||
| - | |||
| - | COMFILE Technology는 Visual Studio 및 .NET 기술 자체에 대한 기술 지원을 제공하지 않습니다. | ||
| - | 해당 기술에 대한 지원은 Microsoft를 통해 문의하시기 바랍니다. | ||
| - | |||
| - | |||
| - | |||
| - | [[comfilepi: | ||
