エンタープライズEnterprise

この記事では、Windows 10 アプリ用のユニバーサル Windows プラットフォーム (UWP) で提供される主要なエンタープライズ機能の概要について説明します。This article provides an overview of key enterprise features provided by the Universal Windows Platform (UWP) for Windows 10 apps. これらのいくつかの機能を詳しく説明するビデオについては、「Rapidly Construct LOB Applications with UWP and Visual Studio」 (UWP と Visual Studio で LOB アプリケーションをすばやく構築する) をご覧ください。For a video that demonstrates some of these features in detail, see Rapidly Construct LOB Applications with UWP and Visual Studio.

Windows Template StudioWindows Template Studio

Windows Template Studio は Visual Studio 2017 と Visual Studio 2019 の拡張機能であり、ウィザード ベースのエクスペリエンスを使用して、新しいユニバーサル Windows プラットフォーム (UWP) アプリをより迅速に作成できます。Windows Template Studio is a Visual Studio 2017 and Visual Studio 2019 Extension that accelerates the creation of new Universal Windows Platform (UWP) apps using a wizard-based experience. 結果として得られる UWP プロジェクトは、実証済みのパターンとベスト プラクティスを実装するときに、最新の Windows 10 機能を組み込む適切な形式の読み取り可能なコードです。The resulting UWP project is well-formed, readable code that incorporates the latest Windows 10 features while implementing proven patterns and best practices.

Windows Template Studio

Windows Template Studio」を参照してくださいSee Windows Template Studio

デスクトップ スタイルの UI を作成するコントロールControls to create desktop-style UIs

従来のデスクトップ アプリケーション UI と UWP UI とのギャップを埋める、新しい UWP XAML コントロールがリリースされました。We've released new UWP XAML controls that fill the gap between a traditional desktop application UI and a UWP UI.

たとえば、新しい MenuBarDropDownButtonSplitButton、および CommandBarFlyout コントロールでは、より柔軟にコマンドを公開することができます。また、EditableComboBox では、ユーザーが定義済みのオプション リストに示されていない値を入力することができます。For example, the new MenuBar, DropDownButton, SplitButton, and CommandBarFlyout controls give you more flexible ways to expose commands, and the EditableComboBox let's the user enter values that aren't listed in a pre-defined list of options.

MenuBar

エンタープライズ シナリオをサポートするコントロールControls to support enterprise scenarios

DataGridView では、行と列に柔軟にデータ コレクションを表示できます。The DataGridView provides a flexible way to display a collection of data in rows and columns.

TreeView を使用すると、階層リストが有効になり、入れ子になった項目を含むノードを展開したり、折りたたんだりすることができるようになります。The TreeView enables a hierarchical list with expanding and collapsing nodes that contain nested items. フォルダー構造や入れ子になった関係を UI で視覚的に示すために使用できます。It can be used to illustrate a folder structure or nested relationships in your UI.

DataGrid コントロール

Windows UI ライブラリWindows UI Library

Windows UI ライブラリは、UWP アプリ用のコントロールとその他のユーザー インターフェイス要素を提供する NuGet パッケージのセットです。The Windows UI Library is a set of NuGet packages that provide controls and other user interface elements for UWP apps. また、以前のバージョンの Windows 10 との下位互換性が有効になるため、ユーザーが最新の OS を持っていない場合でも、アプリは動作します。It also enables down-level compatibility with earlier versions of Windows 10, so your app works even if users don't have the latest OS.

Windows UI ライブラリ

Windows UI ライブラリ (プレビュー バージョン) に関するページを参照してください。See Windows UI Library (Preview version).

デスクトップ アプリケーションの UWP コントロールUWP controls in desktop applications

