개발자용 Windows 10 빌드 10240의 새로운 기능What's new in Windows 10 for developers, build 10240

Windows 10 빌드 10240 및 업데이트된 SDK는 놀라운 유니버설 Windows 플랫폼 앱을 만드는 도구, 기능 및 환경을 제공합니다.Windows 10 build 10240 and the updated SDK provide the tools, features, and experiences to make remarkable Universal Windows Platform apps. Windows 10에 도구 및 SDK를 설치한 후 새 유니버설 Windows 앱을 만들거나 Windows에서 기존 앱 코드를 사용하는 방법을 살펴볼 수 있습니다.After installing the tools and SDK on Windows 10, you’re ready to either create a new Universal Windows app or explore how you can use your existing app code on Windows.

Windows 10 빌드 10240(Windows 10 버전 1507이라고도 함)의 새로운 기능을 기능별로 살펴보면 다음과 같습니다.Here's a feature-by-feature look at what's new for you in Windows 10 build 10240 (Also known as Windows 10 version 1507).

적응형 레이아웃Adaptive layouts

기능Feature 설명Description
맞춤형 콘텐츠의 여러 보기Multiple Views for tailored content 이제 XAML을 사용하여 동일한 코드 파일을 공유하는 맞춤형 보기(.xaml 파일)를 정의할 수 있습니다.XAML provides new support for defining tailored views (.xaml files) that share the same code file. 이 지원을 사용하면 특정 디바이스 패밀리 또는 시나리오에 맞게 조정된 여러 보기를 보다 쉽게 만들고 유지 관리할 수 있습니다.This makes it easier for you to create and maintain different views that are tailored to a specific device family or scenario. 앱의 UI 콘텐츠, 레이아웃 또는 탐색 모델이 시나리오마다 크게 다를 경우 여러 보기를 만드세요.If your app has distinct UI content, layout, or navigation models that are drastically different for different scenarios, build multiple views. 예를 들어, 모바일 앱에서는 한 손 사용에 최적화된 피벗을 사용하고, 데스크톱 앱에서는 마우스에 최적화된 탐색 메뉴가 있는 SplitView를 사용할 수 있습니다.For example, you might use a Pivot with navigation optimized for one-handed use on your mobile app, but use a SplitView with a navigation menu optimized for mouse on your desktop app.
StateTriggersStateTriggers 새로운 VisualState.StateTriggers 기능을 사용하면 창 높이/너비 또는 사용자 지정 트리거를 기준으로 조건에 따라 속성을 설정할 수 있습니다.Using the new VisualState.StateTriggers feature, you can conditionally set properties based on window height/width or based on a custom trigger. 이전에는 Window SizeChanged 이벤트를 코드로 처리하고 VisualStateManager.GotoState를 호출해야 했습니다.Previously, you had to handle Window SizeChanged events in code and call VisualStateManager.GotoState.
SetterSetters 새로운 VisualState.Setters 구문을 사용하면 간단한 태그를 사용하여 VisualStateManager에서 속성 변경 사항을 정의할 수 있습니다.Using the new VisualState.Setters syntax, you can use simplified markup to define property changes in VisualStateManager. 예전에는 스토리보드를 사용하고 애니메이션을 만들어서 StackPanel의 방향을 가로에서 세로로 바꾸는 것과 같이 속성을 변경해야 했습니다.Previously, you had to use a Storyboard and create animations to apply property changes such as changing the orientation of a StackPanel from Horizontal to Vertical. 유니버설 Windows 앱에서는 보다 간단한 다음 Setter 구문을 사용할 수 있습니다. In Universal Windows apps, you can use this simpler Setter syntax:

XAML 기능XAML features

기능Feature 설명Description
컴파일된 데이터 바인딩(x:Bind)Compiled data bindings (x:Bind) 유니버설 Windows 앱에서는 x:Bind 속성으로 새로운 컴파일러 기반 바인딩 메커니즘을 사용할 수 있습니다.In Universal Windows apps, you can use the new compiler-based binding mechanism enabled by the x:Bind property. 컴파일러 기반 바인딩은 강력한 형식이며 컴파일 타임에 처리되므로 더 빠르고 바인딩 형식이 일치하지 않을 경우 컴파일 타임 오류를 제공합니다.Compiler-based bindings are strongly typed and processed at compile time, which is both faster and provides compile time errors when binding types are mismatched. 또한 바인딩이 컴파일된 앱 코드로 변환되기 때문에 이제 Visual Studio에서 코드를 단계별로 실행하여 특정 바인딩 문제를 진단함으로써 바인딩을 디버그할 수 있습니다.And because bindings are translated to compiled app code, you can now debug bindings by stepping through code in Visual Studio to diagnose specific binding issues. 다음과 같이 x:Bind를 사용하여 메서드에 바인딩할 수도 있습니다. 일반적인 바인딩 시나리오의 경우 바인딩 대신 x:Bind를 사용하여 향상된 성능 및 유지 관리 능력을 얻을 수 있습니다.You can also use x:Bind to bind to a method, like this: For typical binding scenarios, you can use x:Bind in place of Binding, and get improved performance and maintainability.
목록의 선언적, 증분적 렌더링(x:Phase)Declarative incremental rendering of lists (x:Phase) 유니버설 Windows 앱에서 새로운 x:Phase 특성을 사용하면 코드 대신 XAML을 사용하여 목록의 증분적, 단계적 렌더링을 수행할 수 있습니다.In Universal Windows apps, the new x:Phase attribute lets you perform incremental, or phased, rendering of lists using XAML instead of code. 복잡한 항목이 포함된 긴 목록을 이동하는 경우 앱이 이동 속도를 따라갈 만큼 빠르게 항목을 렌더링하지 못해 좋지 않은 사용자 경험을 만들 수 있습니다.When panning long lists with complex items, your app might not be able to render items fast enough to keep up with the speed of panning, producing a poor experience for your users. 단계별 렌더링을 사용하면 목록 항목에 포함된 개별 요소의 렌더링 우선 순위를 지정할 수 있으므로 빠르게 이동하는 시나리오에서는 목록 항목의 가장 중요한 부분만 렌더링됩니다.Phased rendering lets you specify the rendering priority of individual elements in a list item, so only the most important parts of the list item are rendered in fast panning scenarios. 따라서 사용자에게 더 원활한 이동 환경을 제공할 수 있습니다.This produces a smoother panning experience for your user.

