2020 년에 살펴볼 5 가지 Microsoft 개발자 도구 및 기술

2019 년 말에는 애플리케이션 개발 계획과 기술 로드맵을 작성하면서 앞을 내다 볼 가치가 있습니다. 지난 몇 년 동안 Microsoft의 많은 플랫폼을 구축하는 모든 사람에게 많은 변화를 가져 왔으며 그 속도는 느려지지 않습니다.

2020 년에 무엇을 살펴보아야하며 그 이유는 무엇입니까? 다음은 Windows, Azure 등을위한 5 가지 옵션입니다. 그들 만이 유일한 것은 아니지만 더 현대적인 개발 플랫폼 및 도구 세트로가는 길에서 시작해야합니다.

.NET 5 로의 전환 시작

.NET 코드를 빌드하는 모든 사람이 직면 한 가장 큰 문제는 2020 년 말에 .NET 5가 출시됨에 따라 노후화 된 .NET Framework에서 .NET Core 로의 변화 일 것입니다. 일부 오래된 API를 잃어 버릴 필요가 없습니다. Microsoft는 .NET GitHub 리포지토리에서 전환을 수행 할 것과하지 않을 것의 목록을 발표했습니다. 누락 된 API 중 일부는 커뮤니티 구현으로 이동하고 다른 일부는 더 현대적인 대안을 얻습니다.

.NET Framework 코드를 지원하고 개발하는 경우 2020 년은 향후 코드가 어떻게 제공 될지 살펴볼 수있는 좋은 기회를 제공합니다. 현재 .NET Core 3.1 릴리스는 장기 지원 버전이며 .NET Standard 라이브러리와 함께 .NET 5에 포함될 많은 API를 지원합니다. 코드를 .NET Core 3.1로 이식하면 탐색 할 수있는 기회가 제공됩니다. 코드를 변경해야 할뿐만 아니라 새로운 툴체인을 구축해야합니다.

.NET Core의 미래는 WebAssembly의 Blazor와 ASP.NET 및 Razor를 통한 서버 측의 크로스 플랫폼입니다. Windows, macOS 및 Linux의 .NET Core 모바일 장치에서 Xamarin을 사용합니다. .NET 5로 코드를 이동하는 것은 향후 Windows 릴리스를 지원하는 것뿐만 아니라 더 많은 플랫폼과 사용자에게 코드를 제공 할 수있는 기회입니다.

WinUI 3.0 탐색 시작

2020 년은 Windows 플랫폼이 변경되는시기입니다. Microsoft는 마침내 Windows SDK를 두 가지로 분할합니다. UI 구성 요소를 WinUI로 분리하고 OS 수준 기능은 그대로 둡니다. 다가오는 WinUI 3.0 릴리스에서 UI 구성 요소는 OS와 다른 케이던스로 제공 될 수 있으며 릴리스 될 때 새로운 컨트롤을 추가 할 수 있습니다. Windows 10에서 Win32 및 WinForms 앱과 UWP (유니버설 Windows 플랫폼) 애플리케이션에서 사용할 수 있도록 지원됩니다.

WinUI는 Uno Platform과의 파트너십을 통해 새로운 Chromium 기반 Edge와 같은 최신 브라우저에서도 지원되며, 제어 기능을 WebAssembly로 포팅하여 WinUI가 훨씬 더 많은 사용자에게 도달 할 수 있습니다. 기존 UWP 애플리케이션은 최소한의 변경으로 WinUI 3.0을 사용할 수 있으며 C ++ 코드는 새로운 컨트롤을 사용하여 Microsoft의 Fluent 디자인 언어에 대한 지원을 추가 할 수 있습니다.

클라우드 네이티브 애플리케이션에 AKS 사용

최신 클라우드 애플리케이션을 구축하는 것은 분산 된 마이크로 서비스 기반 애플리케이션을 구축하고, 필요할 때 언제 어디서든 컨테이너화 된 코드를 배포하고, 수요에 대응하기 위해 리소스를 관리하는 것을 의미합니다. 이 모든 것이 확장 및 배포를 관리하기 위해 오케 스트레이터가 필요합니다. Kubernetes를 직접 구현하여 kubectl 및 YAML 구성 파일의 핵심을 살펴볼 수 있습니다. 그러나 Azure에는 Linux 및 Windows 컨테이너 모두에 대해 Azure Kubernetes Service를 사용한 관리 형 옵션이 있습니다.

이렇게하면 익숙한 Azure 포털을 사용하여 Azure 고유의 네트워킹 기능에 액세스하고 HashiCorp의 Terraform과 같은 도구로 작업 할 수있는 기능을 통해 컨테이너화 된 애플리케이션 및 서비스 배포를 단순화합니다. 다른 옵션에는 리소스에 대한 액세스를 잠그고 보안 노출을 줄이는 역할 기반 액세스 제어가 포함됩니다.

