SlideShare a Scribd company logo
.NET Coreで見る
Client Apps
森 博之(Hiroyuki Mori) (@hiroyuki_mori)
Microsoft MVP – Developer technologies
自己紹介
• 森 博之(もり ひろゆき)
• MS開発技術を専門としたフリーランスエンジニア
• Microsoft MVP – Developer Technologies
• ブログ:もり ひろゆきの日々是勉強
https://moriblog.kit-eng.com
• Twitter
• Qiita https://qiita.com/hiroyuki_mori
Agenda
• .NET Core概要
• .NET CoreとクライアントApps
• 既存アプリのマイグレーション
• Open SourceとClient Apps
.NET Core 概要
.NET Core
• クロスプラットフォームで利用できるアプリの開発プラットフォーム
• Windows / Linux / macOSで動作する
• DeviceやCloud, IoTなど幅広い用途のアプリ開発が行える
• .NET Coreに含まれる軽量なコマンドラインツールを使用して容易に開発を行うこと
ができる
• .NET Standardを利用することで.NET Framework, Xamarin, Monoなどの環境と互換性
のあるライブラリを作成することができる
• ランライムなしによるアプリの配置のシナリオをサポート
• C#/Visual Basic/F#などで開発できる
.NET Coreの起動
• コマンドラインツール:dotnet (通称.NET CLI)
• dotnet – Windowsではdotnet.exe。アプリケーションのランチャー
• dotnet.dll - .NET CLI本体。 Githubのdotnet/cliをビルドするとこれが
できる
• アプリ本体: dotnet publishすることで生成される実行可能ファイル
• corehost: .NET Coreのランチャー。Windowsの場合はcorehost.exe
• hostfxr: Corehostの実体。 Windowsの場合はhostfxr.dll
• Hostpolicy: CoreCLR ホスティングAPIの各種初期化を行う。
• ICLRRuntimeHost2: CoreCLRのHosting APIの実体
corehost
• hostfxr
• hostpolicy
CoreCLR
• HostingAPI
• ICLRRuntimeHost2
• 実行エンジン
dotnet / app
FDDとSCD
• Framework dependent deployment
• 実行マシンにインストールされている.NET Coreに依存するモジュール配置
• 必要なファイルは実行に必要最低限のモジュールのみ(.NET Coreは不要)
• Self contained deployment
• 実行マシンにインストールされてり.NET Coreに依存しないモジュール配置
• SCDにはプラットフォーム毎の実行ファイルが含まれる
• 実行に必要なモジュールはすべて組み込むため、.NET Coreは不要
.NET CoreとクライアントApps
.NET Core 3 and
Open Sourcing Windows Desktop Frameworks
• Windows Desktop Comes to .NET Core
• Windows Forms / WPFなどのクライアントアプリフレームワーク
• モダンなコントロール
• XAML Islandsを通じたFluentスタイルのWindows UI XAML Library(WinUI)
• .NET Core 3のEntity Framework 6をサポート
• SCDによる配布も可能
WPF, Windows Forms and WinUI Open Sourced!
• というワケでオープンソース化されています。
• 現状は限定的な公開。今後数か月のうちに追加でいろいろと出てくる模様。
• https://blogs.msdn.microsoft.com/dotnet/2018/12/04/announcing-net-core-3-preview-1-and-open-sourcing-windows-desktop-frameworks/
既存アプリのマイグレーション
サードパーティによる対応が進む。
• Winforms/WPFをOpen Source化
→.NET Foundationの管理下へ
→SponserやSteering Groupによるサポートも進む
• Red Hat, JetBrains, Google, Unity, Microsoft, Samsung
• 新たにPivotal, Progress Telerik, Insight が加わった
• https://dotnetfoundation.org/blog/2018/12/04/announcing-net-foundation-open-
membership
準備
• .NET Core SDK 3.0 Daily build
• https://aka.ms/netcore3sdk
• Visual Studio 2017 Update 15.8以上
• https://visualstudio.microsoft.com/downloads/
• .NETデスクトップ開発/.NET Core開発のワークロードを選択
• 個別インストールで以下を追加
• .NET Framework 4.7.2開発ツール
• .NET Core 2.1開発ツール
Portability Analyzer
• 使用されているAPIが.NET Core 3.0で利用できるか確認するツール
• https://blogs.msdn.microsoft.com/dotnet/2018/08/08/are-your-windows-forms-and-wpf-applications-ready-for-net-core-3-0/
• https://github.com/microsoft/dotnet-apiport-ui
• 現在サポートされていないAPIの特定や.NET Core 3.0との互換性をExcelシート
で作成する。
Demonstration
https://github.com/hiroyukimori/buridemo2019
.NET Core 3.0アプリの作成
• みなさんご存じ…
• dotnet new wpf –o MyWPFApp
• dotnet new winforms –o MyWinFormsApp
元プロジェクトにある既存ファイルを追加
• 元プロジェクト内にある既存のソースコード群をリンクとして追加する
既存ファイルの追加
• ビルドアクションを「Resouces」とした画像がある場合
• .NET Coreではリソースファイル(*.resx)に変更になった
• 特にローカライズするアプリの場合は注意
• https://docs.microsoft.com/ja-jp/aspnet/core/fundamentals/localization?view=aspnetcore-2.2
• 「埋め込みリソース」または「Content」に変更
• AssemblyInfoやApp.Manifestは手動で追加
• .NET Coreで利用できないAPIでWindows.Compositionとして参照できる場合、
Windows.Compatibility Packを追加
Open SourceとClient Apps
現在公開中のソース群
• WindowsForms
• https://github.com/dotnet/winforms
• WPF
• https://github.com/dotnet/wpf
その他
• Corefx(Foundation class libraries for .NET Core)
• https://github.com/dotnet/corefx
• Coreclr(Runtime for .NET Core)
• https://github.com/dotnet/coreclr
• Standard(.NET Standard)
• https://github.com/dotnet/standard
• .NET Core SDK
• https://github.com/dotnet/core-sdk
参考:System.Xaml
• XAML2009(標準規格)の実装
• WPFマークアップコンパイルされていなければ、XAML2009の機能は利用できる。
• WPFで利用されている、いくつかのクラスはこの中にある。
• ただし、BAMLなどはWPF独自のため利用できない
まとめ
• もうすぐ来るぞ、.NET Core 3.0
• もうすぐ来るぞ、Winforms/WPFのOpen Source化
• もうすぐ来るぞ、サードパーティの.NET Core 3.0対応。¥
ご清聴
ありがとうございました。