Windows 8.1에서는 ContainerContentChanging 이벤트를 처리하고 목록 항목을 단계별로 렌더링하는 코드를 작성할 수 있습니다.In Windows 8.1, you could handle the ContainerContentChanging event and write code to render list items in phases. UWP 앱의 경우 x:Phase 특성을 사용하여 단계별 렌더링을 선언적으로 완료할 수 있습니다.In UWP apps, you can accomplish phased rendering declaratively using the x:Phase attribute. 컴파일된 바인딩 x:Bind와 함께 x:Phase를 사용하면 데이터 템플릿의 각 바인딩된 요소에 대해 렌더링 우선 순위를 쉽게 지정할 수 있습니다.Used in conjunction with compiled bindings x:Bind, x:Phase lets you easily specify a rendering priority for each bound element in a data template. 이동 시 항목 렌더링 작업은 단계를 기준으로 시간 조각으로 나누어지므로 증분적 항목 렌더링이 가능합니다.When panning, the work to render items is time-sliced based on the phase, which enables incremental item rendering.
UI 요소의 지연된 로드(x:deferLoadstrategy)Deferred loading of UI elements (x:deferLoadstrategy) 유니버설 Windows 앱에서 새 x:deferLoadstrategy 지시문을 사용하면 로드를 지연할 사용자 인터페이스 부분을 지정하여 시작 성능을 향상하고 앱의 메모리 사용량을 줄일 수 있습니다.In Universal Windows apps, the new x:deferLoadstrategy directive lets you specify parts of your user interface to be delay-loaded, which improves start-up performance and reduces the memory usage of your app. 예를 들어 앱 UI에 잘못된 데이터를 입력한 경우에만 표시되는 데이터 유효성 검사 요소가 있는 경우 필요할 때까지 해당 요소의 로드를 지연할 수 있습니다.For example, if your app UI has an element for data validation that is shown only when incorrect data is entered, you can delay loading of that element until it’s needed. 그러면 페이지가 로드될 때 요소 개체가 생성되지 않는 대신 데이터 오류가 있고 페이지의 시각적 트리에 추가되어야 하는 경우에만 생성됩니다.Then, the element objects aren’t created when the page is loaded; instead, they’re created only when there’s a data error and they are needed to be added to the page’s visual tree.
SplitViewSplitView 새로운 SplitView 컨트롤을 사용하면 임시 콘텐츠를 손쉽게 표시하거나 숨길 수 있습니다.The new SplitView control gives you a way to easily show and hide transient content. 이 컨트롤은 일반적으로 탐색 콘텐츠가 숨겨져 있다 사용자 동작으로 필요 시 표시되는 “햄버거 메뉴"와 같은 최상위 탐색 시나리오에 사용됩니다.It’s commonly used for top-level navigation scenarios like the "hamburger menu", where the navigation content is hidden, and slides in when needed as the result of a user action.
RelativePanelRelativePanel RelativePanel은 서로 또는 부모 패널과 관련하여 자식 개체를 배치하고 정렬할 수 있는 새로운 레이아웃 패널입니다.RelativePanel is a new layout panel that lets you position and align child objects in relation to each other or the parent panel. 예를 들어, 일부 텍스트가 언제나 패널 왼쪽에 표시되고 단추는 항상 텍스트 아래 정렬되도록 지정할 수 있습니다.For example, you can specify that some text should always be positioned to the left side of the panel, and a Button should always align below the text. StackPanel 또는 Grid가 필요한 선명한 선형 패턴이 없는 사용자 인터페이스를 만들 때 RelativePanel을 사용합니다.Use ReleativePanel when creating user interfaces that do not have a clear linear pattern that would call for use a StackPanel or Grid.
CalendarViewCalendarView CalendarView 컨트롤을 사용하면 사용자 지정 월 단위 보기로 날짜와 날짜 범위를 손쉽게 보고 선택할 수 있습니다.The CalendarView control makes it easy to view and select dates and date ranges using a customizable, month based view. CalendarView는 선택 가능한 날짜를 제한할 수 있는 최소, 최대, 블랙아웃 날짜 등의 기능을 지원합니다.CalendarView supports features such as minimum, maximum, and blackout dates to limit which dates can be selected. 또한 특정 날짜에 일정의 일반적 “예약률"을 표시하는 데 사용할 수 있는 사용자 지정 밀도 막대를 설정할 수 있습니다.You can also set custom density bars that can be used to show the general "fullness" of the schedule on a particular day.
CalendarDatePickerCalendarDatePicker CalendarDatePicker는 요일이나 일정의 예약률과 같이 컨텍스트 정보가 중요한 CalendarView에서 단일 날짜를 선택하는 데 최적화된 드롭다운 컨트롤입니다.CalendarDatePicker is a drop-down control that’s optimized for picking a single date from a CalendarView where contextual information like the day of the week or fullness of the calendar is important. 이 컨트롤은 DatePicker 컨트롤과 유사하지만, DatePicker는 생일과 같이 알려진 날짜를 선택하는 데 최적화되었습니다.It’s similar to the DatePicker control, but the DatePicker is optimized for picking a known date, such as a date of birth.
MediaTransportControlsMediaTransportControls 새로운 MediaTransportControls 클래스를 사용하면 MediaElement의 전송 컨트롤을 손쉽게 사용자 지정할 수 있습니다.The new MediaTransportControls class makes it easier to customize the transport controls of a MediaElement. Windows 8.1에서는 MediaElement의 기본적으로 제공되는 전송 컨트롤을 활성화하거나 MediaElement 메서드를 호출하여 자체 전송 컨트롤을 만들 수 있습니다.In Windows 8.1, you could enable MediaElement’s built-in transport controls, or create your own transport controls that called MediaElement methods. 이제 MediaTransportControls의 기본 제공 기능을 사용하면서 앱에 맞게 모양을 쉽게 사용자 지정할 수 있습니다.Now you can use the built-in functionality of MediaTransportControls, and still easily customize the look to suit your app.
속성 변경 알림Property change notifications 유니버설 Windows 앱에서는 해당 변경 이벤트가 없는 속성에 대해서도 DependencyObjects에서 속성 변경 사항을 수신 대기할 수 있습니다.In Universal Windows apps, you can listen for property changes on DependencyObjects, even for properties that don’t have corresponding change events. 알림은 이벤트처럼 작동하지만 실제로는 콜백으로 노출됩니다.The notification operates like an event, but is actually exposed as a callback. 콜백은 이벤트 처리기처럼 발신자 인수를 사용하지만 이벤트 인수는 사용하지 않습니다.The callback takes a sender argument just like an event handler, but doesn’t take an event argument. 대신 어떤 속성인지 나타내기 위해 속성 식별자만 전달됩니다.Instead, only the property identifier is passed to indicate which property. 이 정보를 사용하여 앱은 여러 속성 알림에 대한 단일 처리기를 정의할 수 있습니다.With this info your app can define a single handler for multiple property notifications. 자세한 내용은 RegisterPropertyChangedCallbackUnregisterPropertyChangedCallback을 참조하세요.For more info, see RegisterPropertyChangedCallback and UnregisterPropertyChangedCallback.
지도Maps MapControl 클래스는 위성 3D 이미지 및 거리 수준 보기를 제공하도록 업데이트되었습니다.The MapControl class been updated to provide aerial 3D imagery and street-level views. 이 새로운 기능 및 이전의 매핑 기능을 이제 유니버설 Windows 앱에서 사용할 수 있습니다.These new features and earlier mapping functionality are now available to Universal Windows apps. 다음 API를 사용하여 앱에 매핑을 추가하세요. Windows.UI.Xaml.Controls.MapsWindows.Services.Maps.Add mapping to your app with the following APIs: Windows.UI.Xaml.Controls.Maps and Windows.Services.Maps. 지금 유니버설 Windows 앱에서 이러한 API 사용을 시작하려면 Bing 지도 개발자 센터에서 키를 요청하세요.To start using these APIs in a Universal Windows app today, request a key from the Bing Maps Developer Center. 자세한 내용은 지도 앱을 인증하는 방법을 참조하세요.For more info, see How to authenticate a Maps app. 또한 Windows 10의 새로운 기능으로, PC 및 휴대폰 사용자는 설정 앱에서 오프라인 지도를 다운로드할 수 있습니다.Also new for Windows 10, PC and phone users can download offline maps from the Settings app. 사용 가능한 경우 오프라인 지도는 MapControl이 인터넷에 액세스할 수 없을 때 지도를 표시하는 데 사용됩니다.When available, offline maps are used by the MapControl to display maps when no internet access is available.
입력 단추 매핑Input button mapping Windows.UI.Xaml.Input.KeyEventArgs 클래스에는 매핑되지 않은 원래 입력 단추를 키보드 입력 이벤트와 연결할 수 있는 새로운 OriginalKey 속성이 있으며, Windows.System.VirtualKey에 대한 해당 업데이트도 있습니다.The Windows.UI.Xaml.Input.KeyEventArgs class has a new OriginalKey property that, along with a corresponding update to Windows.System.VirtualKey, enables you to get the original, unmapped input button associated with the keyboard input event.
수동 입력Inking 이제 InkCanvas 컨트롤 및 기본 InkPresenter 클래스 덕분에 C++, C# 또는 Visual Basic을 사용하여 Windows 런타임 앱의 강력한 수동 입력 기능을 더 간단하게 사용할 수 있습니다.It’s now simpler to use the robust inking functionality in Windows Runtime apps using C++, C#, or Visual Basic, thanks to the InkCanvas control and underlying InkPresenter classes. InkCanvas 컨트롤은 잉크 스트로크 그리기 및 렌더링을 위한 오버레이 영역을 정의합니다.The InkCanvas control defines an overlay area for drawing and rendering ink strokes. 이 컨트롤의 기능(입력, 처리 및 렌더링)은 InkPresenter, InkStroke, InkRecognizerInkSynchronizer 클래스에서 제공됩니다.The functionality for this control (input, processing, and rendering) comes from the InkPresenter, InkStroke, InkRecognizers, and InkSynchronizer classes. 중요: 이러한 클래스는 JavaScript를 사용하는 Windows 앱에서는 지원되지 않습니다.Important: These classes are not supported in Windows apps using JavaScript.

업데이트된 XAML 기능Updated XAML features

기능Feature 설명Description
CommandBar 및 AppBar 업데이트CommandBar and AppBar updates CommandBarAppBar 컨트롤이 다양한 장치 패밀리에서 UWP 앱에 대해 일관적 API, 동작, 사용자 환경을 제공하도록 업데이트되었으며,The CommandBar and AppBar controls have been updated to have a consistent API, behavior and user experience for UWP apps across device families.

유니버설 Windows 앱의 CommandBar 컨트롤은 AppBar 기능의 상위 집합을 제공하도록 향상되었으며 앱에서 더욱 효율적으로 사용할 수 있게 되었습니다.The CommandBar control for Universal Windows apps has been improved to provide a superset of AppBar functionality and greater flexibility in how you can use it in your app. Windows 10의 모든 신규 유니버설 Windows 앱에 CommandBar를 사용해야 합니다.You should use CommandBar for all new Universal Windows apps on Windows 10. Windows 8.1의 CommandBar에서는 AppBarButton과 같은 ICommandBarElement를 구현한 컨트롤만 사용할 수 있습니다.In a CommandBar in Windows 8.1, you could use only controls that implemented ICommandBarElement, like AppBarButton. 유니버설 Windows 앱에서는 이제 AppBarButtons뿐만 아니라 CommandBar에 사용자 지정 콘텐츠를 추가할 수 있습니다.In Universal Windows apps, you can now put custom content in the CommandBar in addition to AppBarButtons.

AppBar 컨트롤이 업데이트되어 이제 AppBar를 사용하는 Windows 8.1 앱을 유니버설 Windows 플랫폼으로 쉽게 이동할 수 있습니다.The AppBar control has been updated to let you more easily move your Windows 8.1 apps that use AppBar to the Universal Windows Platform. AppBar는 전체 화면 앱과 함께 사용하고 에지 제스처를 사용하여 호출하도록 설계되었습니다.AppBar was designed to be used with full-screen apps, and to be invoked using edge gestures. 업데이트된 컨트롤 계정에서는 Windows 10에서 창 앱, 에지 제스처 부족 등의 문제가 해결되었습니다.Updates to the control account for issues such as windowed apps and the lack of edge gestures in Window 10.

