C# - Window Forms 앱(Winform) / WPF / .NET

반응형

 

C# 프로젝트 생성시 무엇으로 개발해야할지 바로 알기

 

Window Forms 앱 (Winform)

  • 폼이 시각적으로 보여 직관적으로 디자인을 할 수 있음
  • 디자인이 가능한 도구 상자를 이용하여 드래그 앤 드롭 형식으로 폼 디자인 작업 수행
  • 폼에 생성된 UI 객체는 자동으로 코드가 생성되어 초보자도 쉽게 배울 수 있음
  • 디자인코드와 소스코드가 따로 존재
    • 디자인 영역의 코드 재사용이 어려움
  • Window 표준 인터페이스에 의존

WPF (Window Presentation Foundation)

  • Windows Form 앱의 한계를 해결하기 위한 프레임워크
  • 컨트롤을 상속한 다양한 컨트롤 생성
  • 디자인을 xaml 코드를 이용하여 작업 수행
    • 디자인 영역(xaml) 업무 분담 가능
  • 데이터와 레이아웃을 구분해서 바인딩
  • Windows Form에 비해 웹 확장 용이
  • Window 표준 인터페이스에 의존하지 않음
    • Winform보다 더 다양한 UI 디자인 가능
  • MVVM 패턴을 사용
 

MVVM 패턴 (Model View ViewModel)

MVVM 패턴이란? (Model-View-ViewModel) 소프트웨어 아키텍처 패턴으로 그래픽 인터페이스(뷰)와 비즈니스 또는 백엔드 로직(모델)을 분리 뷰가 특정 모델에 종속되지 않음 뷰 모델은 뷰에 대한 참조를

luvris2.tistory.com


.NET (=.NET Core)

(NET Core는 5버전부터 .NET으로 이름 바꿈)

  • 윈도우가 아닌 다른 운영체제에서 닷넷을 사용 할 수 있게 하는 프로젝트
  • 크로스 플랫폼 지원 (windows, mac, linux, ios, android)
  • C#, Visual Basic.NET, F#, ASP.NET Core 를 사용하여 개발
  • .NET Standard를 통해 .NET Framework 호환
    • .NET Standard : .NET Framework와 .NET Core의 표준

.NET Framework

  • FCL과 CLR을 합친 프레임워크
  • FCL(Framework Class Library)
    • NET Framework를 대상으로 하는 모든 언어가 사용 할 수 있는 클래스들의 라이브러리
  • CLR(Common Language Runtime)
    • 공통 언어 런타임 클래스, 보안과 메모리 관리, 기타 핸들링 역할을 제공하는 가상머신
  • Window 기반의 프로그램 실행 지원

찾아보면서 느낀점

개인적인 생각입니다.

Winform : WPF에 비해 개발자 수요 많지만 지배적인건 Java와 웹기반이다?

WPF : 개발자 수요가 적지만 Winform보다 더 이쁜 디자인의 프로그램을 제작 할 수 있다?

.NET : 한 번의 개발로 여러 플랫폼에서 사용 할 수 있다. 성능이 좋다?

.NET Framework : 플랫폼 제한과 지원이 적다?


참고

나무위키 - Microsoft .NET 

https://namu.wiki/w/Microsoft%20.NET#s-3

AWS - .NET이란 무엇인가요?

https://aws.amazon.com/ko/what-is/net/

반응형