13 ms·
How Windows Everywhere finally happened
- wornohaulus 10y agoWhat are the substantial benefits of getting onboard the UWP rain ? Will the platform code work faster.. will the deployment be faster ? what about the knowledge devs have gathered for decades. will the new way of doing things produce a more efficient and better running application ?
- pjmlp 10y agoFor long time Windows developers like myself, the underlying model of WinRT is what the original .NET was supposed to be. It was called Ext-OS and based on an improved COM API, called COM+ Runtime. https://blogs.msdn.microsoft.com/dsyme/2012/07/05/more-c-net-generics-research-project-history-the-msr-white-paper-from-mid-1999/ https://blogs.msdn.microsoft.com/dsyme/2012/07/05/more-c-net... So with C++/CX and .NET Native built on top of WinRT, Microsoft has gone full circle back to the original idea. Personally I enjoy developing UWP (started right away with the old Windows 8 model), because it offers me a modern OO API to Windows, similar to the OS APIs from Xerox PARC and ETHZ OSes. Also, sadly Microsoft torpedoed the whole WP eco-system, but the tooling is so much pleasant to use than Android's. I also welcome the container model to put some control into the mess that is installing Windows applications.
- wornohaulus 10y agoAny github Project or existing application developers.. who have successfully ported their libraries to UWP.. that you can point me to ? That would be damn awesome.. :)
- pjmlp 10y agoNot sure what exactly what you would like to know. There are lots of projects using C++/CX on Github. https://github.com/search?utf8=%E2%9C%93&q=C%2B%2B%2FCX https://github.com/search?utf8=%E2%9C%93&q=C%2B%2B%2FCX Edge HTML is UWP based. Gears of War: Ultimate Edition, Rise of the Tomb Raider, Quantum Break, and Forza Motorsport 6: Apex (Beta) are all UWP games.
- Const-me 10y agoI recently did. https://github.com/Const-me/EsentSerialize https://github.com/Const-me/EsentSerialize
- voltagex_ 10y agoDo you use XAML? What do you think of it? I've never really been able to get my head around it - although my professional projects are mostly ASP.NET MVC and WebAPI so I've had no real pressing need to learn it. Am I the only one who still likes Windows Forms?
- Const-me 10y agoWhen I don’t care about the UI design, just need some GUI that works — yes, I still like Windows Forms. When I have professionally-made UI design on input, and need to make GPU-rendered GUI — XAML is the best technology with the competitors far behind.
- pjmlp 10y agoIt has the developer sanity that web development lacks with its Frankenstein mixture of HTML, CSS, JavaScript to make <div/> behave like native widgets. Have you ever tried to use any web design tool capable of matching Blend for UI design? XAML is what web could have become if XHTML and its sublanguages had been adopted properly.
- userbinator 10y agoI'm a "long time Windows developer" and personally my opinion seems like the exact opposite: I enjoy pure native Win32. All that new stuff never interested me much, and felt like too much added complexity and learning curve for little gain. MFC looked more like a bloated make-work scheme, I was very much not impressed when I tried playing around with .NET for the first time, and I can still discern clearly which apps I need to use daily are native and which are using .NET, simply by how long trivial operations take and how much memory they consume. It's better than Java, although that's not saying much...
- daemin 10y agoI've found that WTL is a good level of abstraction for pure Win32 API. It's not free (in terms of size and speed costs) and does contain some kludges but you get an object oriented system to control the Win32 API.
- thebigshane 10y agopjmlp seems to be an expert in a lot of this stuff but I'll throw in one other perspective: if you need to write a native app on Windows, yes, UWP is the way to go, certainly over MVC, WinForms and WPF. But it is tied to Windows... I doubt the performance improvements are significantly different. It's really about portability (Windows Store) and latest Windows features (start menu, menu bar, Cortana, ink, touch, high dpi) Also, I hear if you do have an exiting WinForms/WPF app, you should be able to upgrade it to UWP.
- tdkl 10y ago+1 app on MS App Store.
- mmastrac 10y ago> Microsoft has still arguably achieved something that its competitors have not. Rumors that Google will somehow merge ChromeOS and Android have been circulating for some time, but it hasn't happened just yet Uhhh.. ChromeOS and Android are both Linux. This is just as merged as running a stripped down Windows kernel.
- sandworm101 10y agoI'd call linux a direct competitor of MS. There may be no single entity who as done as much with linux, but linux as software is certainly more pervasive than windows.
- pjmlp 10y agoLinux is a kernel. I cannot run GNU/Linux applications on Android/Linux nor on ChromeOS/Linux.
- zxcvcxz 10y agoYou can if the applications are packaged properly.
- 0x6c6f6c 10y agoAndroid has a custom Dalvik/ART stack for running apps. Typical Linux distros consist of Xorg/Wayland with GNU packages. They're not related in any regard other than the Linux kernel.
- Dylan16807 10y agoMost of the GNU packages do not have GUIs. They work fine on android. You can easily chroot into a full Debian install, among other options. And there are X server apps to provide you the full experience.
- DrPizza 10y agoSure, if you install a GNU stack (glibc, for example, being an important part) you can run typical Linux software on Android. It's not the default, however. While the Linux kernel has proliferated, the userlands are more varied; Android/Bionic on phones and tablets, uClibc on routers and other embedded roles, GNU/Linux for most servers and desktops--though even in that final category, we see substantial variation such as systemd versus init. Sometimes this is to Linux's advantage; it underscores its flexibility, and the ability to use, for example, busybox uClibc on small systems is definitely an advantage. But other times, like having no standard UI toolkit that works across desktop, tablet, and phone, or having different approaches to managing services/daemons, the advantages are less clear. Canonical was heading hard in this unified direction, but I'm not sure what their current phone/tablet plans are. Their stupidly implausible kickstarter seems to have disrupted these efforts.
- sidawson 10y agoFirst immediate thought: Can you get virus/malware scanners for XBox? Otherwise, it seems an immediate easy target for a new botnet.
- thebigshane 10y agoWindows has had a sufficient built-in virus/malware scanner for a while now. But, I agree, it's now as easy of a target as other Windows 10 machines out there.
- sidawson 10y agoI agree. MS's recent anti-malware offerings are definitely up there. Their efforts in the area have been paying off. The major issue is identical executables being operable across platforms makes for much easier transmissability. Eg, how many people put their XBoxes and Windows machines on the same home network? I'd posit a majority of people who own both platforms, simply for simplicity's sake.
- cwyers 10y agoNo, because desktop and server Windows 10 machines have to be compatible with arbitrary older binaries that were written against the Win32 API. The Xbox One version of Windows 10 can leave out the backwards compatible and more easily targeted parts of Windows, and only support UWP apps, which are sandboxed and thus are less exposed to various types of exploits.
- userbinator 10y agoUpon consideration, I'd consider the existence of viruses/malware for a platform is actually a good thing, as it's a sign of openness. If there isn't, it's most likely because there is a central authority deciding what you can and cannot do on the platform.
- WireWrap 10y agoAnd if someone else controls what you can and cannot do on the platform, the platform really isn't secure from your point of view. This is especially true when that someone not only has that control but also has access to your activities, metadata, data, PII, etc through cloud based applications and features, telemetry, central store registration/purchases, etc.
- sandworm101 10y agoWindows FOR everywhere. No matter that Microsoft says, windows is still a choice. We have all seen shops where windows is just taken for granted, but every senior guy I know has some horror story about MS that makes them dream of a world without. A typical story:http://www.zdnet.com/article/microsoft-no-longer-allows-administrators-to-block-windows-store-access-in-windows-10-pro/ http://www.zdnet.com/article/microsoft-no-longer-allows-admi...
- Maarten88 10y agoOperation successful, patient dead... It's kind of tragic that much of this effort may never pay off: in the process of merging platforms and restructuring API's (that started with Vista and is still going) Microsoft lost the connection to many of its developers, who went to build Web, iOS and Android apps. WPF, Silverlight, WinRT, XAML, UWP: there were too many changes, rewrites and deprecations. Windows Phone, brilliant as it is, did never reach mass adoption and all the effort that went into unifying it with Windows has probably been wasted. I think developers prefer a crappy but stable technologies with a proven market over uncertain and fast-moving technologies. It takes many years for a new platform to mature and settle down. Microsoft really needs to stop introducing "upgrades" that require application rewrites in Windows for the next 3-5 years, and focus on getting the Windows Store going.
- sandworm101 10y ago>>Microsoft really needs to stop introducing "upgrades" that require application rewrites in Windows for the next 3-5 years, and focus on getting the Windows Store going. Those application rewrites are part of the Windows Store push. Want the latest version of X, then you need the latest version of Windows which, if all goes to plan, will only run software from the windows store. MS has always been very good at turning the updating of third party software into new sales for windows.
- userbinator 10y agoAs a long-time Win32 programmer (over a decade), I can safely say that the vast majority of existing applications still remain (for the time being) forward-compatible. Here's some examples: https://www.youtube.com/watch?v=JOj-bAZBhnE https://www.youtube.com/watch?v=JOj-bAZBhnE https://www.youtube.com/watch?v=mRfn4M5DXTE https://www.youtube.com/watch?v=mRfn4M5DXTE https://www.youtube.com/watch?v=wqFWuNmWbHk https://www.youtube.com/watch?v=wqFWuNmWbHk The reasons people hold off on "upgrading" Windows versions is not mainly because of compatibility, but other factors like unwanted UI changes and removed features, and particularly with Windows 10, the increased data-collection intrusiveness and "we own your machine" attitude: http://www.howtogeek.com/243581/windows-10-may-delete-your-programs-without-asking/ http://www.howtogeek.com/243581/windows-10-may-delete-your-p...
- ebbv 10y ago> Microsoft promised developers that Windows would run anywhere. This summer, it finally will. Bullshit. Versions of Windows that are all labeled Windows 10 are running in a lot of devices, and you can write applications that in theory can run on all of them (though practically writing one application that runs well on all of them may be somewhat harder if you want your application to be useful in any way.) But that is NOT the same as "Windwos runs everywhere." in a number of ways. The first and most obvious way is that you can't just take your existing Windows application and put it everywhere, which is what that phrase seems to imply. Nor can you buy one of these devices and immediately have access to all the library of millions of Windows applications that exist. No, if you're a developer you have to write a new universal app and embrace the Windows 10 App Store whether you want to or not. And if you're buying a device, you better check twice that the software you want is available for the platform you're buying lest you find out too late your device has special requirements. Secondly, we've had a version of Windows running on lots of devices for a long time. The only thing that's different now is the branding. They're finally all branded "Windows 10" even though in many cases (like Phone and X-Box One) the user and developer experiences are totally different. Is that helpful? I don't really think so. This article might as well have been written by Microsoft's PR department. Totally not grounded in reality at all.
- blackoil 10y agoYour comment has some merit, if we ignore the fact that now same kernel is running across devices, with same subsystems and same applications, with possibility to write one application that works on all. While it is difficult to write UI to scale across screen size and input types, it is possible to build responsive UIs and people are doing so.
- bigger_cheese 10y ago>"with possibility to write one application that works on all" I'm not sure this is such a good thing. Maybe I'm in the minority but my phone and my desktop OS have vastly different use cases and I'd expect apps running on each of them to be different. I'm not interested in a converging UI. I want a user experience tailored to the platform I'm running the app on. I'd rather a solid desktop experience then having to put up with trade off's the developers decided to make because they wanted a "one size fits all experience". I've seen it in the Linux world where toolkits/desktop environments tried to chase the idea of converging UI's and we ended up with the worst of both worlds - miserable to use apps on a phone/tablet and miserable Desktop Apps.
- Animats 10y agoAll platforms now have enough hardware to run a bloated OS. Even the dinky machines. Thus, we now have Windows and Linux everywhere, endlessly being patched because some feature completely irrelevant to the application has a problem.
- dingo_bat 10y agoI don't like the Universal apps or whatever they're calling them this month. They are limited, slow, crashy and buggy. They regularly just disappear after a sleep and wake. I have been left questioning my sanity wondering if I closed Messenger. Also, they are clunky and slow. For example, switch to a desktop with a universal app open and for the duration of the desktop slide animation, the app window will be completely blank. And then suddenly all the content will flash into sight after the slide ends. The start menu itself is slow and will miss your first few keystrokes if you try to start a search too quickly. The notification bar is sometimes laggy to open, and so are the universal style notifications. Sharing across universal apps sometimes works, other times it just opens the target app and sits there. I dunno if this is an app problem or universal platform problem. I wonder if improving Windows Forms would have been a better strategy. Instead now Forms is seen by many as a dead platform, and UWP is so limited/slow that nobody is developing for it. When soundcloud is smoother/less buggy running on Chrome than as a standalone UWP app, what is even the point of having a software ecosystem, apart from a web browser?
- deleted 10y ago[deleted]
- mafuyu 10y agoAs a side note, I fixed the Start menu searching issue by disabling the slide animation for the menu: http://lifehacker.com/disable-this-animation-to-make-windows-10s-start-menu-o-1734223008 http://lifehacker.com/disable-this-animation-to-make-windows...
- dingo_bat 10y agoThank you! That really improves the situation!
- userbinator 10y agoThat dialog appears to have remained with little change since XP. I always use "adjust for best performance" (which clears all the boxes), then select only "show windows contents while dragging". Everything instantly becomes so much faster.
- bitmapbrother 10y agoI must have missed something because last time I checked it was still on the desktop, a failed phone platform and a game console with an installed base of less than 30 million. Meanwhile Android is everywhere from phones, tablets, desktops, cars, TV's and numerous IoT devices.
- sz4kerto 10y agoThe article is about the state of the technical implementation, not the actual market penetration.
- EdSharkey 10y agoThe article doesn't discuss it, but I thought the Kin was the forerunner to a lot UX of the Windows Phone 7. Was the Kin also a forerunner to the Windows RT platform change, or was it just a re-skinned Windows CE?
- Const-me 10y agoZune HD was released before Kin, and I think that was the first WP7-like touch-oriented UX. Kin and WP7 all run CE. The platform for WP7 was Silverlight 3, designed long before the RT.
- simonh 10y ago> Apple and Google will probably do something similar with their various operating systems, but Microsoft has managed it first. I thought all of Apple's OS variants these days were based on the Darwin kernel and variously intersecting sets of the same unix components and APIs. Every now and then I see someone complaining that a new Apple device contains 'an entirely new OS' like Apple TV OS, but isn't that just a variant of iOS? It seems to me it's precisely because Apple have been determinedly pursuing this common core stragety ever since the first iPhone OS that they've been so successful, compared to Microsoft's strategy at the time of having completely different code bases across product categories.
- andy9775 10y agoI'm only speculating, but I believe that Darwin is much more bare or stripped down compared to universal Windows. I believe that the author was refering to being able to run iOS apps on OSX and vice versa. This IMO is not very smart. Each platform, mobile or desktop, has a different purpose and requires different things. So to make a universal OSX or iOS it means that either you make a significant amount of compromises which don't benefit either platform and each suffers. Or you build everything into the core and it ends up being a complete and buggy mess with a bloated install size.
- TelAviv_1 10y agoWe've been using the Windows 10 for RaspberryPi and love it. Don't think of Win32 as your API--think of .NET and it all makes sense.
- novaRom 10y agoIt's a little ironic that in the summer they have achieved Windows everywhere, that it would coincide with my first summer of Windows nowhere.
- zabador 10y agoI bet it has been a great summer so far too
- xufi 10y agoAll they needed for Windows back then reminds me of https://www.youtube.com/watch?v=Vhh_GeBPOhs https://www.youtube.com/watch?v=Vhh_GeBPOhs I miss that guy
- ryandrake 10y agoI had a little funeral for my last Windows machine when I powered it off last Fall, as I no longer have much time for video games (Windows's last hold-out). Given MS's dominance throughout the 90s and early 2000s, I never thought the day would come. I still have an old Windows VM hanging around on an external drive somewhere, should the day ever come where I need to fire it up, but honestly I can't think of a reason why I'd have to do it these days.
- Analemma_ 10y agoDid you steal that from the Ars comments, or are you the same guy trying to get cleverness points twice?
- smt88 10y agoThere was an excellent segment on This American Life about a man who cured his own severe allergies by giving himself hookworms: http://www.thisamericanlife.org/radio-archives/episode/404/enemy-camp-2010?act=3 http://www.thisamericanlife.org/radio-archives/episode/404/e...
- mwcampbell 10y agoI wonder why the Windows Phone team decided to remove USER and GDI. After all, they ran fine on PCs in the 90s, so surely performance wouldn't be a problem on smartphones.
- DrPizza 10y agoModern graphics hardware isn't optimized for drawing bitmapped lines. It's optimized for drawing textured triangles. This means that it's not actually a good fit for GDI any more. Given that Windows Phone was, as far as apps were concerned, a clean slate, there was little reason to retain USER and GDI. win32k.sys is also rife with security flaws, so scrapping it has arguably reliability benefits too.
- Const-me 10y agoI think you’re right about the performance: on WP7 hardware, mobile ARM CPUs should be able to run native Win32 GUI, and the code was already here. GDI is just too old. GDI was created long before multi-core CPUs gained traction, so it paints everything on the single thread. XAML uses two cores, rendering and animations run on a separate thread called “composition thread”. GDI was designed long before GPUs gained traction, so it paints everything on the CPU. XAML manipulate textures on the GPU: it’s faster because GPUs are massively parallel, it uses less energy because custom hardware is more energy efficient than a general-purpose CPU. Here’s more about that: https://msdn.microsoft.com/en-us/library/windows/desktop/ff729480(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/windows/desktop/ff7... It’s for D2D API, but both WinRT/XAML and WinPhone/SL platforms use GPU in the similar fashion to D2D.