Windows 10 では、WPF、Windows フォーム、および C++ Win32 デスクトップ アプリケーションで UWP コントロールを使用できるようになりました。Windows 10 now enables you to use UWP controls in WPF, Windows Forms, and C++ Win32 desktop applications. つまり、Windows Ink や Fluent Design System をサポートするコントロールなど、UWP コントロールでのみ利用可能な最新の Windows 10 UI 機能で、既存のデスクトップ アプリケーションの外観、操作性、機能を拡張することができます。This means that you can enhance the look, feel, and functionality of your existing desktop applications with the latest Windows 10 UI features that are only available via UWP controls, such as Windows Ink and controls that support the Fluent Design System. この機能を XAML Islands といいます。This feature is called XAML islands.

デスクトップ アプリケーションの UWP コントロール」を参照してください。See UWP controls in desktop applications.

.NET Standard 2.0.NET Standard 2.0

この .NET Standard には、.NET Standard 1.x の API のほかに、さらに 20,000 個を超える API が含まれています。The .NET Standard includes over 20,000 more APIs than .NET Standard 1.x. これにより、はるかに簡単に既存の .NET Framework ライブラリを移行でき、UWP アプリケーションを含む、さまざまな .NET アプリケーション間で使用できるようになります。This makes it so much easier to migrate existing .NET Framework libraries and then use them across different .NET applications including your UWP application.

net-standard

Share code between a desktop app and a UWP app」 (デスクトップ アプリと UWP アプリでコードを共有する) を参照してください。See Share code between a desktop app and a UWP app.

SQL Server の接続SQL Server connectivity

アプリで System.Data.SqlClient 名前空間のクラスを使用して、SQL Server データベースに直接接続し、データを保存および取得することができます。Your app can connect directly to a SQL Server database and then store and retrieve data by using classes in the System.Data.SqlClient namespace.

UWP アプリでの SQL Server データベースの使用」をご覧ください。See Use a SQL Server database in a UWP app.

MSIX の展開MSIX deployment

MSIX は、あらゆる Windows アプリに最新のパッケージ化エクスペリエンスを提供する Windows アプリ パッケージ形式です。MSIX is the Windows app package format that provides a modern packaging experience to all Windows apps. MSIX パッケージ形式では、Win32、WPF、および Windows フォームに対して新たな、最新のパッケージ化および展開機能が有効になるだけでなく、既存のアプリ パッケージとインストール ファイルの機能が維持されます。The MSIX package format preserves the functionality of existing app packages and install files in addition to enabling new, modern packaging and deployment features to Win32, WPF, and Windows Forms apps.

MSIX は、.msi、.appx、App-V および ClickOnce インストール テクノロジの組み合わせに基づき、安全な、セキュアで信頼性の高いものとなるように構築されたパッケージ化形式です。MSIX is a packaging format built to be safe, secure and reliable, based on a combination of .msi, .appx, App-V and ClickOnce installation technologies.

MSIX アイコン

MSIX documentation」 (MSIX ドキュメント) を参照してください。See MSIX documentation.

セキュリティSecurity

Windows 10 には、一連のセキュリティ機能が用意されています。これらの機能を利用することで、アプリ開発者は、ユーザーの個人情報、企業ネットワークのセキュリティ、デバイスに保存されているビジネス データを保護することができます。Windows 10 provides a suite of security features for app developers to protect the identity of their users, the security of corporate networks, and any business data stored on devices. Windows 10 の新機能として、Microsoft Passport があります。これにより、従来のパスワードに代わる 2 要素のパスワードを簡単に展開することができます。2 要素のパスワードは、PIN や Windows Hello を使って利用することができ、エンタープライズ レベルのセキュリティを実現し、指紋認識、顔認識、虹彩認識をサポートしています。New for Windows 10 is Microsoft Passport, an easy-to-deploy two-factor password alternative that is accessible by using a PIN or Windows Hello, which provides enterprise grade security and supports fingerprint, facial, and iris based recognition.

