10 억 대 이상의 Windows 10 장치 이상 Windows에는 오픈 소스가 너무 많습니다
마이크로 소프트의 최신 블로그 게시물 중 하나는 "오픈 소스 프로젝트에 관련된 직원이 너무 많은 회사는 없다"고 말했다. 필자 아이린 나 들러 (Irene Nadler)에 따르면, 이것은 "Windows"와 관련하여 분명한 효과를 보여줍니다. 이제 Windows에 이미 얼마나 많은 오픈 소스가 있는지 조사해야합니다.
2016 년 Microsoft는 .NET 및 C #을 사용하는 크로스 플랫폼 응용 프로그램 개발을위한 개방형 환경 인 " Xamarin " 소프트웨어를 인수했습니다 . 약 2 년 전, 소프트웨어 개발 플랫폼 인 Github을 75 억 달러에 인수했습니다 (“ 우리는 Microsoft의 영리한 발걸음을 축하해야합니다!”Linux Foundation의 Microsoft의 Github 인수에 대한 의견 ). 여기에서 개발자 팀은 소프트웨어 코드를 게시하고 회사와 조직이 전세계에서 액세스 할 수있는 프로젝트를 공동으로 수행합니다.
다음은 최근 오픈 소스에 대한 Microsoft의 노력에 대한 몇 가지 예입니다. 오픈 소스는 "Windows 10"의 기본 요소이기도합니다. Microsoft는 최근 " Microsoft Build 2020 "개발자 컨퍼런스 에서 Windows 10 및 Open Source에 대한 가장 중요한 뉴스를 디지털 방식 으로 발표했습니다.
예를 들어 "Reunion"프로젝트를 통해 Microsoft는 Windows 플랫폼을 운영 체제 와 분리 하고 개발자는 Win32 및 UWP 프로그래밍 인터페이스를 통해 앱을보다 쉽게 통합 할 수 있습니다.
Microsoft 사이트는 "Project Reunion은 Windows 개발자 플랫폼을 표준화하고 개발하려는 비전입니다."라고 말합니다. 이를 통해 기존 Win32 및 UWP API에 대한 액세스가 표준화되고 운영 체제에서 분리 된 "Nuget"와 같은 도구를 통해 사용할 수 있습니다.
Microsoft 사이트는 "Project Reunion은 Windows 개발자 플랫폼을 표준화하고 개발하려는 비전입니다."라고 말합니다. 이를 통해 기존 Win32 및 UWP API에 대한 액세스가 표준화되고 운영 체제에서 분리 된 "Nuget"와 같은 도구를 통해 사용할 수 있습니다.
Project Reunion 은 C ++, .NET ( "WPF", "Windows Forms"및 "UWP"포함) 또는 "React Native"등 최신 기능으로 기존 응용 프로그램을 업데이트하고 현대화 할 수 있도록 설계되었습니다. 기존 API가 분리되고 새 API가 추가되며 필요한 경우 API가 지원되는 모든 Windows 버전에서 하위 수준에서 작동하도록 "폴리 필"이 있습니다. Microsoft는 이미 WinUI 3, WebView2 및 MSIX (MSIX- Core ) 와 같은 프로그래밍 인터페이스를 시작했습니다 .
"WinUI 3 Preview 1"은 첫 번째 구성 요소 중 하나입니다. Windows 용 기본 UI 프레임 워크이며 이제 모든 Windows 응용 프로그램 개발자가 UWP 및 데스크톱 응용 프로그램에서 사용할 수 있습니다. WinUI를 사
용하면 여러 장치에 맞게 조정 및 확장 할 수있는 사용자 인터페이스를 사용하여 새 응용 프로그램을 만들 거나 C ++, WPF 및 WinForms를 비롯한 기존 데스크톱 응용 프로그램의 사용자 인터페이스를 점차 현대화 할 수 있습니다.
회사는 필요한 코드 플랫폼을 오픈 소스 코드로 제공합니다. 우리에게는 이제 Windows 플랫폼에서 구성 요소를 제거하고이를 오픈 소스 프로젝트로 사용할 수있게하는 것이 잘 알려진 절차입니다. Powershell은이 접근 방식의 또 다른 예입니다. 리눅스에 대한 지원은 말할 것도 없습니다.
새로운 브라우저 "Microsoft Edge"의 예만큼 Windows와 오픈 소스 간의 밀접한 연결은 명확하지 않습니다. 그 기초는 오픈 소스 엔진 인 "크롬 (Chromium)"이며 우리는 추가 개발을 위해 열심히 노력하고 있습니다.
회사는 다른 사람의 작업을 통해 이익을 얻지 만 다른 브라우저에서도 입력을 사용할 수 있습니다. 현재까지 Microsoft는 3,000 개가 넘는 커밋을 수행했습니다. 즉, 웹 서핑을보다 사용자 친화적이고, 성능이 뛰어나고 액세스하기 쉽도록 개선했습니다.
커널에서 오픈 소스
Linux는 오랫동안 Windows 10의 필수 요소였으며 Microsoft는 최근 2020 년 5 월 Windows Update의 일부로 Windows 하위 시스템을위한 완전한 Linux 커널 을 출시 했으며 Windows 10 용 Linux를 완전히 갱신했습니다.
Microsoft는이를 위해 가상 머신을 사용하며 Linux 커널은 Windows 업데이트로 업데이트됩니다. 따라서 Windows 10의 Linux가 더 빨라지고 빨라집니다. 그래픽 사용자 인터페이스가있는 응용 프로그램도 지원되며 Linux는 그래픽 카드의 컴퓨팅 성능에 액세스 할 수 있습니다.
파워 토이
숙련 된 Windows 사용자는 "Windows 95"또는 "Windows XP" 의 " Powertoys "를 기억해야 합니다. 사용자가 추가 기능을 추가 할 수있는 인기있는 무료 도구 모음입니다. 이제 Windows 10 용 도구가 오픈 소스 프로젝트로 돌아 왔습니다.
이 컬렉션은 현재 7 개의 프로그램으로 구성되어 있습니다. "Powertoys Run"런처는 매우 똑똑하다고 생각합니다. "Alt"와 "Spacebar"키 조합을 사용하여 시작할 수 있습니다. 그 후, 당신이해야 할 일은 당신이 찾고있는 것을 입력하고 실행기는 올바른 프로그램을 준비했습니다.
윈도우 터미널
올해 빌드에서 또 다른 오픈 소스 스타는 " Windows Terminal "이었습니다. 우리의 현대화 된 명령 행은 회의용으로 1.0 버전으로 시작되었습니다. 여기에는 탭 지원, 서식있는 텍스트, 세계화, 구성 가능성, 테마 및 스타일을 포함하여 Windows 명령 줄 커뮤니티에서 가장 많이 요청한 많은 기능이 포함되어 있습니다.
특수 기능 : 모든 이전 명령 행은 탭을 통해 통합 될 수 있습니다. Windows 터미널을 사용자 정의하는 방법도 많이 있습니다.
Windows 콘솔 호스트
Windows 콘솔 호스트 인 conhost.exe 는 사용자가 경험하는 원래 Windows 명령 줄입니다. "윈도우 콘솔 또한 윈도우 명령 행 인프라와 호스트 API - 서버 보다", 입력 및 렌더링 엔진, 사용자 설정 등을. 이 저장소의 콘솔 호스트 코드는 Windows 자체에서 conhost.exe가 작성되는 실제 소스입니다.
팀은 2014 년에 Windows 명령 줄을 채택한 후 백그라운드 투명성, 라인 기반 선택, ANSI / 가상 터미널 시퀀스 지원, 24 비트 색상 및 의사 콘솔 ( "ConPTY")을 포함하여 콘솔에 두 가지 새로운 기능을 추가했습니다. ). 그러나 새로운 기능으로도 하향 호환성이 유지되어야합니다. 그러나 탭, 유니 코드 텍스트 및 이모티콘을 포함하여 커뮤니티 (및 팀)가 원했던 많은 기능을 추가하는 것은 불가능했습니다. 이러한 제한으로 인해 Microsoft Windows Terminal이 갱신되었습니다.
팀은 콘솔 점검을위한 코드 기반을 대폭 현대화했습니다. 여기에는 논리 단위가 모듈과 클래스로 깔끔하게 분리되고, 오래되고 자체 개발 된 컬렉션과 컨테이너가보다 안전하고 효율적인 STL 컨테이너로 대체되며, "Microsoft의 Windows 구현 라이브러리"(WILL)를 사용하여 코드가 더 쉽고 안전 해집니다. 됩니다.
이 변환으로 인해 Windows의 모든 터미널 구현에서 여러 주요 구성 요소를 재사용 할 수있게되었습니다. 이러한 구성 요소에는 새로운 "Directwrite"기반 텍스트 레이아웃 및 렌더링 엔진, UTF-16 및 UTF-8을 모두 저장할 수있는 텍스트 버퍼 및 VT 파서 / 이미 터가 포함됩니다. 또한이 방법을 사용하면 다른 사용자가 자신의 응용 프로그램에 통합 할 수있는 재사용 가능한 UI 컨트롤로 많은 터미널 코어 자체를 구축 할 수 있다는 것을 깨달았습니다.
파이프 라인에서
또 다른 오픈 소스 프로젝트 인 "Windows Package Manager Client"가 이미 개발 중에 있습니다. 이 패키지 관리를 통해 PC 환경에서 프로그램을 빠르게 찾고 설치할 수 있습니다. 이들은 현재 사용 가능한 기능입니다. 그러나 제거, 나열 및 업데이트가 곧 이어질 것입니다.
다음 명령으로 도구를 설치할 수 있습니다.
winget install <tool>
통합 "패키지 관리자 서비스"는 풀 요청의 승인을 담당합니다. YAML의 유효성을 검사하고 사양 준수를 나타냅니다.
연관된 클라이언트 저장소 " winget-cli "에는 클라이언트 작성을위한 소스 코드가 포함되어 있습니다. 이것은 "소스"의 개념을 중심으로 구축되었습니다. 효과적인 패키지 세트 소스는 클라이언트가 응답 할 수 있도록 패키지 메타 데이터를 검색 및 검색하는 기능을 제공합니다. 표준 소스는 " 커뮤니티 저장소 " 에서 사용 가능한 데이터를 반영합니다 .
블로그는 다음과 같이 말합니다.“우리는 앞으로 추가 소스와 추가 유형의 소스를 더 잘 지원할 계획입니다. 현재 추가 소스를 구성 할 수 있지만 한 번에 하나만 사용할 수 있습니다.”