---
title: "Microsoft가 winapp CLI를 발표함 — Visual Studio 없이 Windows 앱 개발하기"
published: 2026-01-24T21:49:04.000Z
canonical: https://jeff.news/article/1189
---
# Microsoft가 winapp CLI를 발표함 — Visual Studio 없이 Windows 앱 개발하기

Microsoft가 Visual Studio/MSBuild 없이 Windows 앱을 개발할 수 있는 오픈소스 CLI 도구 winapp을 퍼블릭 프리뷰로 발표. 환경 셋업, Package Identity 디버깅, MSIX 패키징, Electron 통합을 명령어 하나로 처리 가능.

- **winapp**은 Windows 앱 개발 라이프사이클을 단순화하는 오픈소스 CLI 도구임. Visual Studio나 MSBuild 바깥에서 작업하는 개발자를 위해 만들어졌음 — Electron, CMake, .NET, Rust, Dart 등 크로스플랫폼 프레임워크 개발자가 타겟
- Windows AI API, 보안 기능, 셸 통합 같은 모던 API를 **아무 툴체인에서나** 접근 가능하게 하는 게 목표

## 주요 기능

- **`winapp init`** 한 방으로 환경 셋업 완료: SDK 패키지 다운로드, C++/WinRT 프로젝션 생성, 매니페스트/에셋/인증서/의존성 관리까지 자동화. 기존에는 에러 나기 쉬운 수동 작업 여러 단계가 필요했던 걸 명령어 하나로 해결
- **`winapp create-debug-identity`**: 많은 모던 Windows API (Windows AI, 알림, MCP Host 등)가 Package Identity를 요구하는데, 예전에는 앱을 완전히 패키징하고 설치해야만 테스트 가능했음. 이제 명령어 하나로 실행 파일에 Package Identity를 부여해서 기존 개발 루프 그대로 디버깅 가능
- **`winapp pack`**: MSIX 패키징 + 서명을 한 줄로 처리. 스토어 배포용이든 사이드로드용이든 바로 생성
- **`winapp manifest update-assets`**: 로고 이미지 하나 주면 appxmanifest.xml에 필요한 모든 크기의 에셋을 자동 생성
- **`winapp cert generate`**: 개발용 자체 서명 인증서 생성 + 로컬 설치까지 한 번에

## Electron 개발자를 위한 특별 지원

- npm 패키지(`@microsoft/winappcli`)로도 제공됨
- C++ 또는 C# 네이티브 애드온을 스캐폴딩해주고, Windows App SDK와 Windows SDK에 바로 접근 가능하게 설정해줌
- `winapp node add-electron-debug-identity`로 실행 중인 Electron 프로세스에 Package Identity 주입 가능 → `npm start`만으로 Windows AI API 등 테스트 가능
- 실험적으로 `@microsoft/winapp-windows-ai` npm 패키지도 제공 — Node.js에서 Windows AI API(LanguageModel 등)를 직접 사용

> [!TIP]
> 설치: `winget install microsoft.winappcli` (일반) 또는 `npm install --save-dev @microsoft/winappcli` (Electron). GitHub/Azure DevOps CI/CD 액션도 지원함

## 핵심 포인트

- winapp init 한 명령으로 SDK, 매니페스트, 인증서, 의존성 셋업 자동화
- Package Identity를 명령어 하나로 부여해서 Windows AI API 등 디버깅 가능
- MSIX 패키징+서명을 winapp pack 한 줄로 처리
- Electron용 npm 패키지 제공, 네이티브 애드온 스캐폴딩
- winget, npm, GitHub/Azure DevOps CI 액션으로 설치 가능

## 인사이트

Visual Studio 락인에서 벗어나려는 크로스플랫폼 개발자에게 반가운 도구. 특히 Electron 개발자가 Windows AI API를 쓰기 위한 진입 장벽을 크게 낮춤.
