
Show HN: Cross Platform .NET Desktop Application Framework - AlikhanPeleg
https://www.browseemall.com/Blog/index.php/2017/05/23/creating-a-cross-plattform-net-ui-application/
======
oblio
Eto is very interesting but unfortunately there seems to be just 1 (very
active) developer behind it, from what I can see.

On the other hand, Xamarin.Forms had an announcement recently, an announcement
that Hacker News missed. I submitted the news a few days ago but it didn't
reach the first page:

[https://news.ycombinator.com/item?id=14383467](https://news.ycombinator.com/item?id=14383467)
->

[https://blog.xamarin.com/glimpse-future-xamarin-
forms-3-0/](https://blog.xamarin.com/glimpse-future-xamarin-forms-3-0/)

TL;DR:

Xamarin.Forms will support desktop environments:

\- Windows (WPF)

\- MacOS (Cocoa)

\- Linux (GTK#)

This is on top of the mobile bits: iOS, Android, UWP.

As an added bonus, they've added Xamarin.Forms embedding into native
interfaces.

It's actually major news since Xamarin.Forms would become the first cross
platform UI toolkit that:

1\. supports both desktop and mobiles

2\. is backed by a major vendor

3\. is truly usable from a memory managed language as part of the core
offering

~~~
maxxxxx
I have never heard anything positive about Xamarin.Forms from people who have
used it. Has this improved?

~~~
kevindqc
I've never used Xamarin, but I'm curious what their complaints are?

~~~
devopsproject
To be clear: "Xamarin.forms" is different than "Xamarin" and the following is
based on my experience with "Xamarin.forms".

Also note that my experience with this is building an extremely simple
business-y app for internal users.

1\. Its moving fast so documentation is lacking and the "right" way to do
something, posted 6 months ago, is wrong\deprecated\wonky

2\. The tooling leaves a lot to be desired. Although this has greatly
improved, there are still tons of steps to publish
([https://developer.xamarin.com/guides/android/deployment,_tes...](https://developer.xamarin.com/guides/android/deployment,_testing,_and_metrics/publishing_an_application/)).

3\. Updates constantly breaking things. To be fair, this is also improving

4\. There may still be instances where you have to drop into native code or
split code based on platform. This means you sometimes will need to know: c#,
xamarin.forms oddities, java\android stuff AND objective c\iOS. This may not
be an issue for simple apps

5\. UI builder is limited. The apps will be native looking but you won't be
winning any design awards. Some things also seem impossible so it helps if the
customer\designer\stakeholder is really flexible. If someone asks for an app
to collect and display data, you will probably be ok. If they give you pixel
dimensions and other minutiae run.

------
j_s
Apparently this is a hot topic.

The options I'm aware of are:

[https://github.com/picoe/Eto](https://github.com/picoe/Eto) (OP - BSD)

[https://github.com/AvaloniaUI/Avalonia](https://github.com/AvaloniaUI/Avalonia)
(MIT)

Currently only with a preview for Mac, Xamarin.Forms is roadmapped for desktop
platforms "Q3 2017": [https://blog.xamarin.com/glimpse-future-xamarin-
forms-3-0/](https://blog.xamarin.com/glimpse-future-xamarin-forms-3-0/)

Licensing for Xamarin Forms was funky for a while (required paying for Xamarin
prior to MS acquisition) but appears to be MIT now.

~~~
johnhattan
And for games, there's MonoGame.

[http://www.monogame.net/](http://www.monogame.net/)

It's based on the old XNA framework. At least one successful commercial game
(Fez) was written with it.

~~~
pjmlp
Quite a few successful games were written in it, before Unity changed their
license model.

Bastion was another one that comes to my mind.

As additional remark, indies have been doing games in C# since the Managed
DirectX days.

~~~
zerr
Also, Unity is more a tool for designers, while MonoGame or LibGDX are more
coding oriented libraries.

~~~
pjmlp
Kind of agree, but if you look at the curriculum of universities teaching game
development degrees, they have all moved into Unity/Unreal, plus the console
SDKs.

Also the love they are getting from MS and Google for VR/AR.

------
denisw
Given the title, it seems that this should rather link to the framework itself
([https://github.com/picoe/Eto](https://github.com/picoe/Eto)).

~~~
jjuel
Or even the blog post about the framework
([https://www.browseemall.com/Blog/index.php/2017/05/23/creati...](https://www.browseemall.com/Blog/index.php/2017/05/23/creating-
a-cross-plattform-net-ui-application/)).

~~~
sctb
Thanks, we've updated the link from
[https://bitbucket.org/positionfixed/crossplatform](https://bitbucket.org/positionfixed/crossplatform).

------
lwansbrough
I'd be wary about investing too much time into something like this. Microsoft
is making a massive push with .NET Core and its availability on both Mac OS
and Linux. Coupled with the expansion of the .NET Standard to encompass more
of the .NET Framework APIs, it won't be long now before Microsoft announces
the ability for the Universal Windows Platform to run on all major operating
systems. Of course they may want to rename it to something more friendly -
like Univeral .NET Platform, or just Universal Platform - but I suspect we'll
see this in the next year or maybe two.

Build apps for Windows, OS X, Linux, Android and iOS with C# and XAML. Sounds
pretty cool to me. So it isn't to say this isn't a great idea by the
BrowseEmAll devs, but I'm just not sure how needed it'll be once Microsoft
steps in.

~~~
lostmsu
Yeah, I felt that trend too with XAML Standard.

------
Sir_Cmpwn
I carry this file around to detect platforms with .NET:

[https://github.com/SirCmpwn/TrueCraft/blob/master/TrueCraft....](https://github.com/SirCmpwn/TrueCraft/blob/master/TrueCraft.Core/RuntimeInfo.cs)

I hereby release it into the public domain.

~~~
louthy
Kudos for releasing to the public domain, but you should also attach a license
to it (MIT is good)

Edit: sorry, I see there's a top level license. Browsing github on my phone
wasn't giving me the info I wanted :)

------
arenaninja
This is exciting news, but in the world of Electron apps I do wonder if it is
not too late already.

Qt has been around for a while and though it gained traction Electron is far
outpacing it. It seems that there is no ASP.NET Core since it was borne out of
an actual use case with ASP.NET.

Again, kudos to the author and it seems like a great technical feat, but to my
knowledge what matters is adoption rate.

~~~
pjmlp
Thankfully no one around me is either using Electron or thinking about even
trying it out.

As for Qt, web devs have C++ allergy, hence why the company behind Qt came up
with QML. exactly to fight against this trend.

~~~
roryisok
I'm feeling an increasing sense of hostility towards "web devs" lately.

~~~
devopsproject
It's frustration, not hostility. The solution is always
HotNewFrameworkStillInBeta.js

------
OldSchoolJohnny
Why not link to something that explains it first, like an overview?

------
slowmotiony
Can I use this in .net core projects?

~~~
insertnickname
No

------
dafrankenstein2
c# for unity, asp and xamarian. wow.

