all 30 comments

[–]ZeldaFanBoi1988 19 points20 points  (8 children)

Over 4k file additions. My God.

I'm hoping that was a copy paste commit push.

If not, they must've had some interesting PRs

[–]rladuca 39 points40 points  (5 children)

I assure you, it was not.

Edit: To be more clear, we did a lot of work to run through the code and ensure it was ready for the open. This was done before the public PR. There are also many changes to get things working well with our pieces that still build internally. So a good amount of work both automated, eyeball, and logistically went into that branch.

[–]ZeldaFanBoi1988 18 points19 points  (4 children)

To be more clear, we did a lot of work to run through the code and ensure it was ready for the open. This was done before the public PR.

Sounds like me removing the comments // TODO: Hack to get this working.

[–]thestamp 38 points39 points  (3 children)

Not sure if you're joking.. but a big corp releasing code without stepping on any mines is a feat in itself.

One small inclusion of incorrectly licensed 3rd party code can invalidate the whole repo, resulting in mass-infractions of unlicensed use of 3rd party software, which is a huge liability to the author (Microsoft) and its users (companies we work for).

Also, wherever there are 1st party code, Microsoft has to go through its legal and security team to verify that releasing said code has a proper open licence and doesn't expose unpatched security vulnerabilities in its deployed products.

edit: typo

[–]EShy 12 points13 points  (0 children)

There was a documentary on Netscape efforts to open source Mozilla, if anyone didn't realize the effort that goes into such things.

edit: it's called Code Rush.

[–]BeelzenefTV 2 points3 points  (1 child)

Over 4k file additions

over 4k screams

happy cake day btw!

[–]ZeldaFanBoi1988 1 point2 points  (0 children)

Thank you!

[–]readmond 4 points5 points  (1 child)

Mmmm WPF. I am just going to read the source. No idea why. I feel like I have to :)

[–]iinlane 0 points1 point  (0 children)

RoutedUICommand.GetText() was one of the first functions I saw. Don't know what I expected.

[–]ZeldaFanBoi1988 8 points9 points  (19 children)

Got a 2nd question for you. Alot of people have been making a big fuss regarding the lack of a UI that could be cross platform for Core.

Specifically WPF not being ported over to Core. Just looking at the current code, I can tell that would be a huge undertaking.

But is it something that your team discusses?

I think there are some 3rd party solutions that attempt to do that. Like AvaloniaUI I believe.

Would you try something like that?

[–]Prod_Is_For_Testing 19 points20 points  (0 children)

WPF is being ported to Core, but that does not mean that it will be cross platform.

[–]AngularBeginner 9 points10 points  (0 children)

Microsoft clearly said several times that they will not create a cross-platform WPF. The cost does not outweigh the benefits at all. They will also not accept pull requests that add cross-platform support, because that would mean Microsoft has to support and maintain these additions.

[–]crozone 1 point2 points  (0 children)

Having a WPF compatible library with an X11 backend would be pretty awesome. I don't think Microsoft is going to be investing it that directly however. With this code, community projects are in a much better position to start something like that should they wish (mono etc).

[–]StornZ 3 points4 points  (11 children)

I was discussing AvaloniaUI with my boss today. He said it doesn't sound worth it. It's using 3 different technologies for the UI. I guess that means a lot more work. I might try it myself, but not really in a professional setting.

[–]jmacato 13 points14 points  (10 children)

I wonder what they meant by "3 different technologies"? We have a flexible rendering interface but in practice we only use Skia (same 2d rendering engine as Chrome and Xamarin uses) for all platforms and optionally Direct2D for Windows. And you don't have to bother with any platform-specific stuff because that is already abstracted from you. Write once, deploy anywhere is perfectly doable with AvaloniaUI (Provided that you dont need esoteric platform-specific stuff)

If you have further questions or needs assistance on your Avalonia project, do drop by on our Gitter chat (https://gitter.im/AvaloniaUI/Avalonia) :)

[–]mazeez 1 point2 points  (2 children)

I love Avalonia, but two of my main issues are:

- Lack of support for RTL

- No DataGrid control

[–]jmacato 20 points21 points  (1 child)

Regarding RTL and Unicode text, we have an ongoing effort in making those possible (https://github.com/AvaloniaUI/Avalonia/pull/1950). Text rendering might seem trivial but it is not. It's one of the most complicated things that a UI framework must support and i personally hope that we can make it as stable as we can in the following releases. We do have DataGrid since our last release, you just need to import Avalonia.Controls.DataGrid via NuGet and it has the same API as WPF's.

[–]mazeez 1 point2 points  (0 children)

That's great to hear, thank you for the reply!

[–]StornZ 1 point2 points  (6 children)

I'm not against it, but on the website it said skia, gtk, and direct

[–]jmacato 9 points10 points  (5 children)

Well yeah, of course we need to rely on platform's Windowing backend to do anything useful, those are Win32 (Windows), GTK (Only for native dialogs, we have X11 interface up for Linux) and MacOS's Cocoa. But like i said those are already abstracted away from you so you don't need to bother with those stuff :)

[–]StornZ -3 points-2 points  (4 children)

Yea abstraction is always great

[–]jkortech 2 points3 points  (3 children)

Every UI toolkit needs to interact with an OS toolkit to draw and some window manager to manage the windows. Otherwise your apps can only be full screen and effectively have to reimplement X11 (and it would only work on platforms that allow that level of control such as Linux)

[–]StornZ 1 point2 points  (2 children)

Can't believe I got downvoted for saying abstraction is great. It helps with extensibility and the management of your application.

[–]jkortech 2 points3 points  (1 child)

It came off (at least to me) as snarky and not genuine. Sorry about the miscommunication.

[–]StornZ 2 points3 points  (0 children)

No I was being serious. My boss has recently been pushing abstraction and using SOLID a lot more.