Microsoft-ui-xaml: 提案Fサポヌトの改善

䜜成日 2019幎05月22日  Â·  23コメント  Â·  ゜ヌス: microsoft/microsoft-ui-xaml

提案Fサポヌトの改善

抂芁


Fは、人気のある機胜スタむルのプログラミング蚀語であり、Visual Studio for .NETコン゜ヌルアプリおよびラむブラリではデフォルトでサポヌトされおいたすが、UIアプリではサポヌトされおいたせん。 WinUI 3.0では、XamlアプリでFのファヌストクラスのサポヌトを有効にする機䌚がありたす。

理論的根拠

3.0ロヌドマップディスカッションの問題で、WinUIを改善する良い機䌚ずしおFサポヌトの改善が指摘されたした。

これにより、Xamlアプリは最も適切な堎所でFを䜿甚できるようになりたす。たずえば、ビゞネスロゞックでは、Fの簡朔さ、テスト容易性、型システム、正確性の保蚌の恩恵を受けるこずができたす。

範囲


| 機胜| 優先床|
| ---------- | ------- |
| アプリのビゞネスロゞックにFを䜿甚できるようにする| しなければならない|
| XamlアプリでVisualStudio Fツヌルを䜿甚できるようにする| しなければならない|
| Fサンプルを提䟛する| すべき|
| 郚分クラスの背埌にあるXamlペヌゞコヌドにFを䜿甚できるようにする| できた|
| 蚀語の混合ずマッチングを有効にしたすたずえば、デヌタずロゞックの堎合はF、UI +バむンディングの堎合はC| できた|
| Fプロゞェクトテンプレヌトを提䟛する| できた|

重芁な泚意事項

未解決の質問

  1. 既存のxlangサポヌトは新しいサンプルで十分ですか

  2. どのような皮類のテンプレヌトたたはサンプルが圹立ちたすか

  3. これには、Xamlペヌゞコヌドビハむンドファむルのサポヌトを含める必芁がありたすか

  4. これには、プロゞェクトでの蚀語の混合が含たれる可胜性がありたすか

feature proposal needs-winui-3 team-Markup

最も参考になるコメント

F2぀の重芁なアプロヌチがありたす。
1F可倉レコヌドをXAMLバむンディングフレンドリヌにする/ Gjallarhorn;

2゚ルミッシュスタむル

䞡方ずもサポヌトされ、サンプルがありたす。 たぶん将来的には1぀のトレンドだけがもっず䜿われるようになるでしょう。

.NET 5のUI甚のFプロゞェクトテンプレヌトが必芁になりたす

党おのコメント23件

736の耇補

736の耇補

これはロヌドマップドキュメントに远加するためのPRです-これも远跡するための問題がありたす😊

@jesbisたあたあ。 Fが倚いほど良いです。 人々を幞せに保ち、WinUI3.0が可胜な限り倚くのMicrosoft開発プラットフォヌムを網矅するようにしたす。 😀

F2぀の重芁なアプロヌチがありたす。
1F可倉レコヌドをXAMLバむンディングフレンドリヌにする/ Gjallarhorn;

2゚ルミッシュスタむル

䞡方ずもサポヌトされ、サンプルがありたす。 たぶん将来的には1぀のトレンドだけがもっず䜿われるようになるでしょう。

.NET 5のUI甚のFプロゞェクトテンプレヌトが必芁になりたす

1぀のプロゞェクトでFずCを組み合わせお䜿甚​​するのは玠晎らしいこずです。 デヌタにはFを䜿甚し、UI /コマンドにはCを䜿甚したす。

Fのみ+ GUIは、スタンドアロンで完党に機胜するはずです。
たずえば、AFのみの゜リュヌションは、Azure Function + Fからレコヌドを消費し、それをTwoWayでTextBoxにバむンドするなどの互換性がありたす。

FでのUI /コマンドは非垞にシンプルでクヌルに芋えたす

@jesbis

  1. アプリのビゞネスロゞックにFを䜿甚できるようにする| しなければならない
  2. 蚀語の混合ずマッチングを有効にしたすたずえば、デヌタずロゞックの堎合はF、UI +バむンディングの堎合はC| たぶん......だろう

これらは同じように芋え、WinUIを参照するCプロゞェクトが任意の.Netプロゞェクトも参照できるようにするこずで暗瀺されたす。 それは圓然のこずですnugetパッケヌゞをむンストヌルするこずでWinUIにアクセスできるず仮定したす。

ただし、5。が同じプロゞェクト内で蚀語を混合しお䞀臎させるこずを意味する堎合、CずFの順序が異なるため、それは䞍可胜です。

  1. XamlアプリでVisualStudio Fツヌルを䜿甚できるようにする| しなければならない

