24 ms·
Announcing Open Source of WPF, Windows Forms, and WinUI
- ocdtrekkie 8y agoVery excited to see WinForms and WPF especially hit open source. WinForms is still IMHO the hands-down most convenient way to quickly assemble a GUI for an app, and while Microsoft hasn't given it much love over the years, it's huge userbase will hopefully take advantage of the ability to iterate on it via GitHub.
- jack_pp 8y agoI'm not entirely sure we're referring to the same WinForms but I distinctly remember loving C# in 2009 or so, just when WPF was coming out. But I refused to use WPF for my apps because back then you'd have to force the user to install the latest .net which I thought was too much of a bother. So I tried using the old GUI framework and boy was it a nightmare to customize anything. I remember having to override the default Button class and add like 50 lines of code just so I could get a custom background. This and the fact that C# back then couldn't do high scalability servers were what forced me to learn C++ and in my opinion QT is a much easier library to use than the old WinForms was.
- ocdtrekkie 8y agoWinForms' key is the quick drag and drop and edit properties type designer. It's not really intended for you to restyle it entirely (though you can). In that it was 'the style' of apps of the day, you could simply put whatever elements you needed on a form, and then double click on them to put some code behind them. Since WinForms' existing styling was the style of applications of the day, there was little reason to heavily restyle it. Honestly, if someone ran with the new open source WinForms and introduced a Windows 10 style that I could build with the same incredibly easy editor as the existing WinForms, I'd be set.
- blattimwind 8y ago> I remember having to override the default Button class and add like 50 lines of code just so I could get a custom background. That's mostly because you're not supposed to be doing that sort of thing in the first place. Customizing widgets = inconsistent look and feel. Custom widgets = Inconsistent LAF, inconsistent interaction, no accessibility etc. The idea of Win32 UI, WinForms etc. is that you have a look and feel dictated by the system, not by individual app developers, with the ultimate goal being not just a consistent look and feel of the whole system (including applications) but consistently applied patterns of interaction. This in turn makes computers easier to use. Of course, modern UI frameworks, whether in the browser (JS) or outside the browser (QML, UWP, JS, ...) run completely counter to that.
- jack_pp 8y agoThat's all well and good but in certain niches you need custom graphics. A good example is gaming, have you seen how beautiful the blizzard client is? Steam is nice too. Users of these apps don't care about a unified experience with the rest of the win32 ecosystem, in some ways these apps are a different ecosystem unto themselves. I was trying to write a poker client so same thing, using normal buttons just wouldn't have made any sense. It would've been ugly as hell. Modern UIs stray from a standard because standards are boring and if your app is boring then your not so boring competitor will snatch your users.
- jen20 8y agoYour “boring” is a blind persons “basically usable”. Standards exist for a reason. I actively judge apps with non-platform-standard UIs as worse than an equivalent with a standard UI.
- CuriouslyC 8y agoWhile I appreciate inclusivity, software isn't just utilitarian, it's also aesthetic. when it comes to aesthetics, slavish adherence to the lowest common denominator is a cancer... By analogy, would you like it if all books were written for a fourth grade reading level because some people can't handle more complexity? Or if the plots of all movies and television shows were simple enough for an idiot to follow?
- mrsteveman1 8y ago> But I refused to use WPF for my apps because back then you'd have to force the user to install the latest .net which I thought was too much of a bother. That always puzzled me, even though I've seen some of Microsoft's reasoning and blog posts about it. Microsoft has repeatedly stressed that you can't assume any particular version of Windows comes with a specific version of .NET preinstalled (or VC++ runtime, for that matter). Windows already bundles various things, and the major .NET frameworks seem like the thing to bundle and preinstall, and they actually do[0], just not consistently or universally. And, Windows Update can already update the .NET frameworks, in fact I recall that some new major .NET versions were treated as "recommended" installs by WU in the past and were automatically installed on systems that didn't already have them, but they aren't doing that consistently and universally either. [0] https://blogs.msdn.microsoft.com/astebner/2007/03/14/mailbag-what-version-of-the-net-framework-is-included-in-what-version-of-the-os/ https://blogs.msdn.microsoft.com/astebner/2007/03/14/mailbag...
- pandalicious 8y agoI think that’s one of the reasons that WPF never saw much use in terms of widely distributed desktop apps. You couldn’t assume the presence of a particular version of the framework on any given Windows install and (until now) you couldn’t bundle the framework with the app like you could with the JDK.
- ocdtrekkie 8y agoA lot of Windows applications built with .NET do a dependency check and launch the .NET Framework installer (often included in the installation package) if you are missing the minimum required version. Of course, that is a system-level change, which can potentially break other applications on your machine (if they're written badly and/or poorly supported). .NET Core removes that by supporting side-by-side versions and versions packaged with the app, but it certainly wasn't critical to assume a given machine already had a .NET Framework version in question. Honestly, with Windows 10 now including .NET Framework updates along with feature upgrades every six months, and the fact that pre-Windows 10 versions of Windows haven't that many more years to live, it feels like that advantage isn't as big as it used to be anyways. My concern is .NET Core may lead to a lot of unnecessary software bloat. Where Windows has the current .NET Framework, but we still have to have six versions of .NET Core installed, and then half the programs on the computer don't use those and have their own bundled versions as well. I find .NET Framework already being on-system to be a big perk of writing my app with it: My software is a 7 MB file because most of the code is already built into Windows.
- deleted 8y ago[deleted]
- muterad_murilax 8y agoHopefully we'll now see fixes for some of the more well-known bugs in WinForms that Microsoft have ignorerad for a decade or so...
- badsectoracula 8y ago> WinForms is still IMHO the hands-down most convenient way to quickly assemble a GUI for an app I think Lazarus[0] is easier, especially when it comes to automatic layout stuff, but WinForms is very close. They're somewhat related as both are descendants of the classic Visual Basic RAD approach and Lazarus is basically an open source and cross platform clone of Delphi while WinForms implements a very VCL-like (VCL is Delphi's framework) API - which is natural since both Delphi and WinForms were designed by the same person :-P. [0] http://www.lazarus-ide.org/ http://www.lazarus-ide.org/
- int_19h 8y agoHow does Lazarus handle layout?
- badsectoracula 8y agoThere are several ways. The simplest is setting the "Align" property of a control which is similar to the "Dock" property of WinForms in that it makes the control stick to the left/right/top/bottom edge (multiple controls stack) or fill the "client" area. It also has an "Anchor" property that again works similar to WinForms' property of the same name, allowing anchoring an edge to the location you place the control. Beyond the above (which i think are all what WinForms provide, at least from the visual designer) the anchors can also be set so that instead of just "sticking" to a designed edge, they are set relative to some other control in the parent container with customizable gaps. For example you can configure (using a dedicated anchor editor window) that the left edge of an input box is 5 pixels away from the right side of the label control and the label control's top edge is aligned so that the label's center matches the edit box's center. Note that any control can be anchored to any other control, so if you have a form with 10 input fields you can anchor their left side to the same control (e.g. the longest label or a "guide" control) so that they align neatly. The align property is enough for most cases and the anchor system covers almost the rest of the layout cases. Where those do not suffice, there are a few more dedicated options like the TFlowPanel container that flows controls in various formations as well as the ChildSizing property that allows for specifying some automatic layouts. TBH personaly i never had to use those though. Note that most of them can also be combined. Finally each control also has constraints (min/max size) and spacing (margins) for each edge as well as an overall spacing. Somewhat related, but you can also make pretty much any control dockable by setting its DragKind property to dock and DockMode property to automatic. Docking happens in "dock sites" which are basically any container (like a panel) that has its DockSite property set to true (and preferably, although not required, its AutoSize also to true) and since containers are regular controls they themselves can be laid out using any of the above options or be anchor targets for sibling controls. The framework handles the whole drag/drop, docksite resizing, creating popup windows for tearoff docks, etc. In fact the whole docking system is modular itself and there are a couple of different docking managers that provide quite advanced options. Note that all i've mentioned so far are done with the visual designer, there is obviously more fine grained control by writing code.
- epoch_100 8y agoWhile unlikely, I hope one day that the entire Windows operating system will be made open source — I'm not sure how Microsoft would make the revenue work out, but I bet it could be done. And the world would be better for it.
- kevinSuttle 8y agoCan you imagine how much work and exploit patching could have been avoided in the last 30 years?
- ethbro 8y agoCan you imagine how much effort and legacy code retention has gone into Microsoft maintaining backwards compatibility in their OSes?
- kevinSuttle 8y agoExactly my point. If it were open source, that work would have been fractioned.
- ethbro 8y agoI think OpenSSL is indicative of the enthusiasm most unpaid contributors have for working with legacy code.
- kypro 8y agoSurely there is some incentive to do this for home licences? Then they could charge for a subscription to the "pro" features and take a cut from apps on the Windows store.
- bunderbunder 8y agoI could imagine some sort of scheme where home versions are free to download, but the right to redistribute is not included in that license. So OEMs still have to pay for an OEM version, and the server version still costs money. But that would only work if it's legally possible to open source even that much of it in the first place, which may not be the case.
- hprotagonist 8y agoI expect that WPF and WinForms are still windows-only, correct?
- merriemcgaw 8y agoThat is correct, they will still be Windows-only technologies.
- bialpio 8y agoWPF apps are supposed to work on .NET Core and .NET Core is multiplatform so I'd say it's not windows-only - am I missing something here?
- miguelrochefort 8y agoThey use Windows-specific APIs for input and rendering and what not.
- amatwl 8y agoThis is where .NET Core gets confusing. They're just able to run on the .NET Core runtime (versus the "full" .NET Framework). WPF uses DirectX heavily, so it's not like Microsoft just ported DirectX to non-Windows platforms.
- stetrain 8y ago"The highlight of .NET Core 3 is support for Windows desktop applications, specifically Windows Forms, Windows Presentation Framework (WPF), and UWP XAML. You will be able to run new and existing Windows desktop applications on .NET Core and enjoy all the benefits that .NET Core has to offer." WPF, Windows Forms, and UWP are listed under the Windows-Only Desktop Packs section in the diagram. https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/ https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-...
- bialpio 8y ago
- deleted 8y ago[deleted]
- maxxxxx 8y agoIt seems they want to get out of WPF and others. UWP probably won't get open sourced.
- contextfree 8y agoWinUI is the standard controls library for UWP
- miguelrochefort 8y agoI'm not sure what WinUI is. It only seems to contain extra UWP controls. None of the primitive ones.
- sleepinseattle 8y agoAll new controls get added to WinUI. I believe the older controls will get moved to WinUI over time. I work at Microsoft and use WinUI but don't directly work on it other than reporting bugs :)
- miguelrochefort 8y agoI'm afraid UWP isn't open source. In the meantime, Uno is the closest thing we have: https://github.com/nventive/Uno https://github.com/nventive/Uno
- vitorgrs 8y agoThey can't open-source UWP because it's basically a Windows thing. It's based on WinRT, which is based on COM.
- miguelrochefort 8y agoThey could still open source it. It would be mich easier to port it if the source code was available.
- maxxxxx 8y agoYou can open source Windows only code. Why not? WPF won't be cross platform either when open sourced.
- piotrkubisa 8y agoThis year does not end surprising me. I have quite positive experience with development in WPF, but I noticed except the SourceTree I can't find any application which looks nice. Do you know any neat-looking application which uses WPF?
- mike123456 8y agoVisual Studio is written in WPF.
- deleted 8y ago[deleted]
- kojoru 8y agoSee also Scott Hanselman's (emotional!) post on this: https://www.hanselman.com/blog/AnnouncingWPFWinFormsAndWinUIAreGoingOpenSource.aspx https://www.hanselman.com/blog/AnnouncingWPFWinFormsAndWinUI...
- contras1970 8y ago> That means your (or my!) WPF/WinForms/WinUI apps can all use the same controls if you like, using XAML Islands. I could take the now 10 year old BabySmash WPF app and add support for pens, improved touch, or whatever makes me happy! that's not interesting. the interesting question is: will there be a SQL Server Management Studio for GNU/Linux?
- kev946 8y agoDoes this mean that WPF apps can be build on Linux and run on Windows?
- nwsm 8y agoNo. It means anyone can now try to port it.
- moomin 8y agoThis strikes me as ten years too late.
- protomyth 8y agoin Microsoft/microsoft-ui-xaml - Data/Telemetry This project collects usage data and sends it to Microsoft to help improve our products and services. Read Microsoft's privacy statement to learn more. For more information on telemetry implementation see the developer guide. https://privacy.microsoft.com/en-US/privacystatement https://privacy.microsoft.com/en-US/privacystatement https://github.com/Microsoft/microsoft-ui-xaml/blob/master/docs/developer_guide.md#Telemetry https://github.com/Microsoft/microsoft-ui-xaml/blob/master/d... Looks really easy to disable, but probably something some folks need to be aware of. Love the license and effort Microsoft put into this.
- kgwxd 8y agoIt would be nice if we could all agree on a global environment variable to opt-out of all telemetry so we wouldn't have to keep track of the thousands of places to turn it off.
- ahoka 8y agoHow about opt-in? Privacy should be the default.
- naikrovek 8y agoWould someone please explain to me how usage telemetry is a privacy invasion? I can't draw a line between those two things.
- kgwxd 8y agoI've yet to see anyone try to explain how it's not an invasion of privacy without actually making an argument for how it is an invasion of privacy.
- danmg 8y agoHow is telemetry not a privacy violation? It's sending back arbitrary data to someone else without explicit authorization. This data can contain anything including information about the running environment, the contents of files on the computer, other running programs. It doesn't matter that it's Microsoft instead of an Estonian teenager doing it. You own your computer. You explicitly decide what data comes from it. NO EXCEPTIONS.
- jefe_ 8y agoHope Apple is listening, it would nice if I could develop iOS apps without owning, leasing, or remotely connecting to a Mac.
- garmaine 8y agoYou can, with a bit of leg work. There are ways of building iOS apps on Linux.
- Cort3z 8y agoHow?
- k4ch0w 8y agoHackintoshs, its a lot of work and really buggy.
- RussianCow 8y agoHackintosh, aside from the obvious issues with it, is not a way of "building iOS apps on Linux".
- garmaine 8y agoNo, you can compile directly in Linux. You need to build the tool chain yourself, extract the SDK from official sources, and use third party build tools.
- skykooler 8y agoHackintoshes can no longer publish apps, as XCode checks that your motherboard has a valid Apple ID during the build process.
- 0xQSL 8y agoReally? I've published an app from a hackintosh-vm running on kvm some time in the past 2 months.
- boramalper 8y agoWouldn't it be better to license them under Apache instead of MIT considering that --presumably-- Microsoft might have some patented stuff in there?
- ajross 8y agoApache has a clear patent grant, but it's also transitive. Folks redistributing a modified library have to grant their own patents. Some customer might care about the distinction. Also MS's lawyers may not be 100% clear about whether these libraries already include patented technology from other patent holders that MS may have licensed years ago. MIT punts on the whole issue, so may seem "safer" to a lawyer when used with a giant existing code base. Apache is clearly the right choice for new development (for those who don't like GPLv3, anyway -- let's not get into that argument).
- hiccuphippo 8y agoThe crossplatform issue already opened, discussed and closed: https://github.com/dotnet/wpf/issues/48 https://github.com/dotnet/wpf/issues/48
- poizan42 8y agoA more realistic approach for a cross-platform WPF might be to start with Mono's Moonlight (as Silverlight and WPF have a lot in common) - this could now be speed up by using parts of WPF. However in 10 years no one has cared enough to start a project to do this, so I'm not too optimistic.
- sorenjan 8y agoCouldn't this be a good competitor for Electron or React native? Write code in whatever language you want that compiles to .Net, make the UI in XAML, don't run the application on Chrome and Node. Sounds like a good candidate for cross platform development.
- int_19h 8y agohttps://github.com/AvaloniaUI/Avalonia https://github.com/AvaloniaUI/Avalonia
- miguelrochefort 8y agohttps://github.com/nventive/Uno https://github.com/nventive/Uno
- gigatexal 8y agoWow. What’s next? Windows itself? What if the next iteration of Windows was based on Intel’s Clear Linux?
- orionblastar 8y agoThere were rumors of a Winux project at Microsoft that put the Windows GUI on top of Xenix. I don't think it was true. But the idea of moving the OS to a Unix OS goes back to MacOSX. Microsoft could do worse than putting Windows on top of Linux.
- pknopf 8y ago> Microsoft could do worse than putting Windows on top of Linux. Start a new OS, along side Windows, based on Linux/Unix. Make it as stable as Windows for the every-day user, because let's be realistic, even Ubuntu can't manage it. Ship all new laptops/PCs with this new OS. Continue supporting Windows/Server for the enterprise. That would be so awesome.
- solomatov 8y agoOr better create a new OS with modern technologies, great new ideas and open source it. Linux is nice, but we need some architectural innovation here.
- gigatexal 8y agoThere was a research project years ago that wrote an OS in C#. It wanted to be super stable, modern and no cruft. I forget the codename but was hoping it would see light of day.
- TheWiseOne 8y agoI believe it was the MS Research project Singularity which grew into Midori.
- mr_overalls 8y agoI hated to see this advice to contributors: "We will typically not accept contributions that implement support for an OS-specific technolology on another operating system. . . We also do not intend to accept contributions that provide cross-platform implementations for Windows Forms or WPF." https://github.com/dotnet/wpf/blob/master/Documentation/contributing.md https://github.com/dotnet/wpf/blob/master/Documentation/cont... Microsoft seems to be actually refusing to accept contributions that could make WPF cross-platform - it's a bit beyond "no official plans for cross platform".
- drewg123 8y agoIts not that much different than the Linux kernel in that respect. Eg, you cannot submit a driver w/ifdefs and compat shims for other OSes.
- bunderbunder 8y agoTheoretically you can still get WPF running on another OS, but you'd have to do it the same way that WSL gets an Ubuntu userland running on Linux: You introduce a compatibility layer that it runs on top of. I think I'd prefer that approach, anyway - I'd guess it's cleaner and ultimately more maintainable than introducing a whole bunch of conditional logic for handling all the cross-platform issues into an already complicated piece of software.
- int_19h 8y agoWPF already has such a layer, actually - Media Integration Layer, MIL.
- mr_overalls 8y agoBut this isn't a kernel - it's a framework with explicit goals of being cross-platform.
- floatboth 8y agoNo, it never had a goal of being portable to non-Microsoft platforms, and it doesn't suddenly add that as a goal just because it's open source now.
- 21 8y agoWPF is dead. Microsoft is rewriting some of it's apps which used to be native in Electron - OneDrive, Visual Studio Installer,...
- empyrical 8y agoThis is a pretty minor thing, but with the open sourcing of WinUI, I wonder if there's enough open-sourced that people could try and figure out how to support Dark Mode themes in non-UWP applications?
- c-smile 8y agoYou mean something like this: https://sciter.com/sciter-4-2-support-of-acrylic-theming/ https://sciter.com/sciter-4-2-support-of-acrylic-theming/ ? (Note, that is not a UWP application) As of automatic detection check my question on SO: https://stackoverflow.com/questions/51334674/how-to-detect-windows-10-light-dark-mode-in-win32-application https://stackoverflow.com/questions/51334674/how-to-detect-w...
- captainmuon 8y agoThe developers of EarTrumpet figured it out, see https://github.com/File-New-Project/EarTrumpet https://github.com/File-New-Project/EarTrumpet . Their solution is based on WPF and quite complex, however there are APIs to get the current mode, and all the modern UI colors. I myself implemented the modern black menu style for a tray icon, so that the menu looks like the native tray icons. It's "just" a matter of owner drawing everything. Unfortunately, there is no secret "make my app dark" api in WinForms / WPF.
- quickthrower2 8y agoSo does this mean WPF is alive? Is it sane to develop something new in WPF again?
- DaiPlusPlus 8y agoDepends if you subscribe to the idea that open-sourcing something is equivalent to putting it out to pasture. MS’ problem is that Visual Studio is the only “real” software they produce that uses WPF - which also happens to be a flagship product. They need WPF to stay up-to-date but they can’t afford to invest their own FTE resources into it either when other products are more important as far as the C-levels are concerned. I’m curious what this means for UWP XAML - as it has its origins in WPF. Can Microsoft use open contributed WPF code in UWP?
- WorldMaker 8y agoOneNote was a flagship WPF software as well. OneNote has announced it's all in on UWP moving forward. WinUI included in the announcement above is the UWP XAML controls and their "XAML Islands" wrappers, so Microsoft is directly taking UWP open source contributions now, too.
- contextfree 8y agoOneNote never used WPF AFAIK, Win32 OneNote used the same internal UI framework other Office Win32 apps used (and still use)
- WorldMaker 8y agoSo far as I'm aware, Microsoft's Ink controls have never had Win32 versions. For a few years they were System.Windows.Forms-only, for many more years they were WPF-only, and now the latest versions are UWP-only. That's a pretty core component part of OneNote. I don't think OneNote was WPF for all of its history, but there was certainly a time where a large percentage of it was WPF, from what I've heard. Which is also why I've heard OneNote led the vanguard to UWP and has been the Fluent Design 2.0 test bed for where Office's Fluent Design is moving, because it was the easiest to integrate UWP controls into the fastest.
- chris_wot 8y agoI wonder how hard it would be to write a WPF to Gtk+ adaptor?
- josteink 8y agoWPF is really, really declarative, extensible and composable in a way I haven’t seen in any other desktop UI framework. And certainly not in Gtk. I’m not going to say it can’t be done, but I will venture a guess that it’s going to be difficult and probably a lot of effort. More effort than simply forking and porting to be X11/Wayland native? Not sure, but I wouldn’t dare to exclude the possibility.
- tonyedgecombe 8y agoWPF is built on DirectX, you would probably want to port it to something like Skia.
- WorldMaker 8y agoIt's not exactly WPF, but there are folks that have worked on supporting Xamarin.Forms / XAML Standard on Gtk+: https://github.com/jsuarezruiz/forms-gtk-progress https://github.com/jsuarezruiz/forms-gtk-progress
- c-smile 8y agoSeems like "to Open Source" is another form of saying "to sunset the project" ...
- revskill 8y agoIt's wrong in general case. Look at Zeit team with their OSS stuffs.
- deleted 8y ago[deleted]
- gaze 8y agoIf, as people here have suggested, that WPF is dead, I now wonder if desktop apps in general are being killed. I liked qt widgets quite a lot but I think that's mostly in maintenance mode. How do these companies expect the end user to interact with the next version of excel, autocad, solidworks, photoshop, etc?
- mr_toad 8y agoEither using a browser, or if wild speculation is to be believed, using a MS fork of Electron (much like VS code).
- yknx4 8y agoI'm guessing this will be a blessing for Wine
- revskill 8y agoNow i understand why MS bought Github. They need to collaborate on their own stuff in a private way by owning it.
- MarvelousWololo 8y agoCould vou elaborate on that please?
- revskill 8y agoDo you think if MS didn't buy Github, do they dare to put their own stuffs on Github (even Enterprise, let go of OSS) ?
- copperx 8y agoAre you implying that Microsoft wanted to use Github for their internal projects? Doubtful. The big strength of Github is collaboration, and there are better tools out there if you want to enforce an internal company process.
- revskill 8y agoI'm sure about it. And github is the best about collaboration. They have to buy it to host their important projects.
- copperx 8y agoI don't get what you're trying to say.
- cududa 8y agoIt’s a joke
- laurent123456 8y agoWhy would a company the size of MS host their private repos on GitHub? And open source is open so they don't need to own GitHub for that.
- kelvin0 8y agoReal question: why is WPF worth contributing to, if it can't be made cross-platform? I've used WPF for about a day, and I never went back to using it. Not 'hating' on it, I just want to understand WPF and the incentives to open source it (I get it for .NET though).
- gulbanana 8y agomany people use windows, and therefore it is useful even if it is not cross-platform
- gU9x3u8XmQNG 8y agoI'm not sure if it's applicable, however; I'd be interested in any association that can be made against previous versions of such libraries, and the newly released open source libraries. Are the 'releases' between the old closed source and that of the newly open source significantly different? If so, and either way; I'd be interested in knowing what kind of changes were applied in direct action of the source being released. Was it just cleaning/linting of the code? Were there features that were otherwise inappropriate (security? quality?) that needed attention before release. Things like alignment with child dependency license agreements, or overall quality (in code, testing, and deployment) are things I find extremely interesting. Was there some interesting 'inappropriate' language in the source from developers long gone. Could this have effectively been the opposite spectrum of what happened with event-stream https://github.com/dominictarr/event-stream/issues/116 https://github.com/dominictarr/event-stream/issues/116 I'm not explicitly saying it's any of my business. I can imagine a multitude of reasons that this history would never be provided. But... as above.. I can consider reasons, perhaps; it should..? I don't mean to discourage release. I really appreciate it. Just some thoughts.. Edit: Minor readability
- caioariede 8y agoThis commit is so funny: https://github.com/dotnet/winforms/commit/a534dd2ebff6792c31642348b41b491397ecdfaa#diff-2d4df8d222478e1799aa9928c5069779L426 https://github.com/dotnet/winforms/commit/a534dd2ebff6792c31...
- combatentropy 8y agoWhen lawyers gain access to your source code.
- OnlyRepliesToBS 8y agolol the censorship attempt actually broke the code
- userbinator 8y agoOpen-sourcing pieces of .NET code --- which is "open source enough" with a decompiler, after all... they didn't bother to obfuscate it and the ExtremelyVerboseButMostlyQuiteUsefullyDescriptive names still remain in the binaries --- seems almost a natural consequence of how the platform works. But as a long-time Windows programmer, I would liked to see parts of Win32 open-sourced, because it's the far more interesting (and efficient) part of what makes Windows... Windows.
- ryacko 8y agoReactOS and WINE both need people to examine the guts of Windows in clean room dissassembly.
- Const-me 8y ago> are ready for your contributions on GitHub: WPF Currently, the linked WPF repository is almost empty. Very little code, and not a single .cpp file. WPF's native layer is huge, wpfgfx_v0400.dll, PresentationNative_v0400.dll, etc., lots of complexity between .NET and Direct3D 9.0c.
- cjohansson 8y agoI think Microsoft is aggressively trying to attract developers to use their products and this is yet another action in that direction. I think it’s a good move but I’m far from a conversion. My next OS will be a GNU/Linux
- herpderperator 8y agoIt's nice that they removed all the hacks: https://github.com/dotnet/winforms/pull/144/files#diff-2d4df8d222478e1799aa9928c5069779L426 https://github.com/dotnet/winforms/pull/144/files#diff-2d4df... It reminds me of when the Windows 2000 source code was leaked and it showed how vulgar a lot of the comments were.
- breezejl 8y agoWhy is this important?
- tonyedgecombe 8y agoBecause lots of WinForms and WPF developers have been frustrated at the lack of activity on these frameworks. It holds out the promise that even if Microsoft can't be bothered to maintain them then perhaps the community will. Personally I think it's too little and too late, Desktop development has had its day.
- taoeaten87 8y agonice job!
- pts_ 8y agoSounds like news for Hololens dev since desktop dev is all but dead.
- Elizabethxold 8y agoStart earning $90/hourly for working online from your home for few hours each day... Get regular payment on a weekly basis... All you need is a computer, internet connection and a litte free time... Read more here... --->>> http://Careers7.com http://Careers7.com
- polskibus 8y agoI hope they open source WCF the same way.
- aargh_aargh 8y agoI hope this means Paint.NET can now be ported to Linux. Pinta just doesn't cut it as a substitute. IIRC, while Paint.NET was under the MIT license at that time, porting to Mono was not possible because of the lack of WinForms. Not sure where I read that, maybe here: http://www.osnews.com/story/22843/Introducing_Pinta_a_Gtk_Clone_of_Paint_NET http://www.osnews.com/story/22843/Introducing_Pinta_a_Gtk_Cl...
- ygra 8y agoFirst of all, just being open-source doesn't make Windows Forms or WPF cross-platform and in fact, that's specifically not the goal or focus here. Secondly, Paint.NET includes quite a bit of non-WinForms/WPF code by now, talking directly to DirectWrite and Direct2D in places and probably other things as well. It's very much a Windows-only application and porting it would require rewriting a lot of important core code of the application.
- rogihee 8y agoWell, let's hope they open source Silverlight next so I can finally upgrade to Visual Studio 2017 when maintaining my apps (that are still in daily use by happy customers).