
Avalonia – A multi-platform .NET UI framework - hitr
https://github.com/AvaloniaUI/Avalonia
======
grokys
Hi all, I'm the originator of this project and the main contributor, please
ask anything you like!

Though this did have to hit front page when I'm doing a day of travel didn't
it? :)

~~~
zem
what is the support for custom controls like? (i.e. inheriting from a canvas
and drawing themselves, while being added as a new widget type to the layout
code.)

~~~
grokys
Custom controls are supported, although I'm not sure that inheriting from
Canvas is the best way to do that. See e.g.
[https://github.com/Core2D/Core2D](https://github.com/Core2D/Core2D) for an
example of an application with lots of custom controls.

------
jsingleton
Interesting, .NET Core doesn't have a good UI story yet. It's just console /
web for now. Something like WPF but cross-platform would be great and this
looks promising.

~~~
c-smile
My Sciter Engine [1] with C# wrappers [2] for .NET and Mono is on par with
WPF[3]. It just uses HTML and CSS instead of that XAML thing.

[1] [http://sciter.com](http://sciter.com) [2]
[http://www.codeproject.com/Articles/1057199/Sciter-HTML-
Csha...](http://www.codeproject.com/Articles/1057199/Sciter-HTML-Csharp-based-
desktop-apps-walkthrough) [3] [http://sciter.com/sciter/sciter-vs-
wpf/](http://sciter.com/sciter/sciter-vs-wpf/)

~~~
int_19h
I'm sorry, but in terms of convenience and flexibility of desktop UI
development, HTML/CSS/JS is simply not the same thing as WPF. HTML is
ultimately still a document markup language originating in a stateless
environment, and it shows.

~~~
joshburgess
Have you seen the things people have built with Electron? I wouldn't
underestimate the capabilities of HTML/CSS/JS for desktop apps when you have
projects like Slack, Atom, Visual Studio Code, GitKraken, the Brave browser,
etc. all using Electron to build their desktop apps.

~~~
spriggan3
> Have you seen the things people have built with Electron?

Yes and they are slow, memory hungry and often crash for no reason. A
javascript+HTML UI just can't compete with an app written in C# and WPF in
term of performances.

------
oblio
Does anyone have any war stories with Eto
([https://github.com/picoe/Eto](https://github.com/picoe/Eto))?

It is a .NET cross platform toolkit similar in concept to Wx (it wraps native
widgets).

~~~
lubos
I've been using Eto for a few years. It's amazing toolkit.

If anyone is working on cross-platform desktop app in C# which is meant to
look "native" on each platform, then Eto is the best toolkit there is.

~~~
grokys
Yep, I agree - Eto is great for native controls! I consider Eto and Avalonia
to complement each other rather than as competitors.

------
eggy
Good work! .NET could use this right now from what I've come up with.

How could I work with F# on this? New to F# right now, and I would like to
have a cross platform GUI. I have F# running on my iPad now (Continous App!).

------
s369610
Looks great. I looked at it in the past but was put off by the GPL3 license
attached to omnixaml. It looks to be MIT licensed now.

------
jbeda
Avalon was the original codename for WPF. It is a great example of what you
get when people vote on codenames.

------
wmccullough
Pardon my language, but fuck yea! Been waiting to see something like this
happen

------
dotnetisnotdead
Wow, this could be the start of something big. Not often you see people
working on desktop UIs anymore, and this of course being cross platform as
well... definitely going to watch this one.

Looks great to me.

------
serge2k
From contribution guide

> DO NOT USE #REGIONS full stop.

Why is that?

~~~
grokys
Because I hate them.

EDIT: Ok, I'll explain :) : because when I open a file, I want to see the
code, not folded regions telling me that it has constructors, properties, and
methods. That's not interesting to me, it just obfuscates. There used to be an
argument for using them for generated code, but partial classes are a much
better choice for that.

#regions make me unreasonably irritated ;)

