반응형
C# 프로젝트 생성시 무엇으로 개발해야할지 바로 알기
Window Forms 앱 (Winform)
- 폼이 시각적으로 보여 직관적으로 디자인을 할 수 있음
- 디자인이 가능한 도구 상자를 이용하여 드래그 앤 드롭 형식으로 폼 디자인 작업 수행
- 폼에 생성된 UI 객체는 자동으로 코드가 생성되어 초보자도 쉽게 배울 수 있음
- 디자인코드와 소스코드가 따로 존재
- 디자인 영역의 코드 재사용이 어려움
- Window 표준 인터페이스에 의존
WPF (Window Presentation Foundation)
- Windows Form 앱의 한계를 해결하기 위한 프레임워크
- 컨트롤을 상속한 다양한 컨트롤 생성
- 디자인을 xaml 코드를 이용하여 작업 수행
- 디자인 영역(xaml) 업무 분담 가능
- 데이터와 레이아웃을 구분해서 바인딩
- Windows Form에 비해 웹 확장 용이
- Window 표준 인터페이스에 의존하지 않음
- Winform보다 더 다양한 UI 디자인 가능
- MVVM 패턴을 사용
- MVVM 패턴을 자세히 알고 싶으면 아래의 포스팅을 확인해주세요.
- https://luvris2.tistory.com/348
.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이란 무엇인가요?
반응형