トピックTopic 説明Description
安全な Windows アプリの開発についてIntro to secure Windows app development この概要記事では、認証、移動中データ、および保存データの各段階におけるさまざまな Windows のセキュリティ機能について説明します。This introductory article explains various Windows security features across the stages of authentication, data-in-flight, and data-at-rest. また、これらの段階をアプリに統合する方法についても説明します。It also describes how you can integrate those stages into your apps. ここでは、さまざまなトピックを取り上げており、ユニバーサル Windows プラットフォーム アプリを短時間で簡単に作成するための Windows の機能を、アプリの設計者が詳しく理解できるようにすることを主な目的としています。It covers a large range of topics, and is aimed primarily at helping app architects better understand the Windows features that make creating Universal Windows Platform apps quick and easy.
認証とユーザー IDAuthentication and user identity この記事では、UWP アプリで利用できるユーザー認証のためオプションを説明します。UWP apps have several options for user authentication which are outlined in this article. 企業向けには、新しい Microsoft Passport 機能を強くお勧めします。For the enterprise, the new Microsoft Passport feature is strongly recommended. Microsoft Passport では、既存の資格情報を確認して、生体認証または PIN ベースのユーザー ジェスチャで保護されるデバイス固有の資格情報を作成することで、パスワードを強力な 2 要素認証 (2FA) に置き換えます。これにより、便利で安全性の高いエクスペリエンスが実現されます。Microsoft Passport replaces passwords with strong two-factor authentication (2FA) by verifying existing credentials and by creating a device-specific credential that a biometric or PIN-based user gesture protects, resulting in a both convenient and highly secure experience.
暗号化Cryptography 「暗号化」セクションでは、UWP アプリで利用できる暗号化の機能の概要を説明します。The cryptography section provides an overview of the cryptography features available to UWP apps. この記事では、重要なビジネス データを簡単に暗号化する方法についての入門用チュートリアルから、暗号化キーの操作や MAC、ハッシュ、署名の使用などの高度なトピックまでを取り上げています。Articles range from introductory walkthroughs on how to easily encrypt sensitive business data, to advanced to advanced topics such as manipulating cryptographic keys and working with MACs, hashes, and signatures.
Windows 情報保護 (WIP)Windows Information Protection (WIP) ここでは、Windows 情報保護 (WIP) と、ファイル、バッファー、クリップボード、ネットワーク、バックグラウンド タスク、ロックの背後でのデータ保護との関係について、開発者向けに全体像を説明します。This is a hub topic covering the full developer picture of how Windows Information Protection (WIP) relates to files, buffers, clipboard, networking, background tasks, and data protection under lock.

データ バインディングとデータベースData binding and databases

データ バインディングは、データベースなどの外部ソースからのデータをアプリの UI で表示する方法であり、必要に応じてそのデータとの同期を維持することもできます。Data binding is a way for your app's UI to display data from an external source, such as a database, and optionally to stay in sync with that data. データ バインディングによって、UI の問題からデータの問題を切り離すことができるため、概念的なモデルが簡素化されると共に、アプリの読みやすさ、テストの容易性、保守容易性が向上します。Data binding allows you to separate the concern of data from the concern of UI, and that results in a simpler conceptual model as well as better readability, testability, and maintainability of your app.

トピックTopic 説明Description
データ バインディングの概要Data binding overview このトピックでは、ユニバーサル Windows プラットフォーム (UWP) アプリで、コントロール (または他の UI 要素) を単一の項目にバインドする方法や、項目コントロールを項目のコレクションにバインドする方法を説明します。This topic shows you how to bind a control (or other UI element) to a single item or bind an items control to a collection of items in a Universal Windows Platform (UWP) app. また、項目のレンダリングを制御する方法、選択内容に基づいて詳細ビューを実装する方法、表示するデータを変換する方法も紹介します。In addition, it shows how to control the rendering of items, implement a details view based on a selection, and convert data for display.
UWP 用 Entity Framework 7Entity Framework 7 for UWP 大きなデータ セットに対する複雑なクエリの実行は、UWP をサポートする Entity Framework 7 を使用することで大幅に簡素化されます。Performing complex queries against large data sets is vastly simplified using Entity Framework 7, which supports UWP. このチュートリアルでは、Entity Framework を使用してローカル SQLite データベースへの基本的なデータ アクセスを実行する UWP アプリを構築します。In this walkthrough, you will build a UWP app that performs basic data access against a local SQLite database using Entity Framework.
SQLite ローカル データベースSQLite local database このビデオは、アプリのローカル データベースのソリューションとして推奨される SQLite を使用するための開発者向けの包括的なガイドです。This video is a comprehensive developer's guide to using SQLite, the recommended solution for local app databases. SQLite にアクセスして UWP 用の最新バージョンをダウンロードするか、Windows 10 SDK で既に提供されているバージョンを使用してください。Visit SQLite to download the latest version for UWP, or use the version that's already provided with the Windows 10 SDK.

