11 ms·
"There will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly and more
by MikusR 8y ago
"There will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly and more."
- oldjokes 8y agoThis is remarkable, and impossible to predict from the Microsoft of 10 or 20 years ago. Satya seems to be the rare visionary CEO of a megacorp, instead of just defaulting to a defensive and reactionary stance like most other leaders.
- acomjean 8y agoI don’t know. I think they’re still the same at the core, they just do enough to try and stay relevant. Office for Linux would be easy, but that’s not going to happen. My companies online outlook shows that MS is adding clones of all the tools (slack/trello). They’ve been successful and monitizing in this new era
- oldjokes 8y agoYeah clearly they are throwing a lot of spaghetti at things, I don't know that that's necessarily bad. At least they are trying to do so openly and in a API-centric way instead of just building the garden walls higher like every other company. I haven't used Office in years and don't know anyone who has, so I'm not sure how big of a priority it is to add platforms to a product like that.
- bunderbunder 8y ago> Office for Linux would be easy, but that’s not going to happen. I have a hard time believing it would be easy. I use both Office for Windows and Mac, and the differences are great enough that I'm guessing that there's a huge amount of divergent code in the UIs. And both would be written against GUI toolkits that are not present on Linux, so a Linux port would be yet another major effort. That said, I think that you're right that it's not going to happen. My understanding is that a major consideration for anyone looking to port a commercial desktop product to Linux is that Linux desktop users are, in the broad, very hesitant to spend $100s on a commercial product when open source alternatives exist. My guess would be that a Linux port of Office just isn't a proposition that is likely to generate positive profits.
- BuckRogers 8y agoOffice Online is the desktop Linux user's access to Office. Enough people use Macs that it makes sense to invest into the effort, else some other vendor will gobble up Office's marketshare. I use Office Online and LibreOffice all the time on Windows 10, some documents it's just better to have guaranteed formatting compatibility with the majority of documents which are put out through MS Office. I would personally just continue the same pattern if I were a desktop Linux user.
- balls187 8y agoHave you looked at Office365?
- Scuds 8y ago> Office for Linux would be easy, but that’s not going to happen. They're rewriting Office in React Native so Windows, OSX, and mobile ports will have a lot more in common. But "Desktop Linux" will always be a million support headaches for no market share; which begs the question "Dear Lord, why?"
- cm2187 8y agoAnd the only way to build market share is through cannibalization of windows licenses. Not in microsoft's interest. If you hae a proper office for windows, I bet many companies would consider seriously switching to Linux.
- scarface74 8y agoOffice has been available for Mac for well over two decades. There are so many more reasons for companies preferring Windows on the desktop than just Office.
- cm2187 8y agoI think there were so may more reasons. But what I see is all internal apps moving to be web based. 5 more years and Office is really going to be the last thing tying up corporates to Windows.
- AnIdiotOnTheNet 8y agoCall me when Linux has anything that works as well as AD.
- scarface74 8y agoYou just need a server running AD. Third party and browser SSO with AD is a solved problem.
- yellowapple 8y agoIt does; it's called AD. :) The actual problem is the lack of Group Policy support (or even a viable equivalent - preferably one that's cross-platform).
- luckydata 8y agoOffice on Linux already exist, it's called Office 365. Porting Office desktop for an operating system that's COMPLETELY IRRELEVANT for office users makes no sense.
- nicoburns 8y ago> an operating system that's COMPLETELY IRRELEVANT for office users Arguably a large part of the reason that Linux isn't used in offices is because MS Office isn't available. Of course it's in Microsoft's interest to keep it that way.
- BuckRogers 8y agoI love Linux Mint and Antergos as much as the next guy but Microsoft built an entire platform/ecosystem around tight integration between a full range of enterprise products. I can't say I blame them, decades of significant effort is required to do that and it's not easy or there would be someone else who has done it. Not only is the incentive not there as you mentioned, but it's definitely not malevolence to avoid trying to support random desktop Linux distros which will likely not cooperate with their integration efforts (and likely take joy in being able to reject or impede MS's efforts), to the degree they can with Windows 10. They have the right idea today, embrace server-side Linux with .Net Core, and soon, .Net 5. That's what Linux is primarily intended for, it's a server kernel and where the action is in regards to that ecosystem. There's a reason some of the code in X11 hasn't been touched in 20 years.
- luckydata 8y agoC'mon, that's complete bullshit. Linux is very hostile to the everyday user, you can't expect a large majority of users to have to fiddle as much as it's necessary to get a barely passable desktop experience on Linux. You buy a Windows or Mac computer and you're going in 10 minutes. There's no combination of distro or hardware where that's true for Linux.
- tracker1 8y agoI pretty much disagree here. Before she passed last year, I had my grandmother on linux for about 11 years. I had wine setup for the handful of old games (95 era) she liked, and made sure to update everything once or twice a year. Of course one time I waited too long. Archived her home dir, and installed the latest Ubuntu, restored her home dir, and she was up and running again. She didn't have to know anything about linux to use it. The same is true for a lot of people. More so in a corporate environment with dedicated staff to handle the harder problems. Hell, most people in offices could get away with a Chromebook and Office 365 today. Of course, general use laptops and proper linux support are not things that are very common. That part truly sucks. And, yeah, it's not pre-installed for the most part except for some boutique vendors and a couple Dell offerings. Aside: Have had a few looks at System 76 lately. May change out my mid-2014 rmbp next year. Unfortunately it's one of the last systems with NVidia, and the metal 2 support for the 750M doesn't work well at all. I'm also probably going to change my desktop to Linux in a few months. Hackintosh support is all but going away, and although I could change out my GTX 1080 with a next gen Navi for hackintosh, but I just don't want to support the mac platform anymore, and my 1080 has a lot of life left in it.
- sabarn01 8y agoIt only took about 5 years to get one rendering engine for both Mac and windows, but sure it would be easy.
- manigandham 8y agoThe efforts have been spent on cloud services. Office 365 online is rather good, OneDrive finally works, and other things like Teams and DevOps are being well integrated. For 95% of business users, these online editions have all the capabilities they need without the install headache and are much easier to maintain and update. Office Desktop just had a refresh too but there's basically 0% Linux business users to spend the millions in development costs for a variant.
- bunderbunder 8y agoMy guess is that it's also at least partially reflective of how .NET's status at Microsoft has changed over the past two decades. Remember 20 years ago, when .NET wasn't just a managed software development platform? It was a company-wide strategy[1] that was meant to encompass more-or-less their entire product line. The whole Microsoft future was .NET, and they were going to have a .NET edition of Windows, SQL Server, Exchange, etc. Since then, those plans have been dropped, Microsoft's (.NET-based) preferred GUI toolkits, WinForms and WPF, were replaced by one that is .NET-compatible but not .NET-native, etc. etc. .NET just isn't as central to Microsoft's identity as it was 20 years ago. Which, I'm guessing, means that the .NET team is now a lot freer to go cross-platform without inviting the wrath of the Windows team. [1]: https://en.wikipedia.org/wiki/Microsoft_.NET_strategy https://en.wikipedia.org/wiki/Microsoft_.NET_strategy
- anotherblue 8y ago> wrath of the Windows team. There is not much of Windows team to wield the wrath: https://arstechnica.com/gadgets/2018/03/windows-leader-terry-myerson-out-as-microsoft-reorganizes-windows-division/ https://arstechnica.com/gadgets/2018/03/windows-leader-terry...
- pjmlp 8y agoThey are still around. https://kennykerr.ca/2019/01/25/the-state-of-cpp-on-windows/ https://kennykerr.ca/2019/01/25/the-state-of-cpp-on-windows/ Read towards the end.
- goto11 8y agoI think the initial ".net strategy" was just a (failed) marketing exercise. It was supposedly some kind of grand vision where the .net framework were just one component and SOAP was another. They certainly did not plan to base Windows or SQL Server on the .net framework.
- BuckRogers 8y agoYou're correct. I'm certain that you're fully aware of Midori, but as you alluded to, a Microsoft Research initiative, but never was on the official roadmap. .Net itself has been a great success. I was completely sold on .Net Core and .Net 5 is exactly where they needed to take it.
- burnte 8y agoHe understand that Microsoft is a software company, and makes money selling software and software services. Steve Ballmer, for all his good attributes, was stuck seeing Microsoft as a Windows company, thinking everything had to relate back to Windows. Nadella understand that companies change or die. Ballmer just thought that meant finding new places to shove Windows.
- stefs 8y agoan ironic twist is that microsoft always made very good hardware (typing this on a natural keyboard 4000 & also the xbox controller).
- asdfman123 8y agoOlder execs probably had to be defensive and reactionary because they had to protect their main source of income, Windows. But it's clear now that 1) Windows has zero chance of taking a significant market share away from Linux in the cloud and 2) cloud technology is an important area of growth for MS. Satya probably sees that stubbornly sticking to Windows just isn't going to work anymore, so it's better to play nice with the others.
- basetop 8y agoWhat? Satya didn't invent .Net. The idea of .Net, like the JRE, was to write once and run everywhere. What's visionary about it? It's sad how so many articles and comments come off just pure PR now. Not saying your comment is, but I have to wonder how much of the "news", comments and internet content is now just PR.
- dtech 8y agoFor a very long time .Net was Windows only. That only changed after Balmer was gone and Satya came in.
- ygra 8y agoSome cross-platform considerations have been built into it from the start, though. And there has been an official open-source implementation on a non-Windows platform. Perhaps more to show that it's possible than as an actual usable artifact, but it was there.
- kevingadd 8y agoI think describing Mono as Official is a bit of a reach. AFAIK they benefited from the patent promise but that was about it until the acquisition. If you mean .NET Core as official open source, that's true, but it's a relatively recent thing.
- ygra 8y agoThere was Rotor on FreeBSD. Probably more a proof of concept, but it was there.
- tracker1 8y agoMono existed from very early on with .Net and the core was pretty compatible. I think when MS bought Xamarin, it finally got the attention it deserved, and really did go to help .Net Core take form.
- deleted 8y ago
- scarface74 8y agoNot taking anything away from Satya, but all of the big tech CEOs seem to be able to successfully pivot: - Netflix - moved from delivering discs to streaming and moved their entire infrastructure to AWS and CDNs - Amazon - went from just being a first party retailer to being a marketplace, AWS, and Alexa. - Apple - as of last quarter all five of their major verticals are large enough to be a F200 company by itself. - Facebook -- Instagram and WhatsApp were acquisitions but it didn't ruin either and they are both larger than they would have been. - Google -- well still just a one trick pony - search ads (as far as profits) no matter how many things they against a wall.
- chubot 8y agoI'm pretty skeptical of all the Microsoft praise lately, but if this is indeed true, it's a big deal. And probably a management feat somewhere (CEO or otherwise). I worked on dev tools at Google and recall many efforts over the years to try to unify the customer experience -- between internal and external tools, Go and Dart, Android and Chrome devtools, etc. Things always lurched in one direction or another, but never consistently. It was always above someone's pay grade to choose one or the other, so you ended up with both. Convincing engineers on devtools to abandon their babies is indeed hard! On the other hand, I think if you dig deep, Microsoft still has all the legacy, but they cover it up with a lot of branding. Hence the top comment in this thread about confusing branding.
- cwyers 8y agoYeah, they have managed to solve the confusion over the various flavors of .NET in the best way possible, it would seem like.
- cm2187 8y agoI don't know about that. I thought I kind of understood the mess of the .net framework until now but now I am really lost. Like asp.net core was meant to be incompatible with .net full framework because of inconsistent featureset, is that going away? For applications, .Net core binaries are different from .net full binaries, they compile to a .dll, not an executable .exe, you have to run them with a command line (and if you choose the option to create an exe it comes with lots of additional binaries that aren't required in full .net framework, plus I understand some additional problems of version compatibility with the installed .net framework). So is .net 5 going to be one or the other? Or is .net 5 just another way of saying that they are discontinuing the full .net framework and that now everything will have to be .net core? But then is a simple full .net framework 4.7.1 .exe run on .net 5?
- scarface74 8y agoLike asp.net core was meant to be incompatible with .net full framework because of inconsistent featureset, is that going away? Just to add to the confusion, you can target an ASP.Net Core Application to run using .Net Framework.
- cm2187 8y agoWell I believe you can now, but I thought I saw a recent announcement that said it wouldn't be possible with the next version. When re-reading the article, I think what they are implying is that they are ceasing support for .net full framework and just renaming .net core ".net". If it is the case it is kind of a big deal, there is ton of .net full code outthere, that no one has any appetite to convert. If it is not the case, are they going to rename .net full to something else? This article does the opposite of solving any confusion. [edit] there is a session in a couple of hours at Build, perhaps it will add clarity: https://mybuild.techcommunity.microsoft.com/sessions/77031#top-anchor https://mybuild.techcommunity.microsoft.com/sessions/77031#t...
- numlock86 8y agoWPF will still be Windows exclusive, though. Like many other things. What they really mean is BCL+Runtime+Compiler, and not .NET (read as: the whole ecosystem).
- ZanyProgrammer 8y agoWhich is too bad, because there’s still no easy, drag and drop way to create desktop apps on other platforms that just work.
- numlock86 8y agoThe drag and drop designer part of VS is not even what I think is cool about WPF. To me it's the architecture and the whole API. It's easy to make clean enterprise size applications with good separation of concerns (I've been a developer in the C#/WPF field for around 5 years). For other platforms - and Windows as well - the closest I know is Qt, including the drag and drop part btw. ;)
- pknopf 8y ago> the closest I know is Qt Which you can use .NET Core with! https://github.com/qmlnet/qmlnet https://github.com/qmlnet/qmlnet
- babypuncher 8y agoThis always surprises me whenever I look into cross-platform GUI toolkits. The closest is Qt as you mentioned. What really gets me is GTK's continued popularity on Linux when Qt is so much easier to develop with.
- numlock86 8y agoProbably a side effect from the popularity of Ubuntu which - since they dropped Unity - go still strong with GTK as they use Gnome now out of the box. And Ubuntu is like the de facto standard desktop distribution.
- 8y ago
- arendtio 8y agoIs there a tutorial somewhere out there on how I can build a minimal app that works on all those platforms? I tried about 5 searches but didn't find anything useful so far.
- maslam 8y agoPluralSight has a .NET course that covers this. Sorry I don't have the link handy it's something about Mac and Linux dev on .NET
- echopom 8y ago> how I can build a minimal app that works on all those platforms That's perfectly normal. There is no such thing as "Cross Platform .NET" The C# language and the.NET Framework does indeed run on almost all platforms, but that pretty much ends here in terms of "portability". Anything beyond that is "platform specific" For instance, building "desktop" applications is either UWP with advanced styling and reactive data binding but only for Windows or GTK# with Mono which is very limited. For Mobile either Xamarins.Forms for Android + iOS but it's very limited in terms of features, or it's Xamarin.iOS + Xamarin.Android which require platform specific code for UI / Routing and many others OS specific functions. For Web , the WASM Binary is something like 5MB+ which makes it not reasonable compared to an app written in Plain JavaScript or TypeScript. There is still a long way to go for C# to be really "cross platform"
- GordonS 8y ago> The C# language and the.NET Framework does indeed run on almost all platforms, but that pretty much ends here in terms of "portability". IMO, that's not entirely accurate, and does .NET a bit of a dis-service. .NET Framework isn't cross-platform, and doesn't pretend to be - it's Windows only. .NET Core is cross-platform, with runtimes for Windows, Linux and MacOS. Regarding Xamarin, I guess you haven't used it for a while? Until very recently, I had the same opinion, but only because it was years since I had used it - turns out it's rather good now! Where cross-platform ends is really with desktop GUIs - web apps, web APIs, console apps, backend processing services/daemons etc, all of these work very well across the supported platforms, and the only time you'll likely write platform-specific code is the rare cases when you need to pinvoke into native DLLs. Aside from the likes of Electron, I'm not sure there really is a good cross-platform solution for desktop GUIs. Microsoft would be hailed as heros if they ever crack that one :)
- merb 8y agoyou forgot java. "Java interoperability will be available on all platforms"
- whatever_dude 8y agoYeah, I'm seriously still dumbfounded by this. I mean, it's such a positive, future-aware decision, it's confounding. Impossible to say how relevant .NET it will be in, say, 4 years time, but development will certainly be much better than today when you have several disparate runtimes to target depending on the platform.