이전에 Windows Phone에만 있었던 숨겨진 AppBar.ClosedDisplayMode가 이제 모든 디바이스 패밀리에서 지원되므로 명령의 다양한 힌트 수준 사이에서 선택할 수 있습니다.The Hidden AppBar.ClosedDisplayMode, previously only on Windows Phone, is now supported on all device families, letting you choose between different levels of hints for commands. AppBar는 Windows 8.1 앱을 플랫폼에서 더 이상 에지 제스처 지원에 의존할 수 없는 유니버설 Windows 앱으로 업그레이드할 때 일관성을 제공하기 위해 기본적으로 최소한의 힌트만 표시합니다.The AppBar shows a minimal hint by default to provide consistency for you when upgrading your Windows 8.1 apps to Universal Windows apps where you can no longer rely on the edge gesture support in the platform.
GridView 업데이트GridView updates Windows 10 이전의 기본 GridView 레이아웃의 방향은 Windows에서 가로, Windows Phone에서 세로였습니다.Prior to Windows 10, the default GridView layout orientation was horizontal on Windows and vertical on Windows Phone. UWP 앱에서 GridView는 기본적으로 일관적 환경을 보장하기 위해 모든 디바이스 패밀리에 대해 세로 레이아웃을 사용합니다.In UWP apps, GridView uses a vertical layout by default for all device families to ensure you have by consistent default experience.
AreStickyGroupHeadersEnabled 속성AreStickyGroupHeadersEnabled property 그룹화된 데이터를 ListView 또는 GridView로 표시할 경우 이제 목록을 스크롤할 때 그룹 헤더가 그대로 표시됩니다.When you show grouped data in a ListView or GridView, the group headers now remain visible when the list is scrolled. 헤더가 사용자가 보고 있는 데이터에 대한 컨텍스트를 제공하는 큰 데이터 집합에서는 이 기능이 중요합니다.This is important in large data sets where the header provides context for the data the user is viewing. 하지만, 각 그룹의 요소가 적은 경우에는 헤더가 항목과 함께 화면 밖으로 스크롤되는 것을 원할 수 있습니다.However, in cases where there are only a few elements in each group, you might want to have the headers scroll off-screen with the items. 이 동작을 제어하려면 ItemsStackPanelItemsWrapGrid에서 AreStickyGroupHeadersEnabled 속성을 설정합니다.You can set the AreStickyGroupHeadersEnabled property on ItemsStackPanel and ItemsWrapGrid to control this behavior.
GroupHeaderContainerFromItemContainer 메서드GroupHeaderContainerFromItemContainer method ItemsControl에서 그룹화된 데이터를 표시할 경우 GroupHeaderContainerFromItemContainer 메서드를 호출하여 그룹의 상위 헤더에 대한 참조를 가져올 수 있습니다.When you show grouped data in an ItemsControl, you can call the GroupHeaderContainerFromItemContainer method to get a reference to the parent header for the group. 예를 들어, 사용자가 그룹의 마지막 항목을 삭제할 경우 그룹 헤더에 대한 참조를 가져오고 항목과 그룹 헤더를 함께 제거할 수 있습니다.For example, if a user deletes the last item in a group, you can get a reference to the group header and remove both the item and group header together.
ChoosingGroupHeaderContainer 이벤트ChoosingGroupHeaderContainer event ListViewBase에서 새로운 ChoosingGroupHeaderContainer 이벤트를 사용하여 ListView 또는 GridView에서 그룹 헤더에 상태를 설정할 수 있습니다.The new ChoosingGroupHeaderContainer event on ListViewBase lets you set state on the group headers in a ListView or GridView. 예를 들어, 이 이벤트를 처리할 때 그룹 헤더의 AutomationProperties.Nameproperty가 보조 기술의 그룹을 나타내도록 설정할 수 있습니다.For example, you might handle this event to set the AutomationProperties.Nameproperty on the group header to represent the group in assistive technologies.
ChoosingItemContainer 이벤트ChoosingItemContainer event ListViewBase의 새로운 ChoosingItemContainer를 사용하면 ListView 또는 GridView에서 UI 가상화를 더 효과적으로 제어할 수 있습니다.The new ChoosingItemContainer event on ListViewBase gives you greater control over UI virtualization in a ListView or GridView. 이 이벤트를 ContainerContentChanging 이벤트와 함께 사용하면 재생된 컨테이너의 자체 대기열을 유지하고 필요에 따라 사용할 수 있습니다.Use this event in conjunction with the ContainerContentChanging event to maintain your own queue of recycled containers from which to draw upon as needed. 예를 들어 필터링으로 인해 데이터 원본이 다시 설정된 경우 최상의 성능을 얻기 위해 이미 만들어진 시각 효과 집합(ItemContainers)을 해당 데이터와 빠르게 일치시킬 수 있습니다.For example, if the data source has been reset due to filtering, you can quickly match an already created set of visuals (ItemContainers) with their data to achieve best performance.
목록 스크롤 가상화List scrolling virtualization XAML ListViewGridView 컨트롤에는 데이터 컬렉션에서 변경이 발생할 때 컨트롤의 성능을 향상시키는 새 ListViewBase.ChooseingItemContainer 이벤트가 있습니다.The XAML ListView and GridView controls have a new ListViewBase.ChooseingItemContainer event that improves the performance of the control when a change occurs in the data collection. 시스템은 이제 목록을 완전히 다시 설정하여 시작 애니메이션을 재생하는 대신, 포커스 및 선택 상태를 유지하면서 보기에서 항목을 유지합니다. 뷰포트의 새 항목과 제거된 항목이 애니메이션 효과를 통해 매끄럽게 나타나고 사라집니다.Instead of doing a complete reset of the list, which replays the entrance animation, the system now maintains items currently in view, along with focus and selection state; new and removed items in the viewport animate in and out smoothly. 데이터 컬렉션에서 컨테이너가 소멸되지 않는 변경이 수행되면 앱은 이전 컨테이너에서 "이전" 항목과 일치하는 항목을 빠르게 검색하고 컨테이너 수명 주기 재정의 메서드의 추가 처리를 건너뛸 수 있습니다.After a change in the data collection in which containers are not destroyed, an app can quickly match any "old" items with their previous container and skip further processing of container-lifecycle override methods. "새" 항목만 처리되고 재생된 컨테이너 또는 새 컨테이너와 연결됩니다.Only "new" items are processed and associated with recycled or new containers.
SelectRange 메서드 및 SelectedRanges 속성SelectRange method and SelectedRanges property 이제 유니버설 Windows 앱에서 ListViewGridView 컨트롤을 사용하여 항목 개체 참조가 아닌 항목 색인 범위로 항목을 선택할 수 있습니다.In Universal Windows apps, ListView and GridView controls now let you select items in terms of ranges of item indexes instead of item object references. 이 방법에서는 선택한 각 항목에 대해 항목 개체를 만들지 않아도 되므로 항목 선택을 설명하는 더욱 효율적인 방법입니다.This is a more efficient way to describe item selection because item objects don’t need to be created for each selected item. 자세한 내용은 ListViewBase.SelectedRanges, ListViewBase.SelectRange, ListViewBase.DeselectRange를 참조하세요.For more info, see ListViewBase.SelectedRanges, ListViewBase.SelectRange, and ListViewBase.DeselectRange.
새 ListViewItemPresenter APINew ListViewItemPresenter APIs ListViewGridView는 항목 표시기를 사용하여 선택 및 포커스에 대한 기본 시각적 개체를 제공합니다.ListView and GridView use item presenters to provide the default visuals for selection and focus. UWP 앱의 ListViewItemPresenterGridViewItemPresenter에는 목록 항목에 대한 화면 표시를 더 자세히 사용자 지정할 수 있는 새로운 속성이 있습니다.In UWP apps, ListViewItemPresenter and GridViewItemPresenter have new properties that let you further customize visuals for list items. 새로운 속성은 CheckBoxBrush, CheckMode, FocusSecondaryBorderBrush, PointerOverForeground, PressedBackground, SelectedPressedBackground입니다.The new properties are CheckBoxBrush, CheckMode, FocusSecondaryBorderBrush, PointerOverForeground, PressedBackground, and SelectedPressedBackground.
SemanticZoom 업데이트SemanticZoom updates 이제 SemanticZoom 컨트롤이 모든 장치 패밀리에서 UWP 앱에 대해 일관적으로 동작합니다.The SemanticZoom control now has one consistent behavior for UWP apps across all device families. 확대 보기와 축소 보기 간에 전환하는 기본 동작은 축소 보기에서 그룹 헤더를 탭하는 것입니다.The default action to switch between the zoomed in view and the zoomed out view is to tap on a group header in the zoomed in view. 이는 Windows Phone 8.1의 동작과 같지만, 손가락 모으기 제스처를 사용하여 확대/축소한 Windows 8.1에서 변경되었습니다.This is the same as the behavior on Windows Phone 8.1, but is a change from Windows 8.1, which used the pinch gesture to zoom. 축소-확대를 사용하여 보기를 변경하려면 SemanticZoom의 내부 ScrollViewer에서 ScrollViewer.ZoomMode="Enabled"로 설정합니다.To change views using pinch-to- zoom, set ScrollViewer.ZoomMode="Enabled" on the SemanticZoom’s internal ScrollViewer.

유니버설 Windows 앱의 경우 축소 보기가 확대 보기를 대체하며 대체된 보기와 크기가 같습니다.For Universal Windows apps, the zoomed out view replaces the zoomed in view and is the same size as the view that it replaced. 이는 Windows 8.1의 동작과 같지만, 축소 보기가 전체 화면 크기를 차지하고 다른 모든 콘텐츠에 위에 렌더링된 Windows Phone 8.1에서 변경되었습니다.This is the same as the behavior on Windows 8.1, but is a change from Windows Phone 8.1, where the zoomed out view took up the full size of the screen and was rendered on top of all other content.
DatePicker 및 TimePicker 업데이트DatePicker and TimePicker updates 이제 DatePickerTimePicker 컨트롤은 모든 디바이스 패밀리에서 유니버설 Windows 앱에 대해 일관적으로 구현됩니다.The DatePicker and TimePicker controls now have one consistent implementation for Universal Windows apps across all device families. 또한 Windows 10에 대해 새로운 모양을 제공합니다.They also have a new look for Windows 10. 이제 컨트롤의 팝업 부분이 모든 디바이스에서 DatePickerFlyoutTimePickerFlyout 컨트롤을 사용합니다.The pop-up portion of the control now uses DatePickerFlyout and TimePickerFlyout controls on all devices. 이 동작은 Windows Phone 8.1과 동일하지만, ComboBox를 사용했던 Windows 8.1에서 변경된 것입니다.This is the same as the behavior on Windows Phone 8.1, but is a change from Windows 8.1, which used ComboBox controls. 플라이아웃 컨트롤을 사용하면 사용자 지정 날짜와 시간 선택기를 쉽게 만들 수 있습니다.Using the flyout controls lets you easily create customized date and time pickers.
새 ScrollViewer APINew ScrollViewer APIs ScrollViewer에는 터치식 이동이 시작하거나 중지될 때 앱에 알려주는 새로운 DirectManipulationStartedDirectManipulationCompleted 이벤트가 있습니다.ScrollViewer has new DirectManipulationStarted and DirectManipulationCompleted events to notify your app when touch panning starts and stops. 이러한 이벤트를 처리하여 해당 사용자 작업으로 UI를 조정할 수 있습니다.You can handle these events to coordinate your UI with these user actions.
MenuFlyout 업데이트MenuFlyout updates 유니버설 Windows 앱에는 더 나은 컨텍스트 메뉴를 더 쉽게 구축할 수 있는 새로운 API가 있습니다.In Universal Windows apps, there are new APIs that let you build better context menus more easily. 새로운 MenuFlyout.ShowAt 메서드를 사용하면 다른 요소와의 상대적 관계를 기준으로 플라이아웃을 표시할 위치를 지정할 수 있습니다.The new MenuFlyout.ShowAt method lets you specify where you want the flyout to appear in relation to another element. (또한 MenuFlyout가 앱 창의 경계에 겹칠 수도 있습니다.) 새 MenuFlyoutSubItem 클래스를 사용하여 계단식 메뉴를 만듭니다.(And your MenuFlyout can even overlap the boundaries of your app’s window.) Use the new MenuFlyoutSubItem class to create cascading menus.
ContentPresenter, Grid, StackPanel의 새로운 테두리 속성New Border properties for ContentPresenter, Grid, and StackPanel 공통 컨테이너 컨트롤의 새로운 테두리 속성을 사용하면 XAML에 테두리 요소를 추가하지 않고 주위에 테두리를 그릴 수 있습니다.Common container controls have new border properties that let you draw a border around them without adding an additional Border element to your XAML. ContentPresenter, GridStackPanel의 새로운 속성은 BorderBrush, BorderThickness, CornerRadius 및 Padding입니다.ContentPresenter, Grid, and StackPanel have these new properties: BorderBrush, BorderThickness, CornerRadius, and Padding.
ContentPresenter의 새로운 텍스트 APINew text APIs on ContentPresenter ContentPresenter에는 텍스트 표시를 보다 강력하게 제어할 수 있는 새로운 API인 LineHeight, LineStackingStrategy, MaxLines 및 TextWrapping이 포함됩니다.ContentPresenter has new APIs that give you more control over text display: LineHeight, LineStackingStrategy, MaxLines, and TextWrapping.
시스템 포커스 시각적 상태System Focus Visuals 이제 XAML 컨트롤의 포커스 시각적 상태가 컨트롤 템플릿의 XAML 요소로 선언되지 않고 시스템에 의해 생성됩니다.Focus visuals for XAML controls are now created by the system, instead of being declared as XAML elements in the control template. 포커스 화면 효과는 일반적으로 모바일 디바이스에서 필요하지 않으며, 필요에 따라 시스템에서 만들고 관리하게 하면 앱 성능이 향상됩니다.The focus visuals are not typically needed on mobile devices, and letting the system create and manage them as needed improves app performance. 포커스 시각적 상태를 더 자세히 제어해야 할 경우 시스템 동작을 재정의하고 포커스 시각적 상태를 정의하는 사용자 지정 컨트롤 템플릿을 제공할 수 있습니다.If you need greater control over focus visuals, you can override the system behavior and providing a custom control template that defines focus visuals. 자세한 내용은 UseSystemFocusVisualsIsTemplateFocusTarget을 참조하세요.See UseSystemFocusVisuals and IsTemplateFocusTarget for more info.
PasswordBox.PasswordRevealModePasswordBox.PasswordRevealMode 유니버설 Windows 앱에서 PasswordRevealMode 속성이 IsPasswordRevealButtonEnabled 속성을 대체하여 디바이스 패밀리 사이에서 일관된 동작을 제공합니다.In Universal Windows apps, the PasswordRevealMode property replaces the IsPasswordRevealButtonEnabled property to provide consistent behavior across device families. 주의: Windows 10 이전에는 기본적으로 암호 표시 단추가 표시되지 않았습니다. 유니버설 Windows 앱에서는 기본적으로 표시됩니다.Caution: Prior to Windows 10, the password reveal button was not shown by default; in Universal Windows apps it is shown by default. 앱 보안 정책에 따라 암호를 항상 가려야 하는 경우 PasswordRevealMode를 Hidden으로 설정하세요.If the security of your app requires that the password is always obscured, be sure to set PasswordRevealMode to Hidden.
Control.IsTextScaleFactorEnabledControl.IsTextScaleFactorEnabled Windows Phone 8.1에서 사용할 수 있었던 IsTextScaleFactorEnabled 속성을 이제 모든 디바이스 패밀리의 유니버설 Windows 앱에서 사용할 수 있습니다.The IsTextScaleFactorEnabled property that was available on Windows Phone 8.1 is now available for Universal Windows apps across all device families.
AutoSuggestBoxAutoSuggestBox Windows Phone 8.1의 AutoSuggestBox 컨트롤을 이제 모든 디바이스 패밀리의 유니버설 Windows 앱에서 사용할 수 있으며, SearchBox 대신 사용해야 합니다.The AutoSuggestBox control from Windows Phone 8.1 is now available for Universal Windows apps across all device families, and you should use it instead of SearchBox. AutoSuggestBox는 사용자가 입력하는 대로 제안 단어를 표시하며, 터치, 키보드, 입력기 등의 다양한 입력 유형에서 작동합니다.AutoSuggestBox provides suggestions as the user types, and works well with various input types, like touch, keyboard, and Input Method Editors. 또한 검색 상자로 더 효과적으로 작동하는 데 유용한 새 구성 요소, QueryIcon 속성과 QuerySubmitted 이벤트가 있습니다.It also has some new members to make it work better as a search box: the QueryIcon property and the QuerySubmitted event.
ContentDialogContentDialog Windows Phone 8.1의 ContentDialog 컨트롤을 이제 모든 디바이스 패밀리의 유니버설 Windows 앱에서 사용할 수 있습니다.The ContentDialog control from Windows Phone 8.1 is now available for Universal Windows apps across all device families. ContentDialog를 사용하면 모든 디바이스에서 원활하게 작동하는 사용자 지정 모달 대화 상자를 표시할 수 있습니다.ContentDialog lets you display a customizable modal dialog that works great across the full spectrum of devices.
PivotPivot Windows Phone 8.1의 Pivot 컨트롤을 이제 모든 디바이스 패밀리의 유니버설 Windows 앱에서 사용할 수 있습니다.The Pivot control from Windows Phone 8.1 is now available for Universal Windows apps across all device families. 이제 모바일 및 데스크톱 디바이스용 앱에서 동일한 Pivot 컨트롤을 사용할 수 있습니다.You can now use the same Pivot control for in your app for mobile and desktop devices. Pivot은 화면 크기 및 입력 유형을 기준으로 적응 동작을 제공합니다.Pivot provides adaptive behavior based on the screen size and input type. Pivot 컨트롤을 사용자 지정하면 각 피벗 항목의 정보를 다른 보기로 표시하여 탭과 유사한 동작을 제공할 수 있습니다.You can style a Pivot control to provide tab-like behavior, with different views of information in each pivot item.