ネットワークとデータのシリアル化Networking and data serialization

基幹業務アプリでは、他のさまざまなシステムのデータと通信したり、こうしたシステムにデータを保存したりすることが必要になる場合があります。Line-of-business apps often need to communicate with or store data on a variety of other systems. 通常、これはネットワーク サービスに接続し (REST や SOAP などのプロトコルを使用)、データを一般的な形式にシリアル化または逆シリアル化することによって実現されます。This is typically accomplished by connecting to a network service (using protocols such as REST or SOAP) and then serializing or deserializing data into a common format. UWP アプリでのネットワークとデータのシリアル化の操作は、WPF、WinForms、ASP.NET の各アプリケーションと類似しています。Working with networks and data serialization in UWP apps similar to WPF, WinForms, and ASP.NET applications. 詳しくは、以下の記事をご覧ください。See the following articles for more information.

トピックTopic 説明Description
ネットワークの基本Networking basics このチュートリアルでは、使用する通信プロトコルに関係なく、すべての UWP アプリに関連する基本的なネットワークの概念について説明します。This walkthrough explains basic networking concepts relevant to all UWP apps, regardless of the communication protocols in use.
アプリに適したネットワーク テクノロジWhich networking technology? UWP アプリで利用できるネットワーク テクノロジの概要と、アプリに適したテクノロジの選び方に関する推奨事項について説明します。A quick overview of the networking technologies available for UWP apps, with suggestions on how to choose the technologies that are the best fit for your app.
XML シリアル化および SOAP シリアル化XML and SOAP serialization XML シリアル化では、オブジェクトが、特定の XML スキーマ定義言語 (XSD) に準拠する XML ストリームに変換されます。XML serialization converts objects into an XML stream that conforms to a specific XML Schema definition language (XSD). XML と厳密に型指定されたクラス間の変換を行うには、ネイティブの XDocument クラスまたは外部ライブラリを使用します。To convert between XML and a strongly-typed class, you can use the native XDocument class, or an external library.
JSON シリアル化JSON serialization JSON (JavaScript Object Notation) シリアル化は、REST API と通信するための一般的な形式です。JSON (JavaScript object notation) serialization is a popular format for communicating with REST APIs. Newtonsoft Json.NET は、UWP アプリで完全にサポートされています。The Newtonsoft Json.NET, which is fully supported for UWP apps.

デバイスDevices

基幹業務ツール (プリンター、バー コード スキャナー、スマート カード リーダーなど) と統合するには、外部のデバイスやセンサーをアプリに統合することが必要になる場合があります。In order to integrate with line-of-business tools, like printers, barcode scanners, or smart card readers, you may find it necessary to integrate external devices or sensors into your app. ここでは、このセクションで説明するテクノロジを使って、アプリに追加できる機能例をいくつか紹介します。Here are some examples of features that you can add to your app using the technology described in this section.

トピックTopic 説明Description
デバイスの列挙Enumerate devices この記事では、Windows.Devices.Enumeration 名前空間を使って、システムに内部接続されているデバイス、外部接続されているデバイス、ワイヤレス プロトコルまたはネットワーク プロトコル経由で検出できるデバイスを検索する方法について説明します。This article explains how to use the Windows.Devices.Enumeration namespace to find devices that are internally connected to the system, externally connected, or detectable over wireless or networking protocols. デバイスと連携して動作するアプリを構築する場合は、ここから始めてください。Start here if you're building any app that works with devices.
印刷とスキャンPrinting and scanning アプリから印刷およびスキャンする方法について説明します。販売時点管理 (POS) システム、レシート プリンター、大容量フィーダー スキャナーなどの業務用デバイスに接続する方法やこれらのデバイスを操作する方法についても説明します。Describes how to print and scan from your app, including connecting to and working with business devices like point-of-sale (POS) systems, receipt printers, and high-capacity feeder scanners.
BluetoothBluetooth 従来の Bluetooth 接続を使用したデータの送受信やデバイスの制御に加えて、Windows 10 では、Bluetooth 低エネルギー (BTLE) を使用してバックグラウンドでビーコンを送受信できるようになりました。In addition to using traditional Bluetooth connections to send and receive data or control devices, Windows 10 enables using Bluetooth Low Energy (BTLE) to send or receive beacons in the background. この BTLE を利用して、通知を表示します。また、ユーザーが特定の場所に近づいた場合や特定の場所から離れた場合の機能を有効にします。Use this to display notifications or enable functionality when a user gets close to or leaves a particular location.
エンタープライズ共有記憶域Enterprise shared storage デバイスのロックダウン シナリオにおける、同じアプリ内でのデータの共有、また 1 つのアプリの複数のインスタンス間でのデータの共有、さらに複数のアプリ間でのデータの共有について、その方法を説明します。In device lockdown scenarios, learn how data can be shared within the same app, between instances of an app, or even between apps.

対象となるデバイスDevice targeting

今日、多くのユーザーは自分の電話やタブレットを持ち歩いて作業を行っています。また、それらの電話やタブレットのフォーム ファクターと画面サイズにはさまざまなものがあります。Many users today are bringing their own phone or tablet to work, which have varying form factors and screen sizes. ユニバーサル Windows プラットフォーム (UWP) では、すべての種類のデバイス (デスクトップ PC や PPI ディスプレイなど) でシームレスに動作する 1 つの基幹業務アプリを作成して、アプリの範囲やコードの効率を最大限に高めることができます。With the Universal Windows Platform (UWP), you can write a single line-of-business app that runs seamlessly on all different types of devices, including desktop PCs and PPI displays, allowing you to maximize the reach of your app and the efficiency of your code.

トピックTopic 説明Description
UWP アプリ ガイドGuide to UWP apps この入門用ガイドでは、Windows 10 UWP プラットフォームについて説明します。ここでは、デバイス ファミリの説明、対象となるデバイス ファミリを決定する方法、さまざまなデバイスのフォーム ファクターに合わせて UI を対応させることができる新しい UI コントロールとパネル、およびアプリで利用できる API サーフェスを理解し制御する方法を取り上げます。In this introductory guide, you'll get acquainted with the Windows 10UWP platform, including: what a device family is and how to decide which one to target, new UI controls and panels that allow you to adapt your UI to different device form factors, and how to understand and control the API surface that is available to your app.
アダプティブ XAML UI コードのサンプルAdaptive XAML UI code sample このコード サンプルでは、デバイスの種類に関係なく、アプリで利用できるすべてのレイアウト オプションとコントロールが示されています。また、このコード サンプルを使うと、パネルを操作して、目的のレイアウトを実現する方法を確認できます。This code sample shows all the possible layout options and controls for your app, regardless of device type, and allows you to interact with the panels to show how to achieve any layout you are looking for. さまざまなフォーム ファクターに対する各コントロールの応答方法に加えて、アプリ自体の応答性、およびアダプティブ UI を実現するためのさまざまな方法も示されています。In addition to showing how each control responds to different form factors, the app itself is responsive and shows various methods for achieving adaptive UI.
Xamarin のトピックXamarin topic 電話をターゲットとする XamarinXamarin for targeting phone

