Hacker News new | ask | show | jobs
by youdontknowtho 3563 days 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?

3 comments

I'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).

I want Windows to remain the dominant gaming platform. But for this, UWP is completely heading into the wrong direction.

How 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...) or use the tool to create the appx then double click to install, I believe...

I'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.

I think that's the direction things are heading. If you look at the compositor API's they are trying to make the whole XAML layer easier to interop with DX because DX is where the perf and flexibility are.
Right, a big push to the XAML stack with the Anniversary Update was a lot of beefy pushes to what's called the "Visual Layer" [1]. A lot of the focus seems to be on making sure that you use high level XAML components and low level DirectX code side-by-side in the same windows.

[1] https://msdn.microsoft.com/en-us/windows/uwp/graphics/visual...

There is a guy named Kenny Kerr that produced a library called "Modern Windows" or something like that. He has a PluralSight course...I think at least part of it is on youtube...where he demonstrate using it.

His stuff is just worth watching anyway. Awesome Windows dev and ISO C++ content.

Then this announcement is really for you because you can now use the code unmodified.
> schadenfreude

They've built up an enourmous reserve of ill-will that will take years to diminish. It wasn't all that many years ago that they were tangentially involved in SCO's last-ditch attempt to destroy Linux. The Win10 telemetry and forced-updates controversies are ongoing.

Everyone can see a possible future in which all the doors for shipping software to users' computers without paying 30% to the platform holder and submitting to their arbitary rules are closed. (The justification will be malware, of course). That day has not yet come, and it's not necessarily implied by WinRT, but it's a step in that direction.

It actually was a long time ago that they were "tangentially involved in SCO". That was a very long time ago. My children were babies when that happened. THEY ARE IN COLLEGE NOW.

BTW. That was mainly IBM and Novell that you want to be mad at. Microsoft made a licensing deal with SCO to license Unix. Wow. You really have to reach back on that one. You could have more reasonably chosen how they treated Netscape.

No one ever seems to mention that they invested in Apple at a time when that investment KEPT APPLE ALIVE. But what ever.

The telemetry. It bother you. It doesn't bother me.

The "Get Windows 10" app that people were complaining about? Fair play. That was crap.

I don't know what to say about the last statement. Ask anyone in computer security and they will say, yes it would be great if walled gardens weren't the best idea for getting trustworthy software onto customer systems, but right now it is. They all think that Android is worse than IOS. Platforms that are used by a billion people where you can do anything you want produce malware. There isn't a way around that right now.

Solve that one and you too can be a billionaire.

My feeling is that the "ill will" is more emotional than it is reasonable. I know lots of admins who made up their mind about Windows in the Windows 2000 and 2003 era. It's vastly different in 2016 and far better. It's hardly recognizable.

EDIT: OK OK. Babies may have been hyperbole. Toddlers. They were toddlers.

(Someone has downvoted you, wasn't me)

In re malware and walled gardens, I certainly don't have a solution, but I've been writing a chart of the extent of the problem: https://github.com/pjc50/pjc50.github.io/blob/master/pentagr...

2004-2012 I built apps of significant size/$$ for clients employing poorly recommended microsoft tech including silverlight, infopath, webforms, datasets, windows phone 7 and 8, WCF. Hindisght is 2020 and shame partially on me but when you try to be sensible and follow the official recommendations you develop this instinctive flinch over time that happens when microsoft comes out with re-inventions that converts your codebase into legacy overnight.

Yes youre right the 'new' microsoft under nadella is much more accommodating, however I was forced into a place where I couldnt afford the problems the 'old' microsoft bought and it was more logical to adopt open standards. Since I switched to open platforms microsoft has really improved but pardon me if I stick with my open tool stack for the foreseeable future until i see any compelling reason to switch back. In other words, microsoft is now 'as good' as many open platforms, but there isnt really a compelling reason to switch back.

It's funny you mention InfoPath. I know of at least two multi-billion dollar companies that have significant amounts of development time tied up in InfoPath. All of its still running, with the plan being to replace it over time.

Still just sitting there running.

No need for pardon's. Use what you like that gets the work done. My instinctive flinch is different. We all have them. That's the thing, I don't want you to switch. I don't care. I love open source software. What I am saying is that they have a lot of effort built into backwards compatibility. And those solutions may not be the latest hotness, but you can still run them.

>What more do you want?

Them to open source and GPL all their software.

MIT isn't good enough? Because they did use MIT.

I want Stallman to give more care to the defense industrial base that produces computers than to making sure that the same defense industrial base has a free f*cking compiler to use on the computers it makes.

>MIT isn't good enough? Because they did use MIT.

Windows is MIT licensed now?

System Center is MIT Licensed?

Visual Studio is MIT Licensed? (not core, core is not Visual Studio, it Github's Atom editor with a MS skin)

I believe I said ALL software not just some side projects

It's Visual Studio Code...not core. And it's not a skin it's an actively developed fork of Atom.

no windows is not MIT. nor is system center. PowerShell is. PowerShell DSC is. Their OMI broker for Linux is. .Net is. Asp.net is. Their Python tools are. The C# language is developed on video streams with the product team and the community. F# has been open source for a long time. They contribute to Linux, Mesos, docker, Hadoop, and other projects.

I wish that my side projects were as widely used as the C# compiler.

Why don't you just admit that there really isn't anything that they could do. If they did open source Windows you would read some comments written by other people about the code and "pronounce" it the worst code ever written. I can safely say that because here's the thing...YOU'VE ALREADY WON and it's still not enough. Open Source won. They were forced by the sheer awesomeness of it and the energy that people like you brought to open source development to adopt it and push it where ever they possibly can. TAKE YES FOR AN ANSWER. Is Windows OSS yet? Not yet, but that is coming. And when it happens you will still have something negative to say about it because this isn't about anything other than your emotional ties to this Microsoft in your mind that has been your favorite boogeyman for years. Guess what? There are actual boogeymen in the world, but focusing on a software vendor keeps you from having to face that. Every computer you buy validates and enforces the defense industrial base of the west. You capitalist infidel, you. All electronics, really, but computers in particular.

You want Visual Studio to be GPL'd? I want to stop flooding the third world with cheap weapons. They need water, not a text editor. Linux doesn't make them more free and Windows doesn't make you less free. It's a stupid privileged argument. Play with your toys and try to be nice, but don't tell me that your toys are more "right" than mine. That's just fucking stupid.

I have had entirely too much coffee, and it's probably time for a new HN account anyway. Cheers.

> It's Visual Studio Code...not core. And it's not a skin it's an actively developed fork of Atom.

It's not a fork of Atom. It's independently developed text editor/light IDE which runs on Electron, chromium toolkit created by Atom devs to ease creation of desktop applications using JavaScript and HTML.

Indeed. I stand corrected, and thank you. That's good to know.