6 ms·
Wow. UWP isn't a mobile OS ported to Windows. The whole WinRT is an OS and WinRT is an API set confused things. Forget that there was an ARM tablet. WinRT mean
by youdontknowtho 10y ago
Wow.
UWP isn't a mobile OS ported to Windows. The whole WinRT is an OS and WinRT is an API set confused things. Forget that there was an ARM tablet. WinRT means the Windows Run Time. It's a set of API's that are built with the Windows OS. The "they made it mobile" part was really a side effect of trying to move to a more managed execution model where the OS took a more aggressive approach to managing the execution of an app over it's lifetime.
That has certainly needed improvement since it has been released. The WinRT API set was and is limited to a set of API's that are governed by a security broker. Applications are intended to have an identity, that is a SID, and execute in a very tight sandbox ala Chrome or Edge. It's a good model that makes some of the traditional malware vectors very hard to exploit. (You can't call LoadLibrary, for instance.)
OK. Set that aside for a moment. The desktop bridge uses technology called App-V that has been available to enterprise customers for a long time. It lets you run an installer and it watches all of the things it does to a clean system. It then bundles all of those things into a single file. It provides shims to your code that, for instance, will intercept your attempt to write to a global part of the registry and directs it to a registry hive kept in the file.
What they did in the anniversary edition was include parts of AppV in Win10, and they built a set of technologies that help with the process of "sequencing" a Win32/.Net app. Your application still runs just like it used to. There is no emulation. If you want to use API's that are available in UWP you need to follow some guidance on adopting them. Some are less invasive than others. Its a tradeoff, but it's one that you get to control as a dev and you can share a bulk of your code between Win7 and Win10 builds that use the strengths of both platforms.
So, its a sandbox, but not an emulator. The AppX installation method is more like the ".app" model in desktop OS X where you have a bundle of things for your app. There are also new security model things that you can adopt over time to gain access to new functionality.
You DO NOT have to install AppX packages from the store. You can download them from the Web and double click on them or use powershell to install them. The store is separate from the app packaging tech and API set.
Your comment reads like someone who doesn't use Windows enjoying some schadenfreude at the trouble they have had over the last couple of years. You're going to need to get over that. They are getting their shit together in a big way. Yes their mobile platform failed. They have admitted that and moved on. They produce a lot of software for Android and IOS. You can develop native Linux software with Visual Studio now. They contribute to Linux, Mesos, and Docker. .Net is open source. They contribute to FeeBSD. What more do you want? No one is making you use their stuff. You have never had more options. Why do you feel like that for you to be doing better other people have to be doing worse?
- flohofwoe 10y agoI'm using Windows (and OSX, and Linux) everyday and recently started (but didn't finish because of UWP's weirdness) porting my 3D coding framework over to UWP. The same framework is also running on Win32, OSX, Linux (incl RaspPI), iOS, Android, HTML5 and PNaCl, so I do have some multi-platform experience. Of these platforms, and with the exception of Android NDK, UWP is the most painful to port to (if you're interested in the details: http://floooh.github.io/2016/08/20/uwp.html http://floooh.github.io/2016/08/20/uwp.html). I want Windows to remain the dominant gaming platform. But for this, UWP is completely heading into the wrong direction.
- benaadams 10y agoHow does a conversion of one of your Win32 exes run with the new system? Can do a manual convert (https://msdn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-manual-conversion https://msdn.microsoft.com/en-us/windows/uwp/porting/desktop...) or use the tool to create the appx then double click to install, I believe...
- flohofwoe 10y agoI'll try that as soon as I'm back on my Win10 laptop. If this works well it will be highly preferable over an UWP port, because too many compromises have to be made to run games on top of UWP. What I'd actually like to see is a new application model and set of APIs 100% focuses on games, in the original spirit of DirectX. The required API footprint for games is minimal and should be easy to sandbox. None of the existing desktop or mobile operating systems are particularly well suited for games, writing window system glue code and input event handling is terrible everywhere outside of the game console world. Only Microsoft cared about that in the early days of DirectX and before it's gaming focus shifted to the Xbox and Xbox360. We need a new DirectX initiative which fixes the flaws of UWP for games. We don't need one generic solution which is supposed to work for all application types, we need a couple of highly specialised APIs and specialised application models. As Windows8 has shown, one-size-fits-all doesn't work.
- 10y ago