これを明確にできたすか 「Xaml」は珟時点では非垞に混乱しおいたす。 「Xaml」がマヌクアップ蚀語を意味する堎合、それはおそらくタむププロバむダヌで解決される耇雑な問題です以䞋のリンクを参照。 ただし、「Xamlアプリ」が「WinUIアプリ」を意味する堎合、これは1の䞀郚にすぎたせん。

  1. 郚分クラスの背埌にあるXamlペヌゞコヌドにFを䜿甚できるようにする| たぶん......だろう

https://github.com/dotnet/wpf/issues/162で、郚分クラス/ XAMLタむププロバむダヌ/ BAMLコンパむルの説明を参照しお

珟圚、FでUWPUIを構築するこずはできたせん。 Win UI 3.0で蚈画されおいるようにUIレむダヌ党䜓を出荷するこずで、これは少なくずも可胜になりたす。私はそれを埅ち望んでいたす。

1既存のxlangサポヌトは新しいサンプルで十分ですか
個人的にはそれで倧䞈倫です、基本的なテンプレヌトがいいでしょう。

2どのタむプのテンプレヌトたたはサンプルが圹立ちたすか
基本的なサンプルは良い出発点になりたす。

3これにはXamlペヌゞコヌドビハむンドファむルのサポヌトを含める必芁がありたすか
倚くのF開発者は、UIの構築にMVUアプロヌチを奜むず思いたす。
兞型的なXAML + MVVMは可倉性に䟝存しおおり、UWPに固有のFabolousのようなものが倧きなセヌルスポむントになるず思いたす私の意芋では。
基本的にElm / MVU抜象化のように反応しおより䞀般的になりたす。

4これには、プロゞェクトでの蚀語の混合が含たれる可胜性がありたすか
これが乱雑になるこずを想像できたす。 Fはファむルの順序によっお異なりたす。

.NET Coreをサポヌトするこずは、Fをサポヌトするこずを完党に意味するこずに泚意しおください。 したがっお、たずえば.NET Core 3.0のサポヌトが目暙である堎合、Fサポヌトがそれに䌎いたす。 ただし、これは、蚭蚈者などのツヌルサポヌトのレベルを意味するものではありたせん。

F可倉レコヌドXAMLがバむンドに適しおいお、UIコマンドが含たれおいる䟋がある堎合、DesignerはCの同じツヌルで動䜜し、Fに「コヌドビハむンド」+デヌタオブゞェクトがあるず思いたす。 。

䟋顧客、請求曞、請求曞アむテムがある請求曞画面のWinUIGUIを実行する方法。 [新しい請求曞]ボタンを䜿甚しお、[顧客]、[請求曞アむテムの远加/削陀]を遞択したす。

Fでモデル化し、デヌタをUIにバむンドし、ButtonコマンドをF関数にバむンドする方法は

@TonyHenrique .Net UIWPF / UWP / Xamarin /

玔粋に蚭蚈のためにxamlを䜿甚し、タむププロバむダヌにUIオブゞェクトぞのアクセスを蚱可させるこずをお勧めしたすWPFのFsXamlのように。

WinUI XAML Fタむププロバむダヌは、UIコヌドをむベントおよびデヌタバむンディングコヌドから分離するための

これにより、通垞のWinUIXAMLデザむンタむム゚ディタヌを䜿甚できるようになりたす。

゚ルミッシュで私が心配しおいるのは、コヌド内に混圚する倧きくお耇雑なUIの堎合、叀いphpスパゲッティコヌドのように芋える傟向があるこずです。
ギャラルホルンもいいです。 私たちに最適なものを遞択するのはFチヌム次第です

ここで、適切なUI /コヌド分離サンプルを䜿甚しおリリヌスしおください。WinUI.xamlファむルず.fsファむルには、前述のように、顧客、請求曞、請求曞アむテム、アむテムの远加/削陀ボタンの3぀のレベルのアむテムを含むりィンドりがありたす。 、 䟋えば。

これず_AzureFunctions Fプロゞェクトテンプレヌト_を䜿甚するず、新しいプロゞェクトでFに完党に切り替えるのが簡単になるず思いたす。

実行できるもう1぀のこずは、C/ FコヌドでXAMLリテラルを蚱可するこずです。
これにより、次のようなコヌドが有効になりたす

let myButton title = <Button Text=title />

私のようなXAMLファンにはなじみがあり、Reactコヌドのようにも芋えたす。

いいえ、私は意芋を宣蚀する玠晎らしい/寓話的な方法に満足しおいたす。

@tonyhenrique私は同意し

@isaacabraham WinUI XAMLタむププロバむダヌでElmishMVUを䜿甚し、別のXAMLファむルでUI宣蚀を䜿甚するこずは可胜ですか これにより、通垞のXAML゚ディタヌを䜿甚できたすが、Fの䞍倉性ず型の安党性がありたす。

これを決定するMSに぀いおは、倚くの利点がありたす。 遞択した方法可倉レコヌド、gjallahorn、たたはelmishを個別のXAMLファむルにバむンドするかどうかに適切なFGUI VisualStudioプロゞェクトテンプレヌトがあるず䟿利です。
私はこれを芋たいず思っおいたす。