More Related Content

PDF
Introduction Xamarin forms mac
PDF
.NET の今 ~ 最新アップデートと 2019 年の展望
PPTX
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
PDF
.NET の今と今後に思うこと (Tokyo Ver.)
PDF
Microsoft learnご紹介vol2
PDF
VS Code Live Share ~ 東京と大阪を繋いでみよう!
PDF
Introducing Fluent Design
PDF
Introduction to application architecture on asp.net mvc
Introduction Xamarin forms mac
.NET の今 ~ 最新アップデートと 2019 年の展望
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
.NET の今と今後に思うこと (Tokyo Ver.)
Microsoft learnご紹介vol2
VS Code Live Share ~ 東京と大阪を繋いでみよう!
Introducing Fluent Design
Introduction to application architecture on asp.net mvc

What's hot (20)

PDF
Empower every App and every Developer in a Mobile-first, Cloud-first World.
PDF
Introducing microsoft learn
PDF
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
PDF
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
PDF
.NET 最新ロードマップと今押さえておきたい技術要素
PDF
Introduction to VSCode
PDF
改めて C# でできることを振り返る
PDF
開発支援ツールとは?
PDF
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
PDF
.NET の過去、現在、そして未来
PDF
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
PDF
.NET Coreとツール類の今
PDF
今日日の展開計画について
PPTX
WindowsMLを使ったUWPアプリの作り方
PDF
VS Code & Flaskで作るCloud NativeアプリとDevOps
PDF
de:code報告
PPTX
新しい Visual Studio & .NET と新時代のアーキテクチャ
PDF
Visual Studio ~ 過去、現在、そして未来
PPTX
.NETクロスプラットフォーム
PDF
無償版Visual StudioでいろいろWeb開発
Empower every App and every Developer in a Mobile-first, Cloud-first World.
Introducing microsoft learn
~ Build と言えば やっぱり Developer! ~ Microsoft 開発ツール最新アップデート
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET 最新ロードマップと今押さえておきたい技術要素
Introduction to VSCode
改めて C# でできることを振り返る
開発支援ツールとは?
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
.NET の過去、現在、そして未来
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
.NET Coreとツール類の今
今日日の展開計画について
WindowsMLを使ったUWPアプリの作り方
VS Code & Flaskで作るCloud NativeアプリとDevOps
de:code報告
新しい Visual Studio & .NET と新時代のアーキテクチャ
Visual Studio ~ 過去、現在、そして未来
.NETクロスプラットフォーム
無償版Visual StudioでいろいろWeb開発
Ad

