Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
winforms:index [2026/06/09 14:53] – [시작하기] adminwinforms:index [2026/06/09 19:51] (current) – [시작하기] admin
Line 1: Line 1:
 ====== ComfileTech.WinForms ====== ====== ComfileTech.WinForms ======
  
-ComfileTech.WinForms는 [[https://gitlab.winehq.org/mono/mono/-/tree/main/mcs/class/System.Windows.Forms|Mono의 WinForms 구현]]을 최신 .NET 환경에서 사용할 수 있도록 패키징한 라이브러리입니다. 
  
-ComfileTech.WinForms를 사용면 최신 전의 Visual Studio.NET 및 C#을 이용하여 WinForms 응용 프로그램을 개발하고, Windows와 Linux 환경 모두에 배포할 수 있습니다. 또한 COMFILE Technology의 Windows Panel PC와 Linux Panel PC서도 동일한 응용 프로그램을 실행할 수 있습니다.+WinForms는 Windows 응용 프로그램을 만들 때 오랫동안 사용되어 온 화면 구성 기술입니다. 입력창, 표, 메뉴와 같은 일반적인 화면 요소를 이용하여 프로그램을 만들 수 있기 때문, 산업용 장비 설정 프로그램, 모니터링 프로그램, HMI 소프트웨어 등 다양한 분야에서 널리 사용되어 왔습니다.
  
-ComfileTech.WinForms를 사용하면 더 상 Mono Runtime을 별도로 설치할 필요가 없습니다.+하지만 Microsoft의 공식 WinForms는 Windows 전용 기술입니다. 따라서 일반적인 WinForms 프로그램은 Linux가 탑재된 장치에서 그대로 실행할 수 없습니다. 
 + 
 +ComfileTech.WinForms는 이러한 문제를 해결하기 위해 준비된 라이브러리입니다. 개발자는 최신 Visual Studio와 최신 .NET 환경에서 기존과 동일한 방식으로 WinForms 응용 프로그램을 개발할 수 있으며, 완성된 프로그램은 Windows뿐만 아니라 Linux 환경에서도 실행할 수 있습니다. 즉, 하나의 WinForms 응용 프로그램을 COMFILE Technology의 Windows Panel PC와 Linux Panel PC에서 모두 용할 수 있습니다. 
 + 
 +===== ComfileTech.WinForms 소개 ===== 
 + 
 +ComfileTech.WinForms는 Mono의 WinForms 구현을 기반으로 제작된 크로스 플랫폼 WinForms 라이브러리입니다. 이를 이용하면 최신 Visual Studio, 최신 .NET 및 최신 C# 환경에서 WinForms 응용 프로그램을 개발하고, Windows와 Linux 환경에 동일한 프로그램을 배포할 수 있습니다. 
 + 
 +또한 COMFILE Technology의 Windows Panel PC와 Linux Panel PC에서도 동일한 응용 프로그램을 실행할 수 있습니다. ComfileTech.WinForms는 Mono Runtime 전체를 사용하는 방식이 아니므로, Mono Runtime 전체를 별도로 설치할 필요가 없습니다.
  
 ===== Mono와의 차이점 ===== ===== Mono와의 차이점 =====
  
-Mono는 단순히 WinForms만 구현한 프로젝트가 아닙니다. .NET Framework 클래스 라이브러리, .NET 런타임, 그리고 C# 컴파일러까지 포함하는 독립적인 .NET 구현체입니다.+Mono는 단순히 WinForms만 구현한 프로젝트가 아닙니다. Mono는 .NET 런타임, .NET 클래스 라이브러리, C# 컴파일러 등을 포함하는 독립적인 .NET 구현체입니다. 
 + 
 +예를 들어 ''mono myapp.exe'' 명령으로 프로그램을 실행하면, WinForms뿐 아니라 .NET 런타임과 클래스 라이브러리까지 모두 Mono의 구현을 사용하게 됩니다. 따라서 개발 환경과 실행 환경 모두 Mono가 제공하는 기능과 호환성 범위에 의존하게 됩니다.
  
-예를 들어 ''mono myapp.exe'' 명령으로 프로그램을 실행하면, WinForms뿐 아니라 .NET 클래스 라이브러리와 런타임까지 모두 Mono의 구현을 사용하게 됩니다. 따라서 Mono가 지원하는 범위 내에서만 개발할 수 있으며, 일반적으로 .NET Framework 4.x, .NET Standard 2.0, C# 7.3 수준에 제한됩니다.+반면 ComfileTech.WinForms는 Mono의 WinForms 구현만을 사용합니다. 응용 프로그램은 Microsoft의 공식 .NET 런타임에서 실행되며, WinForms를 제외한 대부분의 .NET 클래스 라이브러리는 Microsoft의 공식 구현을 그대로 사용니다.
  
-반면 ComfileTech.WinForms는 Mono의 WinForms 구현만을 사용니다.+따라서 최신 Visual Studio, 최신 .NET, 최신 C# 언어 기능을 사용할 수 있으며, Microsoft가 제공하는 성능 개선, 버그 수정 및 개발 편의 기능의 혜택도 그대로 누릴 수 있습니다.
  
-WinForms를 제외한 모든 .NET 클래스 라이브러리는 Microsoft의 공식 .NET 라이브러리를 사용하며, 프로그램 역시 Microsoft의 공식 .NET 런타임에서 실행됩니다.+===== 장점 =====
  
-따라서 최신 Visual Studio최신 .NET최신 C# 언어 기능을 그대로 사용할 수 있으며, Microsoft가 제공하는 최신 성능 개선, 버그 수정 및 개발 의 기능의 혜택을 누릴 수 있습니다.+  * 최신 Visual Studio 사용 가능 
 +  * 최신 .NET 사용 가능 
 +  * 최신 C# 언어 기능 사용 가능 
 +  * 기존 WinForms 개발 방식 유지 
 +  * Windows와 Linux 동시 지원 
 +  * Microsoft의 공식 .NET 런타임 사용 
 +  * Mono Runtime 전체 설치 불필요
  
 ===== 참고 사항 ===== ===== 참고 사항 =====
  
-Mono의 WinForms 구현은 우 뛰어난 오픈소스 프로젝트이며 대부분의 WinForms 기능을 정상적으로 지원합니다.+Mono의 WinForms 구현은 오랜 기간 발전해 온 수한 오픈소스 프로젝트이며대부분의 WinForms 기능을 정상적으로 지원합니다.
  
-다만 Microsoft WinForms와 100% 동일한 구현은 아니므로 일부 기능에서는 별도의 우회 방법이 필요할 수 있습니다.+다만 Microsoft WinForms와 100% 동일한 구현은 아니므로 일부 기능에서는 별도의 우회 방법이나 코드 수정이 필요할 수 있습니다. 또한 Windows 환경에서 정상 동작하던 일부 응용 프로그램이라도 Linux 환경에서는 운영체제의 차이로 인해 추가 수정이 필요할 수 있습니다.
  
 ===== 시작하기 ===== ===== 시작하기 =====
Line 31: Line 46:
   * [[.:runtime_environment:index|실행 환경 구성하기]]   * [[.:runtime_environment:index|실행 환경 구성하기]]
  
-[[..:index|JPC (임베디드 리눅스 Panel PC)]]