텍스트Text

기능Feature 설명Description
Windows 코어 텍스트 APIWindows core text APIs Windows.UI.Text.Core 네임스페이스는 키보드 입력을 단일 서버에서 처리하는 클라이언트-서버 시스템을 제공합니다.The new Windows.UI.Text.Core namespace features a client-server system that centralizes the processing of keyboard input into a single server. 이 네임스페이스를 사용하여 사용자 지정 텍스트 입력된 컨트롤의 편집 버퍼를 처리할 수 있습니다.You can use it to manipulate the edit buffer of your custom text input control. 텍스트 입력 서버는 앱과 서버 간에 비동기 통신 채널을 통해 텍스트 입력 컨트롤의 내용과 고유한 편집 버퍼의 내용을 항상 동기화 상태로 유지합니다.The text input server ensures that the contents of your text input control and the contents of its own edit buffer are always in sync, via an asynchronous communication channel between the app and the server.
벡터 아이콘Vector icons Glyphs 요소에는 컬러 글꼴을 지원하는 새로운 IsColorFontEnabledColorFontPalleteIndex 속성이 있어 이제 글꼴 파일을 사용하여 글꼴 기반 아이콘을 렌더링할 수 있습니다.The Glyphs element has the new IsColorFontEnabled and ColorFontPalleteIndex properties to support color fonts; now you can use a font file to render font-based icons. 색상표 전환에 ColorFontPalleteIndex를 사용할 경우, 아이콘의 활성화 버전과 비활성화 버전을 표시할 때와 같이 단일 아이콘을 다른 색 집합으로 렌더링할 수 있습니다.When you use ColorFontPalleteIndex for color palette switching, a single icon can be rendered with different color sets; for example, to show an enabled and disabled version of the icon.
입력기 창 이벤트Input Method Editor window events 사용자가 텍스트 입력 상자 바로 아래 창에 표시되는 입력기를 통해 텍스트를 입력하는 경우가 있습니다(일반적으로 동아시아 언어).Users sometimes enter text through an Input Method Editor that shows in a window just below a text input box (typically for East Asian languages). TextBoxRichEditBox에서 CandidateWindowBoundsChanged 이벤트 및 DesiredCandidateWindowAlignment 속성을 사용하면 IME 창의 앱 UI를 더 원활히 작동할 수 있습니다.You can use the CandidateWindowBoundsChanged event and DesiredCandidateWindowAlignment property on TextBox and RichEditBox to make your app UI work better with the IME window.
텍스트 구성 이벤트Text composition events TextBoxRichEditBox에 입력기를 사용하여 텍스트를 구성할 경우 앱에 알려주는 새 이벤트, TextCompositionStarted, TextCompositionEnded, TextCompositionChanged가 추가되었습니다.TextBox and RichEditBox have new events to inform your app when text is composed using an Input Method Editor: TextCompositionStarted, TextCompositionEnded, and TextCompositionChanged. 이러한 이벤트를 처리하여 IME 텍스트 구성 프로세스에 맞게 앱 코드를 조정할 수 있습니다.You can handle these events to coordinate your app code with the IME text composition process. 예를 들어 동아시아 언어에 대해 인라인 자동 완성 기능을 구현할 수 있습니다.For example, you could implement inline auto-completion functionality for East Asian languages.
양방향 텍스트의 향상된 처리Improved handling of bi-directional text XAML 텍스트 컨트롤에 양방향 텍스트 처리를 개선한 새로운 API가 추가되어 다양한 입력 언어에서 텍스트 정렬 및 문단 방향이 향상되었습니다.XAML text controls have new API to improve handling of bi-directional text, resulting in better text alignment and paragraph directionality across a variety of input languages. TextReadingOrder 속성의 기본값이 DetectFromContent로 변경되어 읽는 순서가 기본적으로 감지됩니다.The default value of the TextReadingOrder property has been changed to DetectFromContent, so support for detecting reading order is enabled by default. TextReadingOrder 속성도 PasswordBox, RichEditBox, TextBox에 추가되었습니다.The TextReadingOrder property has also been added to PasswordBox, RichEditBox, and TextBox. 텍스트 컨트롤의 TextAlignment 속성을 새로운 DetectFromContent 값으로 설정하면 콘텐츠 정렬 자동 감지를 사전 설정할 수 있습니다.You can set the TextAlignment property on text controls to the new DetectFromContent value to opt-in to having alignment detected automatically from the content.
텍스트 렌더링Text rendering Windows 10에서는 대체로 XAML 앱의 텍스트가 이제 Windows 8.1의 속도보다 거의 두 배 빠르게 렌더링됩니다.In Windows 10, text in XAML apps now renders, in most situations, at nearly twice the speed of Windows 8.1. 대부분의 경우 앱은 변경 없이 이 향상을 활용할 수 있습니다.In most cases, your apps will benefit from this improvement without any changes. 빠른 렌더링 외에도, 이러한 향상을 통해 XAML 앱의 일반적인 메모리 소비가 5% 감소합니다.In addition to faster rendering, these improvements also reduce typical memory consumption of XAML apps by 5%.

응용 프로그램 모델Application model

기능Feature 설명Description
CortanaCortana 외부 애플리케이션을 시작하고 해당 애플리케이션 내에서 단일 작업을 실행하는 음성 명령으로 Cortana의 기본 기능을 확장하세요.Extend the basic functionality of Cortana with voice commands that launch and execute a single action in an external application. 앱의 기본 기능을 통합하고 사용자가 앱을 직접 열지 않고도 대부분의 작업을 수행할 수 있는 중앙 진입점을 제공함으로써 Cortana는 앱과 사용자 간의 연락 담당자 역할을 할 수 있습니다.By integrating the basic functionality of your app, and by providing a central entry point for the user to accomplish most of the tasks without opening your app directly, Cortana can act as a liaison between your app and the user. 많은 경우 이렇게 하면 사용자의 시간과 노력을 상당히 줄일 수 있습니다.In many cases, this can save the user significant time and effort. 앱을 Cortana 캔버스에 통합하는 방법을 알아보세요.Learn how to integrate your app into the Cortana canvas. 아이디어가 필요한 경우 유니버설 Windows 앱에 대한 디자인 기본 사항에서 Cortana와 관련된 디자인 권장 사항 및 UX 지침을 참조할 수 있습니다.If you need ideas you can refer to the design recommendations and UX guidelines specific to Cortana in Design basics for Universal Windows apps.
파일 탐색기File Explorer Windows.System.Launcher.LaunchFolderAsync 메서드를 사용하면 파일 탐색기를 시작하고 지정한 폴더의 내용을 표시할 수 있습니다.The new Windows.System.Launcher.LaunchFolderAsync methods let you launch File Explorer and displays the contents of a folder that you specify.
공유 스토리지Shared storage Windows.ApplicationModel.DataTransfer.SharedStorageAccessManager 클래스 및 해당 메서드를 사용하면 URI 활성화를 사용하여 다른 앱을 시작할 때 공유 토큰을 전달하여 다른 앱과 파일을 공유할 수 있습니다.The new Windows.ApplicationModel.DataTransfer.SharedStorageAccessManager class and its methods let you share a file with another app by passing a sharing token when you launch the other app by using URI activation. 대상 앱은 토큰을 등록하여 원본 앱에서 공유한 파일을 가져옵니다.The target app redeems the token to get the file shared by the source app.
SettingsSettings LaunchUriAsync 메서드와 ms-settings 프로토콜을 사용하여 기본 제공 설정 페이지를 표시합니다.Display built-in settings pages by using the ms-settings protocol with the LaunchUriAsync method. 예를 들어 다음 코드는 Wi-Fi 설정 페이지를 표시합니다. bool result = await Launcher.LaunchUriAsync(new Uri("ms-settings://network/wifi"));For example, the following code displays the page of Wi-Fi settings: bool result = await Launcher.LaunchUriAsync(new Uri("ms-settings://network/wifi"));