展開Deployment

組織のユーザーにアプリを配布するための方法がいくつかあります。You have options for distributing apps to your organization’s users. ビジネス向け Microsoft Store や既存のモバイル デバイス管理を使うことも、アプリをデバイスにサイドロードすることもできます。You can use Microsoft Store for Business, existing mobile device management or you can sideload apps to devices. Microsoft Store に公開すると、一般ユーザーにもアプリを利用可能にすることができます。You can also make your apps available to the general public by publishing to the Microsoft Store.

トピックTopic 説明Description
企業に LOB アプリを配布するDistribute LOB apps to enterprises 基幹業務アプリを、ボリューム購入できるように、ビジネス向け Microsoft Store で企業に直接公開できます。一般ユーザーが利用できるようにアプリを公開する必要はありません。You can publish line-of-business apps directly to enterprises for volume acquisition via the Microsoft Store for Business, without making the apps broadly available to the public.
アプリのサイドローディングSideload apps アプリをサイドローディングすると、署名されたアプリ パッケージをデバイスに展開します。When you sideload an app, you deploy a signed app package to a device. これらのアプリの署名、ホスティング、配置は維持されます。You maintain the signing, hosting, and deployment of these apps. アプリのサイドローディングのプロセスは、Windows 10 向けに簡素化されています。The process for sideloading apps is streamlined for Windows 10.
Microsoft Store にアプリを公開するPublish apps to the Microsoft Store 統合された Microsoft Store では、すべての Windows デバイス向けのすべてのアプリを公開して管理することができます。The unified Microsoft Store lets you publish and manage all of your apps for all Windows devices. 市場ごとの価格、配布と表示のコントロール、その他のオプションを使って、アプリの使用可能状況をカスタマイズできます。Customize your app’s availability with per-market pricing, distribution and visibility controls, and other options.

エンタープライズ UWP のサンプルEnterprise UWP samples

トピックTopic 説明Description
VanArsdel インベントリのサンプルVanArsdel Inventory Sample 基幹業務シナリオを紹介する UWP のサンプル アプリ。A UWP sample app that showcases line-of-business scenarios. サンプルは、架空の会社である VanArsdel の顧客、注文、製品の作成と管理に基づくものです。The sample is based around creating and managing customer, orders, and products for the fictitious company VanArsdel.
顧客注文データベースのサンプルCustomer Orders Database Sample Azure Active Directory (AAD) 認証、UI コントロール (データ グリッドなど)、Sqlite および SQL Azure データベース統合、Entity Framework、クラウド API サービスのような、エンタープライズ開発者の役に立つ機能を紹介する UWP サンプル アプリ。A UWP sample app that showcases features useful to enterprise developers, like Azure Active Directory (AAD) authentication, UI controls (including a data grid), Sqlite and SQL Azure database integration, Entity Framework, and cloud API services. サンプルは、架空の会社である Contoso の顧客アカウント、注文、製品の作成と管理に基づくものです。The sample is based around creating and managing customer accounts, orders, and products for the fictitious company Contoso.

パターンとプラクティスPatterns and practices

大規模なエンタープライズ レベルのアプリ向けのコード ベースは、扱うのが難しくなる場合があります。Code bases for large scale, enterprise-grade apps can become unwieldy. Prism は、保守やテストが可能である疎結合な XAML アプリケーションを WPF、Windows 10 UWP、および Xamarin の各フォームで構築するためのフレームワークです。Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Windows 10 UWP, and Xamarin Forms. Prism には、適切に構造化され、保守が可能な XAML アプリケーションの作成に役立つ設計パターンのコレクションの実装が用意されています (MVVM、依存関係挿入、コマンド、EventAggregator など)。Prism provides an implementation of a collection of design patterns that are helpful in writing well-structured and maintainable XAML applications, including MVVM, dependency injection, commands, EventAggregator, and others.

Prism について詳しくは、GitHub リポジトリをご覧ください。For more information on Prism, see the GitHub repo.