.NET Conf 2021 Day 1 Keynote

昨日のVisual Studio 2022ローンチに続いて今日は .NET Conf 2021 の1日目です。

ice_screenshot_20211110-005940

最初はScott Hunter氏から。 .NETはユニファイドデベロッパープラットフォーム。 .NET 6でよりシンプルにまとまりました。
.NET 6のコミュニティコントリビューターは6900人増えて21000件の貢献が。Thank you!みたいな。
ice_screenshot_20211110-010212ice_screenshot_20211110-010222ice_screenshot_20211110-010314ice_screenshot_20211110-010339ice_screenshot_20211110-005240

そんな .NET 6 は昨日GAしました。C# 10、F# 6、Arm64対応、Long-term-support(LTS)なバージョンです。初の64ビットなVisual Studio 2022もでました。アップグレードアシスタントもでました。 ⇒  https://aka.ms/dotnet-upgrade-assistant
ice_screenshot_20211110-010520ice_screenshot_20211110-010412ice_screenshot_20211110-010603ice_screenshot_20211110-010715

シンプルな開発。どこでもホットリロード。 .NET  Framework 4.6以降ならサポートぽい。C# 10はグローバルUsingとかいろいろ。シンプルな記述ができるようになったり。Webアプリも最低4行で。
ice_screenshot_20211110-010853ice_screenshot_20211110-010906ice_screenshot_20211110-011018ice_screenshot_20211110-011111

デモはそのあたりを実演。 .NET 6 のコンソールアプリを作ってみる。.NET 6ではシングルラインコードで。
ice_screenshot_20211110-011124ice_screenshot_20211110-011152ice_screenshot_20211110-011312ice_screenshot_20211110-011330
次のデモは .NET 6 の空のASP.NET Core Webアプリ。Web API作るときのウィザードでDockerサポートなども。(これはVisual Studioの話だけど)
OpenAPIサポートも。Global Usingしとけば各CSファイルでUsingしなくてもとかImplicit Usingとか。namespaceの{}を減らせるファイルスコープnamespaceとかとか。
ice_screenshot_20211110-011456ice_screenshot_20211110-011410ice_screenshot_20211110-011444ice_screenshot_20211110-011517ice_screenshot_20211110-011538ice_screenshot_20211110-011614ice_screenshot_20211110-011718ice_screenshot_20211110-011826ice_screenshot_20211110-012002ice_screenshot_20211110-012128ice_screenshot_20211110-012240

次はクラウド関連。これらのサービスが .NET で稼働中(ロゴェ…)。Reverse ProxyなYARP 1.0もでました。Microsoftのプロダクションなサービスでも使われてます。AzureだとAzure App Service, Azure Static Web Apps, Azure Functionsが .NET 6対応済み。コンテナー関連だとAzure Container AppsもIgniteで発表されました。Visual Studio 2022なら直接デプロイもできます。
ice_screenshot_20211110-012421ice_screenshot_20211110-012447ice_screenshot_20211110-012554ice_screenshot_20211110-012700ice_screenshot_20211110-012727ice_screenshot_20211110-012832

デモはScott 2からw David氏はGitHubの草(Profile)Tシャツ。QueueクライアントをDIしてFeedにリクエストが来たときにインスタンス(Singleton)渡されるようにしてQueueingするという感じのコードをささっと。ワーカーのほうもファイルスコープなnamespaceでインデントがシンプル。出来上がった各アプリはDockerコンテナーにしてAzure Container Appsへ。
ice_screenshot_20211110-012856ice_screenshot_20211110-013024ice_screenshot_20211110-012911ice_screenshot_20211110-012915ice_screenshot_20211110-013001ice_screenshot_20211110-013103ice_screenshot_20211110-013121ice_screenshot_20211110-013211ice_screenshot_20211110-013232ice_screenshot_20211110-013324ice_screenshot_20211110-013333ice_screenshot_20211110-013429ice_screenshot_20211110-013514ice_screenshot_20211110-013551

次はBlazorですね。Blazor ServerとBlazor WebAssemblyをサポート。 .NET 6以前ではカバーできてなかったところもOKに。Blazor Fluent UI Componentsもリリースです。最新のWindows 11 Fluentビジュアルな感じ? クロスプラットフォームなネイティブUIな .NET Multi-platform App UI (MAUI)のGAは来年あたり。Blazor と .NET MAUIを組み合わせてハイブリッドなアプリとかも。GE Digitalなどでもう使われて事例化してるところもあります。
ice_screenshot_20211110-013736ice_screenshot_20211110-013829ice_screenshot_20211110-013943ice_screenshot_20211110-014031ice_screenshot_20211110-014155ice_screenshot_20211110-014255ice_screenshot_20211110-014313ice_screenshot_20211110-014333ice_screenshot_20211110-014442
.NET MAUI Preview 10は今日リリース。 Visual Studio 17.1 (Preview 1)で使うのかな。
ice_screenshot_20211110-014616

デモはDaniel氏。BlazorなPodcastのWebアプリです。Hot Reloadももちろん対応。ファイルの保存でHot Reloadすることもできます。Hot Reloadできない変更の場合は実行してるまま(いったんデバッグ停止・再デバッグしなくても)リビルドして反映させることもできます。
新しいビルドツールでWebAssemblyのファイルサイズも小さく抑えられます?(1MB⇒353KB?)
ice_screenshot_20211110-014657ice_screenshot_20211110-014716ice_screenshot_20211110-014736ice_screenshot_20211110-014947ice_screenshot_20211110-015021ice_screenshot_20211110-015049ice_screenshot_20211110-015124ice_screenshot_20211110-015302ice_screenshot_20211110-015503ice_screenshot_20211110-015519ice_screenshot_20211110-015621ice_screenshot_20211110-015733ice_screenshot_20211110-015738

次はMAUIのデモ。アプリケーションのメタデータ的な情報(アイコンやフォントなどなど)をプロジェクトファイル内に設定。Windows上でXAMLのLive Previewとかも。Visual Treeも辿れます。
ターゲットプラットフォームを変えてWindows Subsystems for AndroidでAndroidアプリをデバッグ実行、Live Previewとかの機能も同様に行えます。
macOS上のVisual Studio for Macを使って同じコードをiOSシミュレーター上でデバッグ実行もOK。macOS上で動作するアプリもOK。全部同じコードで、C#で、同じプロジェクトで。
最後はMAUI上でBlazorを呼び出し。
ice_screenshot_20211110-015828ice_screenshot_20211110-015838ice_screenshot_20211110-020004ice_screenshot_20211110-020004ice_screenshot_20211110-020344ice_screenshot_20211110-020440ice_screenshot_20211110-020452ice_screenshot_20211110-020621ice_screenshot_20211110-020721ice_screenshot_20211110-021003ice_screenshot_20211110-021016ice_screenshot_20211110-021057

という感じでいますぐ始められます!
ice_screenshot_20211110-021124

おまけ

ローカルイベントやその他もろもろの案内スライドです。
ice_screenshot_20211110-005043ice_screenshot_20211110-005048ice_screenshot_20211110-005052ice_screenshot_20211110-005057ice_screenshot_20211110-005102ice_screenshot_20211110-005107ice_screenshot_20211110-005112ice_screenshot_20211110-005122ice_screenshot_20211110-005127ice_screenshot_20211110-005133ice_screenshot_20211110-005137ice_screenshot_20211110-005143ice_screenshot_20211110-005147ice_screenshot_20211110-005152ice_screenshot_20211110-005157

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中