표시할 수 있는 설정 페이지 목록에 대해서는 ms-settings 프로토콜을 사용하여 기본 제공 설정 페이지를 표시하는 방법을 참조하세요.For a list of the settings pages that you can display, see How to display built-in settings pages by using the ms-settings protocol.
앱 간 통신App-to-App communication Windows 10의 새로운 앱 간 통신 API를 통해 Windows 웹 응용 프로그램은 물론 Windows 응용 프로그램 간에 서로 시작하고 데이터 및 파일을 교환할 수 있습니다.New app-to-app communication APIs in Windows 10 make it possible for Windows applications (as well as Windows Web applications) to launch each other and exchange data and files. 이러한 새 API를 사용하면 이전에는 여러 애플리케이션을 사용해야 했던 복잡한 작업도 원활하게 처리할 수 있습니다.Using these new APIs, complex tasks that would have required the user to use multiple applications can now be handled seamlessly. 예를 들어 앱에서 소셜 네트워킹 앱을 실행하여 연락처를 선택하거나 체크 아웃 애플리케이션을 실행하여 지급 프로세스를 완료할 수 있습니다.For example, your app could launch a social networking app to choose a contact, or launch a checkout application to complete a payment process.
앱 서비스App services 앱 서비스는 앱이 Windows 10의 다른 앱에 서비스를 제공하는 한 가지 방법입니다.An app service is a way for an app to provide services to other apps in Windows 10. 앱 서비스는 백그라운드 작업 형태를 사용합니다.An app service takes the form of a background task. 포그라운드 앱은 다른 앱의 앱 서비스를 호출하여 백그라운드에서 작업을 수행합니다.Foreground apps can call an app service in another app to perform tasks in the background. 앱 서비스 API에 대한 참조 정보는 Windows.ApplicationModel.AppService를 참조하세요.For reference information about the app service API, see Windows.ApplicationModel.AppService.
앱 패키지 매니페스트App package manifest Windows 10의 패키지 매니페스트 스키마 참조에 대한 업데이트에는 추가, 제거 및 변경된 요소가 포함됩니다.Updates to the package manifest schema reference for Windows 10 include elements that have been added, removed, and changed. 스키마의 모든 요소, 특성 및 유형에 대한 참조 정보는 요소 계층 구조를 참조하세요.See Element Hierarchy for reference info on all elements, attributes, and types in the schema.

디바이스Devices

기능Feature 설명Description
Microsoft Surface HubMicrosoft Surface Hub Microsoft Surface Hub는 Surface Hub 또는 연결된 디바이스에서 기본적으로 실행되는 유니버설 Windows 앱을 위한 강력한 팀 협업 디바이스 및 큰 화면 플랫폼입니다.The Microsoft Surface Hub is a powerful team collaboration device and a large-screen platform for Universal Windows apps that run natively from Surface Hub or from your connected device. 큰 화면, 터치 및 수동 입력, 카메라 및 센서 같은 확장 온보드 하드웨어를 활용하는, 비즈니스를 위해 특별히 설계된 고유한 앱을 빌드하세요.Build your own apps, designed specifically for your business, that take advantage of the large screen, touch and ink input, and extensive onboard hardware like cameras and sensors.

유니버설 Windows 앱에 대한 디자인 기본 사항에서 Surface Hub와 관련된 디자인 권장 사항 및 UX 지침을 살펴보세요.Have a look at the design recommendations and UX guidelines specific to Surface Hub in Design basics for Universal Windows apps. 이러한 문서에서는 유니버설 Windows 앱에 대한 반응형 디자인 기술을 설명합니다.These docs explain responsive design techniques for Universal Windows apps.

공동 공유 앱 지원에 대한 자세한 내용은 SharedModeSettings를 참조하세요.For detail on supporting communal shared apps, see SharedModeSettings. 잉크 입력 및 새 InkCanvas 컨트롤에 대한 다중 지점 잉크 입력 지원에 대한 자세한 내용은 Windows.UI.Input.InkingWindows.UI.Input.Inking.Core를 참조하세요.For ink input and detail on support for multi-point inking on the new InkCanvas control, see Windows.UI.Input.Inking and Windows.UI.Input.Inking.Core. 센서 입력 처리에 대해서는 장치, 프린터 및 센서 통합을 참조하세요.For handling sensor input, see Integrating devices, printers, and sensors.
위치Location Windows 10에서는 사용자의 위치에 대한 액세스 권한을 요청하는 새로운 메서드인 RequestAccessAsync를 제공합니다.Windows 10 introduces a new method to prompt the user for permission to access their location, RequestAccessAsync. 사용자는 설정 앱의 위치 개인 정보 설정에서 자신의 위치 데이터 개인 정보를 설정합니다.The user sets the privacy of their location data with the location privacy settings in the Settings app. 앱은 다음의 경우에만 사용자 위치에 액세스할 수 있습니다. 이 디바이스의 위치가 켜져 있는 경우 (휴대폰용 Windows 10은 해당하지 않음) , 위치 서비스 설정 “위치”가 켜짐 상태인 경우 및 사용자의 위치를 사용할 수 있는 앱 선택에서 앱이 켜짐 상태로 설정된 경우.Your app can access the user's location only when: Location for this device is turned on (not applicable for Windows 10 for phones), the location services setting “Location” is on, and under Choose apps that can use your location, your app is set to on.

사용자의 위치에 액세스하기 전에 RequestAccessAsync를 호출하는 것이 중요합니다.It's important to call RequestAccessAsync before accessing the user’s location. 이때 앱이 포그라운드에 있어야 하고 RequestAccessAsync가 UI 스레드에서 호출되어야 합니다.At that time, your app must be in the foreground and RequestAccessAsync must be called from the UI thread. 사용자가 자신의 위치에 대한 권한을 앱에 부여하기 전에는 앱이 위치 데이터에 액세스할 수 없습니다.Until the user grants your app permission to their location, your app can't access location data.
AllJoynAllJoyn Windows.Devices.AllJoyn Windows 런타임 네임스페이스는 Microsoft에서 구현한 AllJoyn 오픈 소스 소프트웨어 프레임워크 및 서비스를 제공합니다.The Windows.Devices.AllJoyn Windows Runtime namespace introduces Microsoft's implementation of the AllJoyn open source software framework and services. 이러한 API를 사용하면 유니버설 Windows 디바이스 앱이 AllJoyn 기반 IoT(사물 인터넷) 시나리오에서 다른 디바이스에 참여할 수 있습니다.These APIs make it possible for your Universal Windows device app to participate with other devices in AllJoyn-driven, Internet of Things (IoT) scenarios. AllJoyn C API에 대한 자세한 내용을 보려면 AllSeen Alliance에서 설명서를 다운로드하세요.For more details about the AllJoyn C APIs, download the documentation at The AllSeen Alliance. 이 릴리스에 포함된 AllJoynCodeGen 도구를 사용하여 디바이스 앱에서 AllJoyn 시나리오를 가능하게 하기 위해 사용할 수 있는 Windows 구성 요소를 생성할 수 있습니다.Use the AllJoynCodeGen tool included in this release to generate a Windows component that you can use to enable AllJoyn scenarios in your device app.

참고: 이제 새 클래스의 소형 디바이스에 Windows 10 IoT Core를 사용할 수 있으므로 Windows 및 Visual Studio를 사용하여 IoT("사물 인터넷") 디바이스를 만들 수 있습니다.Note: Windows 10 IoT Core is now available for a new class of small devices, allowing you to create “Internet of Things” (IoT) devices using Windows and Visual Studio. Windows 개발자 센터에서 Windows IoT에 대해 자세히 알아보세요.Learn more about Windows IoT on Windows Dev Center.
모바일에서 API 인쇄(XAML)Printing APIs on mobile (XAML) 모바일 디바이스를 포함한 디바이스 패밀리의 XAML 기반 UWP 앱에서 인쇄할 수 있는 단일, 통합 API 집합이 있습니다.There is a single, unified set of APIs that let you print from your XAML-based UWP apps across device families, including mobile devices. 이제 Windows.Graphics.Printing 및 Windows.UI.Xaml.Printing 네임스페이스에서 인쇄와 관련된 익숙한 API를 사용하여 모바일 앱으로 인쇄를 추가할 수 있습니다.You can now add printing to your mobile app by using familiar printing-related APIs from the Windows.Graphics.Printing and Windows.UI.Xaml.Printing namespaces.
배터리Battery Windows.Devices.Power 네임스페이스의 배터리 API를 사용하면 앱에서 이 앱을 실행 중인 장치에 연결된 모드 배터리에 대해 더 자세히 파악할 수 있습니다.The battery APIs in the Windows.Devices.Power namespace let your app learn more about any batteries that are connected to the device that’s running your app. 각각 FromIdAsync 또는 AggregateBattery를 사용해서 Battery 개체를 만들어 개별 배터리 컨트롤러 또는 모든 배터리 컨트롤러의 집계를 나타냅니다.Create a Battery object to represent an individual battery controller or an aggregate of all battery controllers (when created by FromIdAsync or AggregateBattery, respectively). GetReport 메서드를 사용하여 해당 배터리의 충전, 용량 및 상태를 나타내는 BatteryReport 개체를 반환합니다.Use the GetReport method to return a BatteryReport object that indicates the charge, capacity, and status of the corresponding batteries.
MIDI 디바이스MIDI devices Windows.Devices.Midi 네임스페이스를 사용하면 외부 MIDI 디바이스와 통신할 수 있는 앱, Microsoft GS MIDI 소프트웨어 신시사이저와 직접 통신하는 앱 및 외부 디바이스, 여러 클라이언트가 동시에 단일 MIDI 포트에 액세스하는 시나리오를 만들 수 있습니다.The new Windows.Devices.Midi namespace lets you create A=apps that can communicate with external MIDI devices, Apps and external devices that directly communicate with the Microsoft GS MIDI software synthesizer, and scenarios where multiple clients simultaneously access a single MIDI port.
사용자 지정 센서 지원Custom sensor support Windows.Devices.Sensors.Custom 네임스페이스를 사용하여 하드웨어 개발자는 CO2 센서와 같은 새 사용자 지정 센서 형식을 정의할 수 있습니다.The Windows.Devices.Sensors.Custom namespace allows hardware developers to define new custom sensor types, like a CO2 sensor.
HCE(호스트 기반 카드 에뮬레이션)Host-based Card Emulation (HCE) 호스트 카드 에뮬레이션을 통해 OS에서 호스트되는 NFC 카드 에뮬레이션 서비스를 구현할 수 있으며 NFC 송수신 장치를 통해 외부 읽기 터미널과 계속 통신할 수 있습니다.Host card emulation enables you to implement NFC card emulation services hosted in the OS and still be able to communicate with the external reader terminal via NFC radio. NFC를 통해 스마트 카드를 에뮬레이트하는 백그라운드 작업을 트리거하려면 SmartCardTrigger 클래스를 사용합니다.To trigger a background task to emulate a smartcard via NFC, use the SmartCardTrigger class. SmartCardTriggerType 열거형의 EmulatorHostApplicationActivated 값을 사용하면 앱에서 HCE 이벤트가 발생한 것을 인식할 수 있습니다.The EmulatorHostApplicationActivated value in the SmartCardTriggerType enum lets your app know that an HCE event has occurred.

그래픽Graphics

