Developing for Windows with the Windows App SDK #1615
Replies: 41 comments 191 replies
-
How can we use the Windows App SDK from non-MSBuild projects (for example CMake)? NuGet packages don't work there |
Beta Was this translation helpful? Give feedback.
-
Go from Win32 => Windows 8, Windows Phone Runtime => UWP => Win32. Great job MS, you make us waste our time. |
Beta Was this translation helpful? Give feedback.
-
I simply don't understand how you can tell us "if you're happy with your current functionality in UWP" -- we're pretty much 8 years behind any decent advance there has been made. I can't even begin to tell you how many things are wrong with UWP/WinRT, but here are a few of the top of my head
These are stuff you deal with every day as a lucky UWP developer. There's more -- I could write a book. |
Beta Was this translation helpful? Give feedback.
-
I asked on the WinUI group, but I'll ask here again: The reason I ask is that I assumed |
Beta Was this translation helpful? Give feedback.
-
In UWP we get native compiling and good speed , I know you can also get encrypted appx packages on UWP that encrypts the binaries on windows to prevent reverse engineering. (never used this feature myself) Switching to WinUI3 / .Net 6 we obviously don't have native compiling but is there an equivalent of eappx (encrypted appx) for WinUI3 / .NET 6 apps ? If we can use encrypted binaries on windows for WinUI3 /.NET 6 apps then the migrations path becomes alot easier especially on those UWP apps where security is important. |
Beta Was this translation helpful? Give feedback.
-
Can developers working with Windows Forms actually port their projects to WinUI 3 or is WinUI 3 pure XAML like UWP/WPF? Will it be possible at all to offer WinUI 3 apps also portable, just an executable file which contains everything needed ? What about the support of WinUI 3 apps on server environments, where there is not even the Microsoft Store to get apps? |
Beta Was this translation helpful? Give feedback.
-
Is there Map control in WinUI3 now (not some day in the future)? |
Beta Was this translation helpful? Give feedback.
-
What are you guys even doing? Why are you not improving UWP instead of constantly creating new frameworks. Now we are back to WinForm/WPF and Win32 with fancy incompleted WinUI3? Don't you think it's embarrassing that a massive platform like Windows has 0 competent app development platform for years, almost a decade? Windows is one of the olders platforms... Meanwhile you keep running around in circles... truly no words for this. |
Beta Was this translation helpful? Give feedback.
-
No, there's nothing exciting to see here honestly.
Why can't we have .NET 5/6 for UWP App Service projects? This is pitiful investment from a multi-trillion dollar company. Nothing here constitutes a proper migration strategy, since as noted in the post, Windows App SDK is not a strict superset of UWP. There are two options. Magically accelerate the pace of WinAppSDK to become a strict superset of UWP (including target platforms), or provide a route to running .NET 6 on UWP. Otherwise, I might as well jump ship to Flutter, which somehow has a better strategy for targeting Xbox than Microsoft does. Only providing official support for running .NET 5/6/whatever in a UWP App Service project, but not for the UI layer, would still be an acceptable solution. This would allow slowly porting code over from UWP to WinUI 3. Even a "beta" tag that will never be removed on .NET 6 on UWP would be an acceptable solution. |
Beta Was this translation helpful? Give feedback.
-
I have always asked the question who is the executive on MS board level who is driving this process. Either you don't have the right executive driving this process or you don't have enough resources. The fact that MS pays $7.5 billion dollars for Github but are not willing to spend money on a proper cohesive strategy to sort out this mess is evident interacting with MS employees. There is a massive lack of resources and that is always evident because when there is new development then resources needs to be pulled from other projects so the end result is you end up running in circles all the time. The building blocks are all there at Microsoft but they don't have enough resources to finish the job. As someone once said. The last 10% of a new project takes 90% of your time. This has always been the problem at MS , you don't sort this out on MS board level you will never fix the problem. |
Beta Was this translation helpful? Give feedback.
-
R.I.P. Xbox apps since they seem to have completely forgotten they exist. |
Beta Was this translation helpful? Give feedback.
-
Once again you abandon a framework. How disappointing! Why there is no place for UWP |
Beta Was this translation helpful? Give feedback.
-
Some comments, for what they are worth, from someone who just started migrating an existing UWP/Desktop bridge app (SyncFolder, available on Windows Store) to WinUI 3 Desktop (Packaged). The most important reason for doing this is: Get rid of the The existing app makes use of a win32 full trust process that takes care of copying files and folders from and to various type of storage devices, like: mass storage (internal drives, NAS, USB, ..), MTP devices, FTP(S), SFTP, and OneDrive. Add to that a background scheduling task, a portable USB device watcher task and the need to allow a copy task to start when pressing a button on a toast notification. One could argue why such app (2 years ago) couldn't be better designed using WPF/Forms, but there was a simple reason for that: a UWP/DesktopBridge app can be distributed using the Windows Store. The app is free and the Windows Store makes it visible and available for everyone without me bothering about it. The app is relatively big: +30 Views (Pages and ContentDialogs), 10 ViewModels, +10 nuget packages, +2000 files, multi-language. I started the migration process about a week ago and finished the UI side of the porting. There were a couple of things that needed some attention, but overall migrating the UI goes easy. The following will require your attention:
For me, doing this as a hobby, the effort is not so important (40 hours so far), but I can understand that if you have to do this business wise this will cost you. What I learned though is that by doing this, the whole app gets a much better architecture, I could improve certain implementations here and there, and are convinced that this makes it easier for me to keep on adding features to the app. This is important for me: the current app got 25 updates until now, mostly updates because of user requests, remarks. To be honest, I am waiting for WindowsAppSDK V1.0 to be released in order to be able to publish the migrated app on the Windows Store. That leads me to 1 question: How will this work?
|
Beta Was this translation helpful? Give feedback.
-
We've spent a lot of time and effort producing UWP apps only to be told it is being abandoned. |
Beta Was this translation helpful? Give feedback.
-
While I greatly appreciate that the limitations of XAML islands from the original UWP XAML are fixed here for the desktop I have a number of problems or at least questions as well, mostly about future direction, which I think is very important to be clear. Currently the WindowsAppSDK is not nearly complete compared to UWP and it does not support HoloLens and Xbox. For one there is no information on what will happen on those devices going forward on the long term, only that they remain UWP for now. I am lucky since I only use C++ with UWP, and that seems to get all the latest features still. But it is a question will Windows App SDK get an UWP like limited API mode to target these systems without the legacy Windows components (which is basically UWP with rebranding)? Will the legacy stuff packaged as well (this would be bad IMHO)? The other question is that will Windows App SDK offer UWP like features, like the containerization, the removal of ancient APIs which makes it safer, faster to compile, the application access rights (capabilities, like access to the camera, filesystem etc.) and allow leaner versions of Windows later. I understand that the Win32 projects need the love more now. But it is a question: will you undo all this good stuff and go back 10 years? Or will you add support later? I already ported over an existing packaged non-UWP XAML Islands C# project to Windows App SDK, and it was fairly quick after I figured out the project configurations, most of the time was spent on updating some custom control UI styles to match the new built-in control styles (I was using the original WinUI). In my opinion UWP should be an API profile in the new SDK, so the developer can select the right scope for device reach and API availability as required. If he needs Xbox or HL, or some upcoming no legacy shell Windows option he can select an UWP like scope or select a wide desktop only scope, with a simple project setting. Also my strong suggestion to the MS SDK teams: never ever declare something legacy until the next thing is complete. That makes zero sense. In practical terms I feel that UWP only became usable in the last few years, ideally it should not had been released as 1.0 until this. You can still announce where you go forward, but do not ask devs to use unfinished frameworks just because those are "the future". As in my observation no new technology in this area is really the future at Microsoft, since as soon as it becomes near usable it is already legacy. This happened with so many things that it is not even funny. I used to be sarcastically saying to myself, if Microsoft declared something legacy it is now ready to be used, but that is basically the truth at this point. I am guilty as well, jumping to newest stuff, but I no longer suggest that to others. In fact right now I would suggest them to wait until all this new shiny SDK is declared legacy and start using it at that time, as by that time by the past trends: it will be feature complete, it will have many examples and documentation, it will have vastly more features than whatever new thing comes after it, it will no longer change significantly, its future will be entirely clear etc-etc. |
Beta Was this translation helpful? Give feedback.
-
everyone was waiting for , net 6 and this is what we got...after 3 years :(
such a shame.... Thanks GOD I only learned FLUTTER and it is so powerful
let's me make apps for win32 and UWP as well!
[image: Mailtrack]
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&>
Sender
notified by
Mailtrack
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&>
12/01/21,
07:33:33 PM
…On Mon, Nov 29, 2021 at 1:20 PM Péter Major ***@***.***> wrote:
One more thing: while I agree with providing a nuget version of WinUI,
which allows us to use the latest features independently of Windows, I also
think you should keep updating Windows.UI.Xaml as well to provide a
baseline, and do away with this Microsoft.Ui.Xaml namespace stuff. So apps
can use the version shipping with Windows as well and do not require a
different namespace. This would make it much more like a continuation and
make the switch easier as well, in fact it would require no switch at all,
old Windows would pull the additional dependency package, and new one would
have it installed. Having that obsolete API there makes zero sense, when
you actually keep developing it, it is a very ugly solution.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#1615 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIRXJSDSPTILG4QLI7WZVZDUOMZWTANCNFSM5GH5XQBA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Beta Was this translation helpful? Give feedback.
-
Is this going to work for Assigned Access single-app kiosks, since the Set up a single-app kiosk doc shows that Win 10 Pro only supports UWP apps for Assigned Access? |
Beta Was this translation helpful? Give feedback.
-
maybe for new people .net 6 would be better.... But still cant
understand, if .net 6 can make phone,web and desktop...then why do we need
blazor and other tons of options??? also better yet why not use UNO
platform? Why no one talks about UNO platform.
[image: Mailtrack]
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&>
Sender
notified by
Mailtrack
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&>
12/11/21,
03:02:34 PM
…On Sat, Dec 11, 2021 at 2:25 PM Carlo ***@***.***> wrote:
Lack of AOT for code obfuscation is blocking me since I started with C# 12
years ago 😆 (except for UWP which was discontinued).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#1615 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIRXJSBQ3JQE2EKULWE4VXDUQMKHNANCNFSM5GH5XQBA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Beta Was this translation helpful? Give feedback.
-
Well, if I want a well documented easy to use toolset to start building a new app, I'm not sure this is where I'd start. And after the many abandoned efforts to modernize Windows application development, and the amount of outdated MS documentation about the subject, I'm very very skeptical of your efforts. I hope you get the hint and invest heavily on modernizing Windows development, and commit to it. And hopefully, you'll make it accessible for developers too. You are behind the curve, as a dev, I'd rather spend my days building Android apps, iOS apps or macOS apps. For the love of all that is holy, get your sh!t together and make something that people are legitimately excited to use. People are already excited about C# and .NET 6, capitalize on that, please. |
Beta Was this translation helpful? Give feedback.
-
I'm aways on the 'win32' road 。 |
Beta Was this translation helpful? Give feedback.
-
kepp chirping..... MICROSOFT has failed once again!!! and will do same....
until they fix .net 7
[image: Mailtrack]
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&>
Sender
notified by
Mailtrack
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&>
12/24/21,
11:05:53 PM
…On Thu, Dec 23, 2021 at 9:20 PM pjmlp ***@***.***> wrote:
I don't care if C++/WinRT is ISO compliant when it requires one to be
masochistic enough to travel back in time to the glory days of Visual C++
6.0 IDE tooling.
The beauty of Qt and C++ Builder, is that not only I don't have to deal
with UWP any longer, my code is also cross platform.
I bet I am not the only burned one that C++/WinRT team has managed to push
away with their lack of vision on how C++ GUI tooling is supposed to look
like in the 21st century.
—
Reply to this email directly, view it on GitHub
<#1615 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIRXJSEYSMTCIDQV4NW3EBTUSND3JANCNFSM5GH5XQBA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
Thanks for posting this. Couple of questions/suggestions.
|
Beta Was this translation helpful? Give feedback.
-
Will someone talk about UNO platform????
[image: Mailtrack]
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&>
Sender
notified by
Mailtrack
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&>
12/26/21,
08:23:23 PM
…On Sun, Dec 26, 2021 at 3:57 PM John Torjo ***@***.***> wrote:
@jtorjo <https://github.com/jtorjo> I don't want to say A or B but since
2014 (current administration), msft had done basically nothing for the
desktop developers. Recently it changed but it took quite too long and I
see a dead end on this... It is funny how years of career focus on
something can go down the hole when the administration changes...
Yeah, I know... Things went downhill before that, with the coming of
Windows 8, and their whole WinRT "revolutionary" thingy. And WinRT creeped
up pretty much in every (Windows) place imaginable. I'm not sure the top
heads at MS realize just how bad this is, and obviously, they will NEVER
admit that publicly.
—
Reply to this email directly, view it on GitHub
<#1615 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIRXJSGWPAVMTSYSHTRY2JTUS3YKJANCNFSM5GH5XQBA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
I can't help but think of how monumental an achievement lifting the UI out of the kernel is. It must also represent a deep dive into some pretty old and hoary code. It's quite a milestone. With WinUI3 as a base, I firmly believe only good things will come our way rapidly. |
Beta Was this translation helpful? Give feedback.
-
The increasing number of Github issues could be construed as a sign of progress (from the right angle.) |
Beta Was this translation helpful? Give feedback.
This comment was marked as disruptive content.
This comment was marked as disruptive content.
-
I think MAUI .net 6 is the only (really) supported platform with inovation
and new things coming etc u can target any thing ith fluent Ui in it
[image: Mailtrack]
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&>
Sender
notified by
Mailtrack
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&>
01/08/22,
05:19:10 PM
…On Mon, Jan 3, 2022 at 4:15 PM Péter Major ***@***.***> wrote:
@EP012014 <https://github.com/EP012014> Think UWP mainly as a Win32 API
subset, which does not contain many legacy components like GDI. Other
stuff, like Win32 multi-threading APIs (e.g. CreateThread) and COM (e.g.
DirectX) is still included. You can also use WinUI which is a UI framework
and application model. And UWP also includes MSIX packaging. However almost
all of these UWP features could have been used in desktop apps for a while
now, WinUI 3 (when it will be feature complete) will make desktop use more
convenient. In turn the new SDK will likely offer an UWP like API subset as
target under some new name, so it can target Xbox, HoloLens and other
non-full desktop Windows based systems.
—
Reply to this email directly, view it on GitHub
<#1615 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIRXJSEUSNQQX2TCAPUMPYLUUGAOFANCNFSM5GH5XQBA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
I have many questions; here are some of them. Our UWP app consists of about 150,000 lines of code to port from UWP, written in C# & C++.
I hope this will not cause significant technical debt for us and porting these items over will be fairly simple. |
Beta Was this translation helpful? Give feedback.
-
Please read and act accordingly! The link again: Oh! And SPREAD THE WORD! |
Beta Was this translation helpful? Give feedback.
-
We hope you're excited about the new features in the Windows App SDK and WinUI 3! 🥳 To help you determine when and how you should use the Windows App SDK, we’ve put together a few frequently asked questions.
What is the focus of the Windows App SDK?
The Windows App SDK is focused on empowering developers to build the most productive apps on Windows. To achieve this, we are using the existing desktop project types as the foundation of the Windows App SDK, due to the vast amount of existing desktop APIs and compatibility that desktop project types provide. Additionally, we are making our existing UWP platform investments easier to consume by desktop project types and enabling new capabilities like AI & Fluent Design. As we enable these new capabilities, we are lifting more libraries from the OS into the Windows App SDK, so we can deliver on the agility and backwards-compatibility developers need to reach across the entire Windows ecosystem.
What does the Windows App SDK mean for UWP and desktop developers?
For developers using the Universal Windows Platform (UWP) project types, if you are happy with your current functionality in UWP, there is no need to migrate your project type. WinUI 2.x and the Windows SDK will continue to support UWP project types, including bug, reliability, and security fixes. In Windows, we use UWP project types for several of our own Windows apps. If you want to use the Windows App SDK or .NET 5 in your existing app, you can migrate your project to a desktop project type as described in the migration section further below.
For developers using a desktop project type (WPF, Windows, or .NET 5+), you can simply add the Windows App SDK as a NuGet package and get access to all the new APIs.
Our goal is to make the Windows App SDK the superset of the capabilities of both desktop and UWP – which would give developers a single path forward. We are using desktop project types as the foundation of our convergence.
How should I think about the future of app development on Windows?
We are making it easier and faster to build great desktop apps via the Windows App SDK and WinUI 3, and continuing to make it easier to empower your UWP app with desktop functionality by improving the migration experience. There are many excellent choices to consider when building a new Windows app. For native Windows desktop apps, we recommend investigating WinUI 3 first and seeing if WinUI 3 meets your needs. See our roadmap and the WinUI 3 roadmap to get an idea of what’s available now and what’s coming. Please continue to engage with us and let us know what's blocking you so we can plan and prioritize your most critical features!
What if I have a UWP app and need .NET 5/6?
If you need to use .NET 5/6 in your UWP project type, we recommend you migrate your project to a WinUI 3 desktop project, since .NET 5/6 will not be coming to UWP project types. See the migration section further below for more info.
What if I want to develop an app with web content?
WebView2 provides the best way to use web content in your native Windows app. It is currently available for WinUI 3, WPF, and WinForms. WebView2 is in the process of being added to WinUI 2, and will become stable soon.
What would migrating project types from UWP to desktop look like?
If you are happy with your current functionality in UWP, there is no need to migrate your project type. WinUI 2.x and the Windows SDK will continue to support UWP project types, including bug, reliability, and security fixes.
If you’ve decided to migrate, you should first be aware of some functionality that is not yet supported in WinUI 3 and the Windows App SDK. If your app needs any of these features/libraries, you should consider waiting to migrate. UWP project types are still supported by WinUI 2.x and the Windows SDK.
When migrating, in most cases, your UI code just needs a few namespace changes. Much of your platform code will stay the same. You will need to tweak or change some code based on different functionality/availability in desktop apps vs UWP apps. We expect migrating most apps to be in the order of days rather than weeks.
At a high level, to migrate your app, you would...
See the migration docs to learn more about how to migrate! For those of you who have migrated, please share your feedback with us so we make improvements and include issues you ran into in our documentation. Please continue to engage with us and let us know what's blocking you so we can plan and prioritize your most critical features!
Beta Was this translation helpful? Give feedback.
All reactions