Similar to .NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019 (20)

PDF
[Japan Tech summit 2017] APP 001
PDF
Dotnetcore30forwindesktop
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PDF
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PPTX
Interoperability of webassembly with javascript
PDF
.NET Core 1.0
PPTX
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
PDF
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PDF
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PDF
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
PDF
Xamarin から使う Azure
PDF
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
PDF
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
PDF
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
PPTX
ASP.NET vNextの全貌
PPTX
Dot netcore multiplatform 2
PPTX
今から始める、Windows 10&新.NETへの移行戦略
[Japan Tech summit 2017] APP 001
Dotnetcore30forwindesktop
Application development with c#, .net 6, blazor web assembly, asp.net web api...
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Interoperability of webassembly with javascript
.NET Core 1.0
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
Application development with c#, .net 6, blazor web assembly, asp.net web api...
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
Application development with c#, .net 6, blazor web assembly, asp.net web api...
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
Xamarin から使う Azure
Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
ASP.NET vNext / Visual Studio "14" に見る .NET の未来像
ASP.NET vNextの全貌
Dot netcore multiplatform 2
今から始める、Windows 10&新.NETへの移行戦略
Ad

More from Hiroyuki Mori (18)

PPTX
Visual Studio 2022 30分一本勝負! at BuriKaigi2023
PDF
最近Preview公開されたAzure テストサービスを試してみた
PDF
Azure Load Testingを試してみた
PPTX
Visual Studio 2019 Updates Pickup!
PDF
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
PDF
Visual Studio 2019 新機能を時間のかぎりできるだけ!
PPTX
開発者のためのUIデザイン入門
PPTX
Uno Platform か Blazor
PDF
.NET開発者は、なぜクロスプラットフォームに取り組むべきか
PDF
Windows phone関係のなにか。
PDF
2014 07-19 はじめてのクラウド
PDF
クライアント技術から見たBuild2014 Wrap-up
PDF
僕がやったXaml戦略
PDF
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
PDF
データバインディング徹底攻略
PDF
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへ
PDF
Windowストアアプリ コントラクトとライフサイクル
PPTX
それではBehaviorでも使ってみましょうか。
Visual Studio 2022 30分一本勝負! at BuriKaigi2023
最近Preview公開されたAzure テストサービスを試してみた
Azure Load Testingを試してみた
Visual Studio 2019 Updates Pickup!
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
Visual Studio 2019 新機能を時間のかぎりできるだけ!
開発者のためのUIデザイン入門
Uno Platform か Blazor
.NET開発者は、なぜクロスプラットフォームに取り組むべきか
Windows phone関係のなにか。
2014 07-19 はじめてのクラウド
クライアント技術から見たBuild2014 Wrap-up
僕がやったXaml戦略
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
データバインディング徹底攻略
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへ
Windowストアアプリ コントラクトとライフサイクル
それではBehaviorでも使ってみましょうか。

.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019