기능Feature 설명Description
DirectXDirectX Windows 10의 DirectX 12에는 DirectX의 핵심에 해당하는 3D 그래픽 API인 Microsoft Direct3D의 다음 버전이 도입되었습니다.DirectX 12 in Windows 10 introduces the next version of Microsoft Direct3D, the 3D graphics API at the heart of DirectX. Direct3D 12 그래픽은 콘솔과 유사한 저급 API의 성능과 효율성을 가능하게 합니다.Direct3D 12 Graphics enables the efficiency and performance of a low-level, console-like API. Direct3D 12는 이전보다 더 빠르고 효율적이며Direct3D 12 is faster and more efficient than ever before. 풍부한 장면, 더 많은 개체, 더 복잡한 효과 및 최신 GPU 하드웨어의 보다 효율적인 활용을 지원합니다.It enables richer scenes, more objects, more complex effects, and better use of modern graphics hardware.
SoftwareBitmapSourceSoftwareBitmapSource 유니버설 Windows 앱에서 XAML 이미지 소스로 새 SoftwareBitmapSource 형식을 사용할 수 있습니다.In Universal Windows apps, you can use the new SoftwareBitmapSource type as a XAML image source. 이렇게 하면 인코드되지 않은 이미지를 XAML 프레임워크에 전달하여 XAML 프레임워크에 의한 이미지 디코딩을 무시하고 화면에 즉시 표시할 수 있습니다.This lets you pass un-encoded images to the XAML framework to be immediately displayed on screen, bypassing image decoding by the XAML framework. 지연 시간이 짧은 사진을 카메라에서 직접 렌더링하거나, 사용자 지정 디코더를 사용하거나, DirectX 표면에서 프레임을 캡처하거나, 메모리 내 이미지를 새로 만들어 짧은 대기 시간 및 낮은 메모리 오버헤드로 XAML에서 직접 렌더링하는 이미지 렌더링 시간을 단축할 수 있습니다.You can achieve much faster image rendering, such as rendering low-lag photos directly from the camera, using custom image decoders, capturing frames from DirectX surfaces, or even creating in-memory images from scratch and rendering them all directly in XAML with low latency and low memory overhead.
원근 카메라Perspective Camera 유니버설 Windows 앱에서 XAML의 새로운 Transform3D API를 사용하여 XAML 트리(또는 장면)에 관점 변환을 적용하면 모든 XAML 하위 요소가 해당 한 가지 장면 전체 변환(또는 카메라)에 따라 변환됩니다.In Universal Windows apps, XAML has a new Transform3D API that lets you apply perspective transforms to a XAML tree (or scene), which transforms all XAML child elements according to that single scene-wide transform (or camera). 이전에는 이 작업을 위해 MatrixTransform 및 복잡한 수학을 사용했지만 Transform3D를 통해 이 효과가 훨씬 간소화되었으며 효과에 애니메이션 효과를 줄 수도 있습니다.You could do this previously using MatrixTransform and complex math, but Transform3D greatly simplifies this effect, and also enables the effect to be animated. 자세한 내용은 UIElement.Transform3D property, Transform3D, CompositeTransform3D, PerspectiveTransform3D를 참조하세요.For more info, see the UIElement.Transform3D property, Transform3D, CompositeTransform3D, and PerspectiveTransform3D.

미디어Media

기능Feature 설명Description
HTTP 라이브 스트리밍HTTP Live Streaming AdaptiveMediaSource 클래스를 사용하여 앱에 적응 동영상 스트리밍 기능을 추가할 수 있습니다.You can use the new AdaptiveMediaSource class to add adaptive video streaming capabilities to your apps. 개체에서 스트리밍 매니페스트 파일을 가리켜 개체를 초기화합니다.The object is initialized by pointing it to a streaming manifest file. 지원되는 매니페스트 형식에는 HLS(HTTP 라이브 스트리밍) 및 DASH(Dynamic Adaptive Streaming over HTTP)가 포함됩니다.Supported manifest formats include Http Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH). 개체가 XAML 미디어 요소에 바인딩되면 적응형 재생이 시작됩니다.Once the object is bound to a XAML media element, adaptive playback begins. 사용 가능, 최소 및 최대 비트 전송률과 같은 스트림의 속성을 쿼리하고 적절한 경우 설정할 수 있습니다.Properties of the stream, such as the available, minimum, and maximum bitrates, can be queried and set where appropriate.
MFT(Media Foundation Transforms)에 대한 미디어 파운데이션 XVP(Transcode Video Processor) 지원Media Foundation Transcode Video Processor (XVP) support for Media Foundation Transforms (MFTs) MFT(Media Foundation Transforms)를 사용하는 Windows 앱은 이제 미디어 파운데이션 XVP(Transcode Video Processor) 를 사용하여 원시 비디오 데이터를 변환하고 크기를 조정하고 변형할 수 있습니다. 새 MF_XVP_CALLER_ALLOCATES_OUTPUT 특성을 사용하면 Microsoft DXVA(DirectX 비디오 가속) 모드에서도 호출자 할당 텍스처로 출력할 수 있습니다.Windows apps that use Media Foundation Transforms (MFTs) can now use the Media Foundation Transcode Video Processor (XVP) to convert, scale, and transform raw video data: The new MF_XVP_CALLER_ALLOCATES_OUTPUT attribute enables the output to caller-allocated textures even in Microsoft DirectX Video Acceleration (DXVA) mode. IMFVideoProcessorControl2 인터페이스는 앱에서 하드웨어 효과를 사용하고, 지원되는 하드웨어 효과를 쿼리하고, 비디오 프로세서가 수행하는 회전 작업을 재정의할 수 있도록 합니다.The new IMFVideoProcessorControl2 interface lets your app enable hardware effects, query for supported hardware effects, and override the rotation operation performed by the video processor.
코드 변환Transcoding MediaProcessingTrigger API를 통해 앱이 백그라운드 작업에서 미디어 코드 변환을 수행할 수 있으므로 포그라운드 앱이 종료된 경우에도 코드 변환 작업을 계속할 수 있습니다.The new MediaProcessingTrigger API lets your app perform media transcoding in a background task, so your transcoding operations can continue even when your foreground app has been terminated.
MediaElement 미디어 장애 이벤트MediaElement media failure events 유니버설 Windows 앱에서는 미디어 콘텐츠에 하나 이상의 유효한 스트리밍이 있을 경우 스트리밍 중 하나에서 디코딩 오류가 발생하더라도 MediaElement가 여러 스트리밍이 포함된 콘텐츠를 재생합니다.In Universal Windows apps, the MediaElement will play content containing multiple streams even if there’s an error decoding one of the streams, as long as the media content contains at least one valid stream. 예를 들어 오디오 및 동영상 스트림이 포함된 콘텐츠의 동영상 스트림이 실패할 경우 MediaElement는 오디오 스트림을 계속 재생합니다.For example, if the video stream in a content containing an audio and a video stream fails, the MediaElement will still play the audio stream. PartialMediaFailureDetected는 스트림 내의 스트림 중 하나를 디코드할 수 없다고 알려줍니다.The PartialMediaFailureDetected notifies you that one of the streams within a stream could not be decoded. 또한 UI에 해당 정보를 반영할 수 있도록 어떤 유형의 스트림이 실패했는지도 알려줍니다.It also lets you know what type of stream failed so that you can reflect that info in your UI. 미디어 스트림 내의 모든 스트림이 실패할 경우 MediaFailed 이벤트가 발생합니다.If all of the streams within a media stream fail, the MediaFailed event is raised.
MediaElement를 이용한 적응형 비디오 스트리밍 지원Support for adaptive video streaming with MediaElement MediaElement에는 적응형 비디오 스트리밍을 지원하는 새로운 SetPlaybackSource 메서드가 있습니다.MediaElement has the new SetPlaybackSource method to support adaptive video streaming. 이 메서드를 사용하여 미디어 소스를 AdaptiveMediaSource로 설정할 수 있습니다.Use this method to set your media source to an AdaptiveMediaSource.
MediaElement 및 이미지로 캐스팅Casting with MediaElement and Image MediaElement 및 이미지 컨트롤에는 새로운 GetAsCastingSource 메서드가 있습니다.The MediaElement and Image controls have the new GetAsCastingSource method. 이 메서드를 사용하여 모든 미디어 또는 이미지 요소에서 Miracast, Bluetooth, DLNA와 같은 광범위한 원격 디바이스로 콘텐츠를 프로그래밍 방식으로 전송할 수 있습니다.You can use this method to programmatically send content from any media or image element to a broader range of remote devices, like Miracast, Bluetooth, and DLNA. MediaElement에서 AreTransportControlsEnabled를 true로 설정하면 이 기능이 자동으로 활성화됩니다. This functionality is enabled automatically when you set AreTransportControlsEnabled to true on a MediaElement.
데스크톱 앱을 위한 미디어 전송 컨트롤Media transport controls for desktop apps ISystemMediaTransportControls 인터페이스 및 관련 API를 통해 데스크톱 앱은 기본 제공 시스템 미디어 전송 컨트롤과 상호 작용합니다.The ISystemMediaTransportControls interface and related APIs allow desktop apps to interact with the built-in system media transport controls. 사용자가 전송 컨트롤 단추를 조작하는 것에 대한 응답, 현재 재생 중인 미디어 콘텐츠에 대한 메타데이터를 표시하도록 전송 컨트롤을 업데이트하는 것 등이 여기에 포함됩니다.This includes responding to user interactions with the transport control buttons, and updating the transport controls display to show metadata about currently playing media content.
임의 액세스 JPEG 인코딩 및 디코딩Random-access JPEG encoding and decoding 새 WIC 메서드 IWICJpegFrameEncodeIWICJpegFrameDecode를 통해 JPEG 이미지를 인코드 및 디코드할 수 있습니다.New WIC methods IWICJpegFrameEncode and IWICJpegFrameDecode enable the encoding and decoding of JPEG images. 또한 이제 더 큰 메모리 공간을 희생하여 큰 이미지에 대한 효율적인 임의 액세스를 제공하는 이미지 데이터 인덱싱을 사용할 수 있습니다.You can also now enable indexing of the image data, which provides efficient random access to large images at the expense of a larger memory footprint.
미디어 컴퍼지션의 오버레이Overlays for media compositions MediaOverlayMediaOverlayLayer API를 통해 정적 또는 동적 미디어 콘텐츠의 여러 계층을 쉽게 미디어 컴퍼지션에 추가할 수 있습니다.The new MediaOverlay and MediaOverlayLayer APIs make it easy to add multiple layers of static or dynamic media content to a media composition. 각 계층의 불투명도, 위치 및 타이밍을 조정할 수 있으며 입력 계층에 대한 사용자 지정 작성자를 구현할 수도 있습니다.Opacity, position, and timing can be adjusted for each layer, and you can even implement your own custom compositor for input layers.
새로운 효과 프레임워크New effects framework Windows.Media.Effects 네임스페이스는 오디오 및 동영상 스트림에 효과를 추가하는 단순하고 직관적인 프레임워크를 제공합니다.The Windows.Media.Effects namespace provides a simple and intuitive framework for adding effects to audio and video streams. 이 프레임워크에는 사용자 지정 오디오 및 동영상 효과를 만들어 미디어 파이프라인에 삽입하도록 구현할 수 있는 기본 인터페이스가 포함되어 있습니다.The framework includes basic interfaces that you can implement to create custom audio and video effects and insert them into the media pipeline.

네트워킹Networking

기능Feature 설명Description
소켓Sockets 소켓 업데이트에는 다음이 포함됩니다.Socket updates include:

