This is an old revision of the document!
Table of Contents
ComfileTech.WinForms
Microsoft의 공식 WinForms는 Windows 전용 기술입니다.
ComfileTech.WinForms는 Mono의 WinForms 구현을 기반으로, 최신 .NET 환경에서 WinForms 응용 프로그램을 개발하고 실행할 수 있도록 구성한 라이브러리입니다.
ComfileTech.WinForms를 사용하면 최신 버전의 Visual Studio, .NET 및 C#을 이용하여 WinForms 응용 프로그램을 개발하고, Windows와 Linux 환경 모두에 배포할 수 있습니다. 또한 COMFILE Technology의 Windows Panel PC와 Linux Panel PC에서도 동일한 응용 프로그램을 실행할 수 있습니다.
ComfileTech.WinForms를 사용하면 Mono Runtime 전체를 별도로 설치할 필요가 없습니다.
Mono와의 차이점
Mono는 단순히 WinForms만 구현한 프로젝트가 아닙니다. .NET Framework 클래스 라이브러리, .NET 런타임, 그리고 C# 컴파일러까지 포함하는 독립적인 .NET 구현체입니다.
예를 들어 mono myapp.exe 명령으로 프로그램을 실행하면, WinForms뿐 아니라 .NET 클래스 라이브러리와 런타임까지 모두 Mono의 구현을 사용하게 됩니다.
따라서 개발 환경과 실행 환경 모두 Mono가 제공하는 기능과 호환성 범위에 의존하게 됩니다.
반면 ComfileTech.WinForms는 Mono의 WinForms 구현만을 사용합니다.
응용 프로그램은 Microsoft의 공식 .NET 런타임에서 실행되며, WinForms를 제외한 대부분의 .NET 클래스 라이브러리는 Microsoft의 공식 구현을 사용합니다.
따라서 최신 Visual Studio, 최신 .NET, 최신 C# 언어 기능을 그대로 사용할 수 있으며, Microsoft가 제공하는 최신 성능 개선, 버그 수정 및 개발 편의 기능의 혜택을 누릴 수 있습니다.
장점
- 최신 Visual Studio 사용 가능
- 최신 .NET 사용 가능
- 최신 C# 언어 기능 사용 가능
- 기존 WinForms 개발 방식 유지
- Windows와 Linux 동시 지원
- Microsoft의 공식 .NET 런타임 사용
- Mono Runtime 전체 설치 불필요
참고 사항
Mono의 WinForms 구현은 오랜 기간 발전해 온 뛰어난 오픈소스 프로젝트이며, 대부분의 WinForms 기능을 정상적으로 지원합니다.
다만 Microsoft WinForms와 100% 동일한 구현은 아니므로 일부 기능에서는 별도의 우회 방법이나 코드 수정이 필요할 수 있습니다.
또한 Windows 환경에서 정상 동작하던 일부 응용 프로그램이라도 Linux 환경에서는 동작 방식의 차이로 인해 추가 수정이 필요할 수 있습니다.