AKS는 Kubernetes 클러스터를 자동으로 확장 및 축소하고 Azure의 모니터링 도구와 통합되므로 서비스 작업을 면밀히 관찰 할 수 있습니다. 그 결과 세분화 된 제어를 위해 Kubernetes 도구를 사용하여 관리 할 수있는 순수 Kubernetes 플랫폼과 다른 Azure 서비스에 대한 관리 액세스가있는 친숙한 Azure Portal이 혼합되어 있습니다. 이러한 서비스 통합은 예를 들어 영구 데이터를 위해 Azure 저장소에 직접 액세스하고 Azure의 자체 컨테이너 레지스트리를 지원하여 Kubernetes 작업을 단순화 할 수 있습니다.

Azure에서 Kubernetes 애플리케이션을 빌드하는 경우 특히 Azure Dev Spaces와 같은 서비스를 고려할 때 실제로 대안이 없습니다. AKS를 기반으로 구축 된 Dev Spaces는 프로덕션 서비스에 영향을주지 않고 클라우드 네이티브 코드를 빌드, 테스트 및 디버깅 할 수있는 안전한 비공개 환경을 제공합니다.

WSL 2 및 Docker를 사용하여 랩톱에서 클라우드 용으로 개발

얼마 전 개발자 행사에서 빛나는 Apple 로고 만 볼 수있었습니다. 이제 Microsoft는 개발자를 Windows로 되돌리기 위해 노력하여 훨씬 더 혼합 된 라인업이되었습니다. Python, Visual Studio Code에서 쉽게 사용자 지정할 수있는 프로그래머 용 편집기, 새로운 Windows 터미널 및 대부분의 중요한 것은 WSL (Linux 용 Windows 하위 시스템)입니다.

처음에 Linux 커널을 에뮬레이트하는 WSL은 곧 Windows와 함께 실행되는 자체 Linux 커널로 업그레이드됩니다. PC에서 클라우드 애플리케이션을 더 간단하게 빌드하고 테스트 할 수 있도록하기 위해 WSL 2에는 Windows에서 액세스 할 수있는 Linux 파일 시스템과 Visual Studio Code를 사용한 원격 편집 지원도 포함됩니다. Docker는 WSL 2 용 Docker Desktop의 버전 테스트를 시작했습니다. 이렇게하면 익숙한 dockerfile을 사용하여 로컬 컨테이너 인스턴스를 빌드하고 배포하고 코드를 해당 콘텐츠로 직접 작업 할 수있는 기본 Linux 컨테이너 지원이 Windows에 추가됩니다.

Windows, Linux 및 Docker의 조합은 각 플랫폼을 완전히 사용하고 공통 리포지토리에 코드를 제공하면서 원하는 방식으로 작업 할 수있는 유연성을 제공하는 강력한 엔드-투-엔드 개발 도구 세트를 구성하기위한 유연한 기반을 제공합니다.

Azure Sphere로 IoT 보안

보안 IoT를위한 Microsoft의 플랫폼 인 Azure Sphere를 마지막으로 살펴본 지 오래되었습니다. 하드웨어 기반 보안을 맞춤형 Linux 커널 및 클라우드 호스팅 관리 플랫폼과 혼합하는 것은 하드웨어에서 실행되는 운영 체제 및 애플리케이션이 변조되지 않았으며 해당 코드를 변경하거나 삽입 할 수 없도록하는 방법입니다. 악의적 인 제 3 자에 의해.

마이크로 소프트의 보안 ARM 마이크로 컨트롤러를 사용하는 개발 보드는 얼마 동안 사용 가능했으며 최근에는 더 저렴한 대안이 추가되었습니다. 이제 Azure Sphere를 제품에서 사용할 준비가되었으며 이제 프로덕션 준비 모듈 및 SOC를 사용할 수 있으므로 주변에 고유 한 하드웨어를 구축 할 수 있습니다. 새로운 개발 도구가 필요하지 않습니다. 모든 Azure Sphere 개발은 익숙한 Visual Studio에서 이루어집니다.

더 흥미로운 개발 중 하나는 기존 산업용 컨트롤러와 함께 작동 할 수있는 Sphere 기반 보호 장치 세트로, PLC 및 기타 기존 산업 시스템을 애플리케이션과 통합 할 때 보호 계층을 추가하여 고려했을 수있는 장치를 연결할 수 있습니다. 과거에 IoT 플랫폼에 추가하기에는 너무 위험했습니다.