소켓 브로커: 소켓 브로커는 앱 수명 주기의 모든 상태에서 앱을 대신하여 소켓 연결을 설정하고 닫을 수 있습니다.Socket broker: The socket broker can establish and close socket connections on behalf of an app in any state of the app lifecycle. 이를 통해 제공되는 앱과 서비스를 보다 잘 검색할 수 있습니다.This makes apps and the services that they provide more discoverable. 예를 들어 소켓 브로커를 통해 Win32 서비스는 실행되고 있지 않은 경우에도 수신 소켓 연결을 계속 수락할 수 있습니다.For example, by way of the socket broker, a Win32 service can still accept incoming socket connections even when it’s not running.

처리량 향상: 소켓 처리량은 Windows.Networking.Sockets 네임스페이스를 사용하는 앱에 맞게 최적화되었습니다.Throughput improvements: Socket throughput has been optimized for apps that use the Windows.Networking.Sockets namespace.
백그라운드 전송 처리 후 작업Background Transfer post-processing tasks Windows.Networking.BackgroundTransfer 네임스페이스의 새 API를 사용하여 처리 후 작업 그룹을 등록할 수 있습니다.New APIs in the Windows.Networking.BackgroundTransfer namespace let you register groups of post-processing tasks. 따라서 앱은 포그라운드 상태가 아니더라도 사용자가 다음번에 앱을 다시 시작할 때까지 기다릴 필요 없이 백그라운드 전송의 성공 또는 실패에 대해 즉시 반응할 수 있습니다.So your app can act on the success or failure of background transfers immediately, even if it’s not in the foreground, instead of waiting for the next time the user resumes the app.
Bluetooth 광고 지원Bluetooth support for advertisements Windows.Devices.Bluetooth.Advertisement 네임스페이스를 사용하면 앱은 Bluetooth LE 광고를 보내고 받고 필터링할 수 있습니다.With the Windows.Devices.Bluetooth.Advertisement namespace, your apps can send, receive, and filter Bluetooth LE advertisements.
Wi-Fi Direct API 업데이트Wi-Fi Direct API update 디바이스 브로커는 앱을 떠나지 않고도 디바이스와 연결될 수 있게 업데이트되었습니다.The device broker is updated to enable pairing with devices without leaving the app. Windows.Devices.WiFiDirect 네임스페이스가 추가되어 해당 장치가 다른 장치에서 검색될 수 있으며 들어오는 연결 알림을 수신할 수 있습니다.Additions to the Windows.Devices.WiFiDirect namespace also let a device make itself discoverable to other devices, and let it listen for incoming connection notifications.

참고: 이 릴리스에서는 향상된 Wi-Fi Direct 기능이 UX에 제공되지 않으며 누름 단추 페어링만 지원합니다.Note: In this release, the Wi-Fi Direct feature improvements are not built into the UX, and they support only push-button pairing. 또한 이 릴리스에서는 하나만 활성 연결만 지원합니다.Also, this release supports only one active connection.
향상된 JSON 지원JSON support improvements Windows.Data.Json 네임스페이스는 이제 디버그 세션 중에 JSON 개체를 변환할 때 기존 표준 정의 및 개발자 환경을 더욱 잘 지원합니다.The Windows.Data.Json namespace now better supports existing standard definitions and the developer experience when converting JSON objects during debug sessions.

보안Security

기능Feature 설명Description
ECC 암호화ECC encryption Windows.Security.Cryptography 네임스페이스의 새 API는 유한체 위의 타원형 곡선을 기반으로 하는 공개 키 암호화 구현을 나타내는 ECC(타원 곡선 암호화)를 지원합니다.New APIs in the Windows.Security.Cryptography namespace provide support for Elliptical Curve Cryptography (ECC), a public-key cryptography implementation based on elliptical curves over finite fields. ECC는 RSA보다 수학적으로 더 복잡하고, 더 작은 키 크기를 제공하며, 메모리를 적게 사용하고, 성능을 향상합니다.ECC is mathematically more complex than RSA, provides smaller key sizes, reduces memory consumption, and improves performance. 또한 Microsoft 서비스 및 고객에게 RSA 키 및 NIST 승인 곡선 매개 변수를 대신할 수 있는 기능을 제공합니다.It offers Microsoft services and customers an alternative to RSA keys and NIST-approved curve parameters.
Microsoft PassportMicrosoft Passport Microsoft Passport는 암호를 비대칭 암호화 및 제스처로 바꾸는 대체 인증 방법입니다.Microsoft Passport is an alternative method of authentication that replaces passwords with asymmetric cryptography and a gesture. KeyCredentialManger와 같은 자격 증명 네임스페이스의 클래스를 통해 개발자는 복잡한 암호화 또는 생체 인식을 사용하지 않고 Microsoft Passport를 사용하여 쉽게 응용 프로그램을 만들 수 있습니다.Classes in the Credentials namespace, such as KeyCredentialManger, make it easy for developers to create application using Microsoft Passport without the complexity of cryptography or biometrics.
Microsoft Passport for WorkMicrosoft Passport for Work Microsoft Passport for Work는 암호, 스마트 카드 및 가상 스마트 카드를 사용하지 않는 Azure Active Directory 계정으로 Windows에 로그인하는 대체 방법입니다.Microsoft Passport for Work is an alternative method for signing in Windows using your Azure Active Directory account that does not use passwords, smart card, and Virtual Smart Cards. 이 정책 설정을 사용할지 또는 사용하지 않을지를 선택할 수 있습니다.You can choose whether to disable or enable this policy setting.
토큰 브로커Token Broker 토큰 브로커는 앱이 온라인 ID 제공자(예: Facebook)에 쉽게 연결할 수 있도록 하는 새로운 인증 프레임워크입니다.Token Broker is a new authentication framework that makes it easier for apps to connect to online identity providers (like Facebook). 계정 사용자 이름 및 암호 관리, 간소화된 UI 등의 기능은 사용자에게 획기적으로 개선된 인증 환경을 제공합니다.Features such as account username and password management and a streamlined UI provide a greatly improved authentication experience for users.

시스템 서비스System services

기능Feature 설명Description
고급Power 이제 배터리 절약 모드를 시작하거나 이 모드가 해제될 때 Windows 데스크톱 애플리케이션에서 알림을 받을 수 있습니다.Your Windows desktop application can now be notified when battery saver is engaged or disengaged. 애플리케이션에서 전원 상태 변화에 반응하면서 배터리 수명을 연장할 수 있게 됩니다.By responding to changing power conditions, your application has the opportunity to help extend battery life.

GUID_POWER_SAVING_STATUS: 배터리 절약 모드를 시작하거나 이 모드가 해제될 때 알림을 받으려면 이 새 GUID와 PowerSettingRegisterNotification 함수를 함께 사용합니다.GUID_POWER_SAVING_STATUS: Use this new GUID with the PowerSettingRegisterNotification function to be notified when battery saver is engaged or disengaged.

