『.NET Core 3最新情報セミナー』に参加してきました。
セッション内容は以下な感じです。
- .NET 最新ロードマップと今押さえておきたい技術要素
- .NET Core 3.0時代のデスクトップアプリ開発戦略を考える
- UIコンポーネントにおける .NET Core 3対応
- .NET Core 3移行に向けてのテスト自動化戦略
それぞれのセッションで気になった点をまとめたいと思います。
.NET 最新ロードマップと今押さえておきたい技術要素
井上 章さん(@chack411)の発表。
www.slideshare.net
- .net core 3.0 for winodws desktopのメリット
- 単一exeファイルにまとめられる!
- 未参照なライブラリの排除
- app centerに.net core for windows desktopが対応
- desktop appもテレメトリとかクラレポが取れる!
- blazor app
- aspnet core 3.0でgrpcとservice workerに対応!
- c#だけでwebアプリのフロントからバックエンドまで実装可能に!
- ml.net - 機械学習
- 感情分析、価格予測、スパム判定とかで使える
- ml.net model builder
- visual studioでモデル作成が出来る
- .net 5で分散した.netを1つに統合する
- .net 5に統合されないもの
.NET Core 3.0時代のデスクトップアプリ開発戦略を考える
中村 充志さん(@nuits_jp)の発表。
- .net 5が出るからと言って本当の意味ですべてが統合されるわけではない
- デスクトップにはデスクトップの、モバイルにはモバイルの最適なruntimeが使われるべき
- .net core 3.0からの新しいビルド設定
/p:PublishReadyToRun=true
- AOTコンパイルが可能 -> 早くなる
--self-contained=false
- シングルバイナリにはなるけど、ランタイムは同梱しない
- .net core 3.0によるアーキテクチャ戦略
- Side by SideやPublishSingleFileによるモジュール分割
- モジュール毎にruntimeを変更出来る
- 実行ファイルが分かれるので影響範囲が抑えられる
- Side by SideやPublishSingleFileによるモジュール分割
- MSIX
- .NET Framework -> .NET Coreへの移行の注意点
- Frameworkにあったライブラリがnugetに移行されている -> 手動で取り直さないといけない
- Core用に移行されたライブラリが大きく変更されている可能性がある
- 例:EF Core -> 発行クエリの仕様が大きく変わっているのでパフォーマンスに影響するかも?
UIコンポーネントにおける .NET Core 3対応
池原 大然さん(@neri78)の発表。
www.slideshare.net
- Infragisticsのコントロールはクロスプラットフォーム!
- .net core 3.0対応済み!
- 現在はwpfのみ
- nugetから利用可能(ただしライセンスは買ってネ)
- これからの予定
- 2019-Q4でWin, ASP.NET MVCへ対応
- ASP.NET MVCは一部機能で対応
- Excel, Word, PDF出力等ネイティブの機能に依存するものは検討中
本セミナーに参加してくれた人はライセンス値引きするよ!
.NET Core 3移行に向けてのテスト自動化戦略
石川 達也さん(@StoneGuitar777)の発表。
- 仕様化テスト
- 前回の出力結果を正として、再テスト時に突き合わせするテスト方法
- 自動化しやすい
- 移行案件とかでテストの範囲が大きいときとても有効
- システムテストのレベルで自動化するとカバレッジを稼ぎやすい
- どれくらい作ればいいの?
- Friendly!
- .net coreに対応したテストライブラリ
- プロセスを取得してオブジェクトを直接参照することでテストする
- .net framework用に作ったFriendlyのテストコードをそのまま.net core移行アプリで利用可能
- Friendlyはどうやって別プロセスのオブジェクトを参照しているか
- .netのdllは実行runtimeに応じて使用するシステムライブラリを切り替えてる?!
- .net framework用に作ったdllを.net coreから実行するとSystem名前空間とかも.net coreのものを使ってくれる
- 逆も然り
- selenium
- domにidを振っておくことでwebでもでテスト可能
- test assistant pro
- テストコード実装補助ツール
- seleniumとFriendlyの使い方は知ってる必要がある
- 実行中のユーザのUI操作からテストコードを自動生成してくれる
- テストコード実装補助ツール
所感
.net core 3.0の登場によりc#でのアプリケーション開発の幅がとても広がったように感じました。 .net core 3.0による新しいビルド設定は地味ではありますが、とても嬉しい機能ですね。 特にblazorの正式リリースにより、フロントエンドからバックエンドまでフルスタックにc#での開発が可能になった点はとても興味深いです。 また、Friendlyによるwpfのテスト自動化はテストで可能な限り楽をしたい私にとってはとてもおいしい情報でした。
来年には.net 5がリリースされます。.netの進化に置いて行かれないように頑張りたいと思いました。