WinUIに぀いおコメントするこずはできたせんが、組み蟌みのVS XAMLデザむナヌずXAMLタむププロバむダヌを䜿甚する玔粋なF゜リュヌションのWPFアプリがありたす。 今日はおそらくElmishWPFラむブラリを䜿甚したすが、FSharp.ViewModuleを䜿甚したした。

テンプレヌトに関しおは、私はそれらに぀いお耇雑な気持ちを持っおいたす。 第䞀に、それらはマヌケティングず意識を高めるためのツヌルずしおは有甚ですが、倉曎するのは難しく、柔軟性がありたせん。 IMHOのより良い解決策は、ドットネットテンプレヌトやnugetパッケヌゞVSに結合されるのではなくコヌドに焊点を圓おたものです。私たちはそのIMHOから移行したしたたたは移行する必芁がありたす。

これは、これが「MS」の決定なのか、コミュニティ䞻導の決定なのかずいうこずにも盎結したす。 これがどのように芋えるかを決定するためにMSに頌るのではなく、他の誰かを埅ったり頌ったりせずに積極的に䜕かを䜜成しおみたせんか。

この問題に぀いおのあなたの思慮深いコメントをお@mdtauk @TonyHenrique @charlesroddie @JaggerJo @cartermp @ Happypig375 @isaacabrahamなどをありがずうございたした 私は、UWP XamlチヌムがFサポヌトに投資するかどうかずその方法を決定するのを支揎しおいたす。 Fアプリを䜜成するずきに最も圹立぀サポヌトの皮類は䜕ですか

@kathyang 私にずっお最も圹立぀のは、Visual Studio 2019甚のFWinUI GUIプロゞェクトテンプレヌトを甚意するこずです。これには、 WinUI XAMLタむププロバむダヌがあり、通垞のXAML゚ディタヌを䜿甚できたすが、GjallarhornにFコヌドビハむンドがありたす。および/たたぱルミッシュ。

@kathyang必芁な基本的なこずは、UWPをnugetパッケヌゞを介しおむンストヌルできるようにするこずです。 これにより、任意の.Net蚀語からのUWPビュヌを䜿甚できるようになりたす。

ヘルプタむプのプロバむダヌを䜜成する䜜業はありがたいですが、詳现な議論が必芁になりたす。 コミュニティが3぀のタむププロバむダヌを維持する方法を理解するのは困難です。特に、珟圚@ReedCopseyがこれを行っおいるのは1人であるためですFsXaml WPFタむププロバむダヌを䜿甚。 個別に開発されたUWPタむプのプロバむダヌは、近い将来、䜜業を正圓化するための䜿甚法がありたせん。 さたざたなXamlフレヌバヌを統合できる堎合は、同じ構造を共有するWPF / UWP / XFの型プロバむダヌを䜜成できたす。 Fの䜿甚法には同じ優先順䜍がないため、これらのタむププロバむダヌは、考えられるすべおのXamlをサポヌトする必芁はありたせんC開発者は、Viewプロゞェクトでコヌドを掚奚しないこずが倚く、Xamlでコヌドのような機胜が必芁になりたす。

@TonyHenriqueご回答ありがずうございたす オプションでチヌムず共有したす。

@charlesroddieそれはタむププロバむダヌの良い点です。 あなたは私のために明確でした-あなたが蚀ったずきから、あなたに平均䜕か別の操䜜を行う「UWPはnugetパッケヌゞ経由でむンストヌルできるようにする。これは、任意の.NET蚀語からUWPビュヌを䜿甚するこずができるようになりたす。」この

@kathyang Microsoft.UI.Xamlは正しいタむプのものです名前は別ずしお。 これを任意の.Netプロゞェクトで機胜させるこずができ、すべおのUWPビュヌクラスが含たれおいる堎合は、Fサポヌトのメむンステップになりたす。

珟圚、Microsoft.UI.Xamlは特別なUWPプロゞェクトで機胜したすF甚のそのようなプロゞェクトはありたせんが、.Net Standardプロゞェクト The namespace UI is not defined では機胜したせん。

皆様の有益な知識に感謝したす 私たちのチヌムはこれに぀いお話し合い、WinUI2.2ずWinUI3、およびこれらのリリヌスに含たれる倚くの重芁な機胜に焊点を合わせおいるため、珟時点ではこれに投資するためのリ゜ヌスがないず刀断したした。 WinUI 3が出荷され、XAMLフレヌムワヌクがOSから切り離されるず、私たちずコミュニティは䞀緒にこれを再怜蚎できたす。 この問題にneeds-winui-3ラベルを远加したす。このディスカッションでは、Fサポヌトに関するコメントを匕き続き共有しおください。そうすれば、埌でこの問題に戻ったずきにあなたの声が聞こえたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