SYSTEM_POWER_STATUS: 이 구조는 배터리 절약 모드를 지원하도록 업데이트되었습니다.SYSTEM_POWER_STATUS: This structure has been updated to support battery saver. 이제 네 번째 멤버인 SystemStatusFlag(이전 이름 Reserved1)는 배터리 절약 모드가 사용되는지 여부를 나타냅니다.The fourth member, SystemStatusFlag (previously named Reserved1, now indicates if battery saver is engaged or not. GetSystemPowerStatus 함수를 사용하여 이 구조에 대한 포인터를 가져올 수 있습니다.Use the GetSystemPowerStatus function to retrieve a pointer to this structure.
VersionVersion 버전 도우미 함수를 사용하여 운영 체제의 버전을 확인할 수 있습니다.You can use the Version Helper functions to determine the version of the operating system. Windows 10의 경우 이러한 도우미 함수에는 새로운 함수 IsWindows10OrGreater가 포함됩니다.For Windows 10, these helper functions include a new function, IsWindows10OrGreater. 시스템 버전을 확인하려는 경우 더 이상 사용되지 않는 GetVersionExGetVersion이 아닌 도우미 함수를 사용해야 합니다.You should use the helper functions rather than the deprecated GetVersionEx and GetVersion functions when you want to determine the system version. 시스템 버전을 가져오는 방법에 대한 자세한 내용은 시스템 버전 가져오기를 참조하세요.For more information about how to get the system version, see Getting the System Version.

더 이상 사용되지 않는 GetVersionEx 또는 GetVersion 함수를 사용하여 OSVERSIONINFOEX 또는 OSVERSIONINFO 구조의 버전 정보를 가져오는 경우 이러한 구조는 Windows 8.1 및 Windows Server 2012 R2의 6.3에서 Windows 10의 10.0으로 증가한 버전 번호를 포함한다는 점에 유의하시기 바랍니다.If you do use the deprecated GetVersionEx or GetVersion function to get version information in an OSVERSIONINFOEX or OSVERSIONINFO structure, be aware that the version number that these structures contain increases from 6.3 for Windows 8.1 and Windows Server 2012 R2 to 10.0 for Windows 10. 운영 체제 버전 번호에 대한 자세한 내용은 운영 체제 버전을 참조하세요.For more information about version numbers for the operating system, see Operating System Version.

또한 GetVersionEx 또는 GetVersion 함수를 사용하여 이러한 버전에 대한 올바른 버전 정보를 가져오려면 응용 프로그램에서 Windows 8.1 또는 Windows 10을 구체적으로 대상으로 지정해야 합니다.You also need to specifically target Windows 8.1 or Windows 10 in your application to get the correct version information for these versions with the GetVersionEx or GetVersion function. 이러한 Windows 버전용 응용 프로그램을 대상으로 지정하는 방법에 대한 자세한 내용은 Windows용 응용 프로그램을 대상으로 지정을 참조하세요.For information about how to target your application for these versions of Windows, see Targeting your application for Windows.
사용자 정보User information Windows.System 네임스페이스의 새로운 API를 통해 사용자 이름 및 계정 사진과 같은 사용자 관련 정보에 쉽게 액세스할 수 있습니다.New APIs in the Windows.System namespace make it easy to access information about a user, like their username and account picture. 또한 로그인 및 로그아웃과 같은 사용자 이벤트에 응답하는 기능도 제공합니다.It also provides the ability to respond to user events such as log-in and log-out.
메모리 관리 및 프로파일링Memory management and profiling Windows.System의 메모리 프로파일링 API에 대한 지원이 모든 플랫폼으로 확장되었으며 전반적인 기능이 새로운 클래스 및 함수를 통해 개선되었습니다.Support for memory profiling API in Windows.System has been extended to all platforms, and their overall functionality has been enhanced with new classes and functions.

스토리지Storage

기능Feature 설명Description
Windows Phone에서 사용할 수 있는 파일 검색 APIFile-search APIs available for Windows Phone 앱 게시자는 앱 매니페스트에 확장을 추가하여 게시하는 다른 앱과 스토리지 폴더를 공유하도록 앱을 등록할 수 있습니다.As an app publisher, you can register your app to share a storage folder with other apps that you publish by adding extensions to the app manifest. 그런 다음 Windows.Storage.ApplicationData.GetPublisherCacheFolder 메서드를 호출하여 공유 저장소 위치를 가져옵니다.Then call the Windows.Storage.ApplicationData.GetPublisherCacheFolder method to get the shared storage location. Windows 런타임 앱의 강력한 보안 모델은 일반적으로 앱 간 데이터 공유를 방지합니다.The strong security model of Windows Runtime apps typically prevents apps from sharing data among themselves. 그러나 동일한 게시자의 앱에서는 사용자별로 파일 및 설정을 공유하는 것이 유용할 수 있습니다.But it can be useful for apps from the same publisher to share files and settings on a per-user basis.

도구Tools

기능Feature 설명Description
Visual Studio의 실시간 시각적 트리Live Visual Tree in Visual Studio Visual Studio에 새로운 실시간 시각적 트리 기능이 추가되었습니다.Visual Studio has a new Live Visual Tree feature. 디버그 중에 이 기능을 사용하여 앱의 시각적 트리 상태를 빠르게 파악하고 요소 속성이 어떻게 설정되었는지 검색할 수 있습니다.You can use it while debugging to quickly understand the state of your app’s visual tree, and discover how element properties were set. 또한 앱이 실행되는 동안 속성 값을 변경할 수 있어 다시 실행하지 않고도 수정과 실험이 가능합니다.It also lets you change property values while your app is running, so you can tweak and experiment without having to re-launch.
추적 로그Trace logging TraceLogging은 사용자 모드 앱 및 커널 모드 드라이버에 대한 새 이벤트 추적 API로, ETW(Windows용 이벤트 추적)를 기반으로 빌드됩니다.TraceLogging is a new event-tracing API for user-mode apps and kernel-mode drivers; it builds on Event Tracing for Windows (ETW). 이 API는 별도의 계측 매니페스트 XML 파일 없이도 코드를 계측화하고 이벤트에 구조화된 데이터를 포함하는 간편한 방법을 제공합니다.This API provides a simplified way to instrument code and include structured data with events without requiring a separate instrumentation manifest XML file. WinRT,.NET 및 C/C++ TraceLogging API는 각기 다른 개발자 대상 그룹에 사용될 수 있습니다.WinRT, .NET, and C/C++ TraceLogging APIs are available to serve different developer audiences.

사용자 환경User Experience

기능Feature 설명Description
음성 인식Speech recognition 이제 유니버설 Windows 플랫폼에서는 긴 형식 받아쓰기 시나리오에 대한 지속적인 음성 인식이 지원됩니다.Continuous speech recognition for long-form dictation scenarios is now supported by the Universal Windows Platform. 음성 조작 설명서에서 연속 받아쓰기를 사용하도록 설정하는 방법을 참조하세요.See how to enable continuous dictation in the Speech interaction docs.
다른 애플리케이션 플랫폼 간 끌어서 놓기 기능Drag-and-drop capabilities between different application platforms Windows.ApplicationModel.DataTransfer.DragDrop 네임스페이스는 유니버설 Windows 앱에 끌어서 놓기 기능을 제공합니다.The new Windows.ApplicationModel.DataTransfer.DragDrop namespaces bring drag-and-drop functionality to Universal Windows apps. 이전과 같이 폴더의 문서를 Outlook 메일 메시지로 끌어와 첨부하는 데스크톱 프로그램의 일반적인 끌어서 놓기 기능이 유니버설 Windows 앱에서는 가능하지 않습니다.Previously, common drag-and-drop scenarios for desktop programs—such as dragging a document from a folder into an Outlook email message to attach it—are not possible with Universal Windows apps. 이러한 새로운 API를 사용하여 앱 사용자는 다른 유니버설 Windows 앱과 데스크톱 간에 데이터를 쉽게 이동할 수 있습니다.Using these new APIs, your app can let users easily move data between different Universal Windows apps and the desktop.

앱 간 끌어서 놓기 기능을 지원하기 위해 XAML에 다음과 같은 새 API가 추가되었습니다. ListViewBase.DragItemsCompleted;To support Drag and Drop between apps, these new APIs have been added to XAML: ListViewBase.DragItemsCompleted;
UIElement: CanDrag, DragStarting, StartDragAsync, DropCompleted;UIElement: CanDrag, DragStarting, StartDragAsync, DropCompleted;
DragOperationDeferral, DragUI, DragUIOverride;DragOperationDeferral, DragUI, DragUIOverride;
DragEventArgs: AcceptedOperation, DataView, DragUIOverride, GetDeferral, Modifiers;DragEventArgs: AcceptedOperation, DataView, DragUIOverride, GetDeferral, Modifiers;
DragItemsCompletedEventArgs, DropCompletedEventArgs, DragStartingEventArgsDragItemsCompletedEventArgs, DropCompletedEventArgs, DragStartingEventArgs
Custom window title barsCustom window title bars 데스크톱 장치 패밀리의 UWP 앱에서 이제 ApplicationViewTitleBar 클래스와 ApplicationView.TitleBar 속성 및 Window.SetTitleBar 메서드를 사용하여 기본 Windows 제목 표시줄 내용을 사용자 지정 XAML 콘텐츠로 바꿀 수 있습니다.For UWP apps for the desktop device family, you can now use the ApplicationViewTitleBar class with the ApplicationView.TitleBar property and Window.SetTitleBar method to replace the default Windows title bar content with your own custom XAML content. XAML이 “시스템 크롬"으로 취급되므로 Windows는 앱이 아닌 입력 이벤트를 처리합니다.Your XAML is treated as "system chrome", so Windows will handle the input events instead of your app. 즉, 사용자가 사용자 지정 제목 표시줄의 내용을 클릭할 때에도 창을 끌어 놓고 크기를 변경할 수 있습니다.This means the user can still drag and resize the window, even when clicking on your custom title bar content.

Web

기능Feature 설명Description
Microsoft EdgeMicrosoft Edge Microsoft Edge는 Windows 10용으로 빌드된 새로운 기본 브라우저입니다.Microsoft Edge is the new default browser built for Windows 10. 최신 JavaScript 기능을 비롯하여 Microsoft Edge에 포함된 개발자 기능 및 표준에 대한 자세한 내용과 개요는 Microsoft Edge 개발자 가이드를 참조하세요.For more information and an overview of the developer features and standards included in Microsoft Edge, including the latest JavaScript features, see The Microsoft Edge Developer Guide.
WebView 검색WebView browsing WebView 컨트롤은 새로운 Microsoft Edge 브라우저와 동일한 렌더링 엔진을 사용하여The WebView control uses the same rendering engine as the new Microsoft Edge browser. 가장 정확한 표준 규격 모드의 HTML 렌더링을 제공합니다.This provides the most accurate, standards-compliant mode of HTML rendering.
오프-스레드 WebViewOff-thread WebView WebView.ExecutionMode를 지정할 경우 처리를 활성화하고 별도 백그라운드 스레드에 웹 콘텐츠를 표시하여You can specify a WebView.ExecutionMode to enable processing and display of web content on a separate background thread. 특정 시나리오에서 성능을 향상할 수 있습니다.This can improve performance in certain, specific scenarios.
WebView.UnsupportedUriSchemeIdentified 이벤트WebView.UnsupportedUriSchemeIdentified event 새로운 WebView.UnsupportedUriSchemeIdentified 이벤트를 사용하면 앱에서 지원되지 않는 URI 체계를 처리할 방식을 결정할 수 있습니다.The new WebView.UnsupportedUriSchemeIdentified event lets you decide how your app should an unsupported URI scheme. 앱이 지원되지 않는 URI 체계를 처리할 방법을 제공할 수 있도록 이 이벤트를 처리할 수 있습니다.You can handle this event to let your app provide custom handling of unsupported URI schemes. HTML WebView 컨트롤에 대한 자세한 내용은 MSWebViewUnsupportedUriSchemeIdentified 이벤트를 참조하세요.For the HTML WebView control, see the MSWebViewUnsupportedUriSchemeIdentified event.
WebView.NewWindowRequested 이벤트WebView.NewWindowRequested event 새로운 WebView.NewWindowRequested 이벤트에서는 WebView의 스크립트에서 새 브라우저 창을 요청할 때 응답할 수 있습니다.The new WebView.NewWindowRequested event lets you respond when a script in a WebView requests a new browser window. HTML WebView 컨트롤에 대한 자세한 내용은 MSWebViewNewWindowRequested 이벤트를 참조하세요.For the HTML WebView control, see the MSWebViewNewWindowRequested event.
WebView.PermissionRequested 이벤트WebView.PermissionRequested event 새로운 WebView.PermissionRequested 이벤트에서는 WebView 콘텐츠가 위치와 같이 사용자의 특별 허가가 필요한 새로운 HTML5 API를 활용할 수 있습니다.The new WebView.PermissionRequested event lets WebView content leverage rich new HTML5 APIs that require special permission from the user, like geolocation. HTML WebView 컨트롤에 대한 자세한 내용은 MSWebViewPermissionRequested 이벤트를 참조하세요.For the HTML WebView control, see the MSWebViewPermissionRequested event.
WebView.UnviewableContentIdentified 이벤트WebView.UnviewableContentIdentified event WebView.UnviewableContentIdentified 이벤트에서는 WebView에서 PDF 파일 또는 Office 문서와 같은 웹 이외의 콘텐츠를 탐색할 때 응답할 수 있습니다.The new WebView.UnviewableContentIdentified event lets you respond when the WebView is navigated to non-web content such as a PDF file or Office document. HTML WebView 컨트롤에 대한 자세한 내용은 MSWebViewUnviewableContentIdentified 이벤트를 참조하세요.For the HTML WebView controls, see the MSWebViewUnviewableContentIdentified event.
WebView.AddWebAllowedObject 메서드WebView.AddWebAllowedObject method 새로운 WebView.AddWebAllowedObject 메서드를 호출하여 WinRT 개체를 XAML WebView로 불러온 다음 해당 WebView에 호스팅된 신뢰할 수 있는 JavaScript에서 기능을 호출할 수 있습니다.You can call the new WebView.AddWebAllowedObject method to inject a WinRT object into a XAML WebView, and then call its functions from trusted JavaScript hosted in that WebView. 예를 들어, 웹 콘텐츠가 상위 앱이 ToastNotificationManager WinRT API를 호출하도록 요청하여 시스템 알림을 표시할 수 있습니다.For example, web content can show system notifications by requesting that its parent app call the ToastNotificationManager WinRT API. HTML WebView 컨트롤에 대한 자세한 내용은 addWebAllowedObject 메서드를 참조하세요.For the HTML WebView control, see the addWebAllowedObject method.
WebView.ClearTemporaryWebDataAsync 메서드WebView.ClearTemporaryWebDataAsync method 사용자가 XAML WebView 내의 웹 콘텐츠와 상호 작용할 경우 WebView 컨트롤은 해당 사용자의 세션을 기준으로 데이터를 캐싱합니다.When a user interacts with web content inside a XAML WebView, the WebView control caches data based on that user's session. ClearTemporaryWebDataAsync 메서드를 호출하면 이 캐시를 지울 수 있습니다.You can call the new ClearTemporaryWebDataAsync method to clear this cache. 예를 들어 한 사용자가 앱에서 로그아웃할 때 다른 사용자가 이전 세션의 데이터에 액세스할 수 없도록 캐시를 지울 수 있습니다.For example, you can clear the cache when one user logs out of the app so another user can’t access any data from the previous session.