Replies: 1 comment 1 reply
-
TL.DR 1 : Don't have any presumptions. Always start from the first principles. TL.DR 2 : You are free to ignore everything written below as unofficial response (Honestly speaking you have no other option since you yourself stated )
but you are also free to examine them and the fact checks yourself. while doing that, remember TL.DR 1 . you'll thank me some months later
No
Yes
Windows App SDK is only needed when you need Sugercoated APIs(which are already available as C based aka Win32 version) and WinUI3 and WinUI3 Xaml Islands and you belong to
No. Let me handle it from first principles. UWP = => if you mean UWP APIs = WinRT APIs , then know that WinRT is sugercoat over COM, All WinRT APIs are COM APIs underneath and All COM APIs are based on C based Win32 APIs underneath. => if you mean UWP apps = AppContainer , then see #1071 (comment) => if you mean running your app on non-Desktop platforms,
as long as your app meets these two criterias , it will run, WindowsAppSDK will do nothing for you in this regard.
restriction comes from above mentioned AppContainer.
there is no such thing as Modern APIs . all of these modern apis are Sugercoated APIs(which are already available as C based). Brand new public win32 apis such as the DIrectX Agility still are C based and will always be. Brand new public win32 apis are WIndows Version dependent. 💡 Self-Reflection Question : If every app is Win32 app underneath then what's the fuss since 2012, UAP, UWP and Project Reunion and so called breaking walls between UWP and Win32 ? 💡 the Answer : Basically they are moving away from
Open Sourcing some parts
|
Beta Was this translation helpful? Give feedback.
-
Hello!
Couple of questions.
@andrewleader has provided a good response (thank you!) in #354 (I'd like to know about performance overhead still, though ;-) )
But there are few more:
Let's say I want to create a very simple Console/Desktop .NET 5/6 app, and at the same time I want to use new Windows platform capabilities (e.g. Windows.Media.Ocr class).
1.1 How do I do this? Am I required to use WinAppSDK, or I can simply install a C#/WinRT language projection Nuget package and call these APIs directly?
1.2 If it's the latter- why use WinAppSDK when one can simply call WinRT APIs directly from C#/C++? (Not considering the "decoupling" aspect of WinAppSDK)
1.3 It may be that I am really dump and incompetent - let me know if so, but I feel seriously confused as to what technology to use in what scenario. How about creating a matrix, or whatever form of visual representation will work better and show ALL relations of all current Microsoft development technologies/stacks/SDKs?
Does using WinAppSDK or WinRT language projection make a regular Desktop app a UWP app? I want to make a desktop app which is not restricted as UWP app (e.g. having full file system access, not running in a sandbox, etc.) but has access to all modern APIs. How can I achieve this?
Initially I thought that WinAppSDK will encapsulate all language projections/modern platform features under one umbrella "automatically", but this does not seem to be the case. What is the relation between WinAppSDK and modern APIs/language projections now? Should one use just the first? The second? Both?
What about Python/WinRT? Has the development stopped? (Maybe not the best place to ask this but anyway - @kennykerr can you please clarify this one?)
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions