SlideShare a Scribd company logo
1 of 40
九州工業大学 情報工学部2年
木須 遥大
• 自己紹介
• 主な活動
• 活動のきっかけ
• 作成したプロダクトや記事 (推し技術の紹介)
• C# Dev Kit (.NET MAUI)
• .NET MAUIにおけるC# Devkit
• .NET 8 におけるMAUI
• 名前 : 木須 遥大
• ハンドルネーム : Mizuha
• 所属 : 九州工業大学情報工学部 2年
• よく使う言語 :
C#, TypeScript, (稀にF#)
• 好んで使うフレームワーク等 :
ASP.NET Core, WinUI3, UWP
• 最近の一言 :
「Azure for Studentのサブスクリプションが切れた(絶望)」
X:
@mizuha_kis
• 所属サークル :「C3」
• コンピューターを使った創作活動をするサークル
• 個人開発やハッカソンへの出場
• 個人開発の内容
• Windows Desktop アプリ開発
• Web アプリ開発
1. 大学1年の時,授業で習うC言語のCUIのアプリだけではなく,
GUIのアプリにも触れたかった.
2. 大学生協で偶然,C#のWindows Formsを使ったGUIアプリ開
発の入門書を見かけた.
3. C言語もC#も似ているだろうという当時何も知らない私の偏
見からC#を触り始めた.
4. Visual Studioにあるプロジェクトテンプレートのリストから,
気になった.NETのフレームワークを調べて,触るようになっ
た.
• 「TransClip」
• スクリーンショットから,文字認識して翻訳するアプリ
• ハッカソン出場時に作成
• 「Echo Reminder」
• 音声認識で予定の追加でき,その声でリマインドするアプリ
• ハッカソン出場時に作成
• Static Web Appsを使ったTodoアプリのハンズオン
• React.js + Azure Functions(C#)でTodoアプリを作るハンズオン記事
• 「C3 Advent Calendar」の一環として作成
(todo-app/README.md at main · Mizuha-hk/todo-app (github.com))
• 使用したフレームワーク,ライブラリ
• WinUI3
• Windows App SDKに付属するネイティブUIプラットフォームコンポーネント
• Windows10以降を対象としたデスクトップアプリが作成できる
• Windows.Media.Ocr
• Windows ランタイム APIに属し,画像からテキストを読み取るOCR APIを提供
する.
• ZXing.net
• 2次元バーコードを読み取るライブラリ.
• WebView2
• Microsoft Edgeをレンダリングエンジンとして,ネイティブアプリにWeb要素を
埋め込むことができる.
• 機能詳細
• スクリーンショットを撮ると,その画像から文字を認識する.
• 認識した文字を外部の翻訳APIを使って翻訳し,結果を出力する.
• スクリーンショットに含まれる2次元バーコードを読み取り,読み取っ
たURLを画面右側に配置されたWebViewで表示する.
• 外観
詳しくは,こちらから(TransClip | Topa'z (topaz.dev))
• Fluent Design システムを採用
• Windows11 のモダンなUI
• XAMLによるUIの記述
• Xamlデザイナー未対応が惜しい…
• UXスタック,コントロールライブラリがWindows SDKから完
全に分離されている
• 後述のWindows SDKと密接なUWPと比べ,ライブラリの互換性が高
い
• OCRの機能がほんの数行でできる
• OCRで認識する言語について
• 日本語を指定して,OCRを実行すると文字認識するが,英語を指定す
ると,OCRが動かない問題.
↓
Windows ランタイム APIなので,実行しているWindowsに英語の言語
パックがインストールされていないと動かない.
• 使用したフレームワーク,ライブラリ,サービス
• UWP
• Windows 10以降のデスクトップアプリを作成可能.
• Windows を実行するすべてのデバイスで共通の API を使用できる.
• Azure Speech Service
• 入力した音声をテキストに変換するために使用.
• UWPの環境でも使えるSDKがある.
• Open AI Api
• ユーザーが話した内容を予定に変換するために使用.
• 詳細
• UWPで使える音声入力機能を使って,「〇日に~~の予定を入れて」と
いった話しかける.
• Azure Speech Service が音声をテキスト変換.
• Open AI APIがテキストから予定をJsonとして整形して返す.
• JsonからデフォルトのWindowsのカレンダーに予定を登録
• Windowsカレンダーと予定の同期機能もある
• 外観
詳細はこちらから(Echo Reminder | Topa'z (topaz.dev))
• Windows10のUIデザインをデフォルトで使用できる.
• このアプリでは, Microsoft.UI.Xaml パッケージをインストールし,
リソースを適応させてFluent Design (Windows 11) を使用.
• Xamlデザイナー対応で,快適な開発体験
• Windows SDKと密接にかかわっている.
• 利点: Windowsの機能を使いやすい
• 欠点: C#ライブラリの互換性が低い
• ダーク/ライトモードの対応
• アクセントカラーの取得(ユーザー設定の色)
• ローカライズ(言語設定)
↓
全て動作環境のWindowsの設定を参照して,勝手に変わる
• ローカライズ
リソースファイルを書き,特定の場所に入れるだけでいい
ディレクトリ構造
└ Project //UWPアプリのプロジェクト
├ Strings //各言語ごとのリソースファイル
├ en-US
| └ *.resw
└ ja-JP
└ *.resw
リソースファイル(.resw)
• Visual Studio Code向けのC#言語拡張機能
• 統合されたソリューション エクスプローラーによる C# プロジェクト
とソリューションの管理
• テスト エクスプローラーを使用してテストを実行およびデバッグする
ためのネイティブ テスト環境
• Roslyn を利用した言語サービスにより、コード ナビゲーション、リ
ファクタリング、セマンティック認識など、クラス最高の C# 言語機
能を実現します
• AI支援開発
(拡張機能の説明から抜粋,翻訳)
(Published 2023-06-07, 03:21:00)
• C# Dev Kitの拡張
• 機能
• F5キーで即座にアプリのデバッグ可能
• GUIでデバッグターゲットの変更可能
• ソリューションエクスプローラー
普通のファイルエクスプローラー 追加された
ソリューションエクスプローラー
• デバッグターゲットの変更
• 画面右下の { } をクリック
• MAUIのデバッグターゲットの選択可能
• デバッグ開始するプロジェクトの選択可能
• デバッグターゲットの変更
• F5キーでデバッグ
• ブレークポイントもVisual Studioと同じように使える
画面上部のメニューから操作可能
• 感じた問題点
• XAMLの書き心地
• ツールボックス,プロパティが見れない
ツールボックス プロパティ
• 感じた問題点
• XAMLの書き心地
• コード補完が無い
Visual Studio Visual Studio Code
• 問題へのアプローチ
Blazor Hybridで作る
Blazorであれば拡張機能が豊富
で書きやすい
• .NET 8 におけるMAUIは品質向上がメイン
• いくつかの新機能の追加
• 気になった新機能を紹介
• キーボードアクセラレータ
• ジェスチャ認識エンジン
• デスクトップ環境(Windows / Mac)でのショートカットキーの
実装ができるようになった
• 現状,MenuFlyoutItemオブジェクトにのみ適応可能
• プラットフォーム毎の指定
• Mac環境ではCmdキー,Windows環境ではCtrlキーのように指定が可能
参考(キーボード アクセラレータ - .NET MAUI | Microsoft Learn)
• 追加されたジェスチャー認識エンジン
• ポインター ジェスチャ
• ドラッグアンドドロップ ジェスチャ
• OnPointerEntered イベント
• 対象のUI要素にポインターが重なったときのイベント
• OnPointerExited イベント
• 対象のUI要素からポインターが出たときのイベント
• OnPointerMoved イベント
• 対象のUI要素の中でポインターが動いた時のイベント
• ある画像要素にポインタージェスチャを適応
参考(ポインター ジェスチャを認識する - .NET MAUI | Microsoft Learn)
• DragGestureRecognizer
• DragStarting イベント
• このUI要素をドラッグ開始したときのイベント
• DragStartingEventArgsクラスの引数eからデータパッケージを作成できる
• DropGestureRecognizer
• DragOver イベント
• この要素にドロップされたときのイベント
• DropEventArgsクラスの引数eからデータパッケージの情報を取得できる
参考(ドラッグ アンド ドロップ ジェスチャを認識する - .NET MAUI | Microsoft Learn)
• Visual Studio Codeを用いた.NET MAUIの開発について
• C# Dev Kitと.NET MAUI拡張機能により,Visual Studioが使用できな
い環境でも十分なデバッグ環境が提供された
• 現状XAMLの補完がまだ弱いので,Blazor HybridでMAUIのアプリを作
成するのが良さそう.
• .NET 8 のMAUI
• キーボードアクセラレータやジェスチャー認識エンジンの追加により,
デスクトップアプリ開発の選択肢としてMAUIを選択しやすくなった
自己紹介とC# Devkitについて.pptx

More Related Content

Similar to 自己紹介とC# Devkitについて.pptx

オレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そうオレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そうMitsuhito Ishino
 
デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912m ishizaki
 
Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2specialKatsuhito Katoh
 
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developer Camp 2012 Japan Fall
 
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~decode2016
 
C#4.0 と Visual Studio 2010/.NET Framework 4.0~ここが Cool! いけてる機能10連発!~
C#4.0 と Visual Studio 2010/.NET Framework 4.0~ここが Cool! いけてる機能10連発!~C#4.0 と Visual Studio 2010/.NET Framework 4.0~ここが Cool! いけてる機能10連発!~
C#4.0 と Visual Studio 2010/.NET Framework 4.0~ここが Cool! いけてる機能10連発!~Fujio Kojima
 
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)Hiroyuki Kusu
 
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話Takuya Kikuchi
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugSAKURUG co.
 
Xamarinでも有能な .NET Core
 Xamarinでも有能な .NET Core  Xamarinでも有能な .NET Core
Xamarinでも有能な .NET Core Yuta Matsumura
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#Yuta Matsumura
 
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)Yasuhiko Yamamoto
 
Visual Studio Live Shareでリモートペアプログラミング
Visual Studio Live ShareでリモートペアプログラミングVisual Studio Live Shareでリモートペアプログラミング
Visual Studio Live ShareでリモートペアプログラミングShinya Nakajima
 
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門Yasuhiko Yamamoto
 
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップRAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップKaz Aiso
 
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介Ryo Iinuma
 
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...Fujio Kojima
 
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜日本マイクロソフト株式会社
 
大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンス大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンスkumamidori
 

Similar to 自己紹介とC# Devkitについて.pptx (20)

オレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そうオレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そう
 
デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912
 
Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2special
 
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
 
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
 
C#4.0 と Visual Studio 2010/.NET Framework 4.0~ここが Cool! いけてる機能10連発!~
C#4.0 と Visual Studio 2010/.NET Framework 4.0~ここが Cool! いけてる機能10連発!~C#4.0 と Visual Studio 2010/.NET Framework 4.0~ここが Cool! いけてる機能10連発!~
C#4.0 と Visual Studio 2010/.NET Framework 4.0~ここが Cool! いけてる機能10連発!~
 
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
 
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurug
 
Xamarinでも有能な .NET Core
 Xamarinでも有能な .NET Core  Xamarinでも有能な .NET Core
Xamarinでも有能な .NET Core
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
 
Visual Studio Live Shareでリモートペアプログラミング
Visual Studio Live ShareでリモートペアプログラミングVisual Studio Live Shareでリモートペアプログラミング
Visual Studio Live Shareでリモートペアプログラミング
 
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
 
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップRAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
 
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介
 
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
 
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
 
大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンス大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンス
 
Trat_sprint3
Trat_sprint3Trat_sprint3
Trat_sprint3
 

自己紹介とC# Devkitについて.pptx