[HN Gopher] .NET MAUI: .NET Multi-Platform App UI
       ___________________________________________________________________
        
       .NET MAUI: .NET Multi-Platform App UI
        
       Author : evo_9
       Score  : 59 points
       Date   : 2021-04-20 21:43 UTC (1 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | tomc1985 wrote:
       | Any direct experiences using this? I've been looking for a good
       | multiplatform UI for desktop that does Mac/Linux/Windows. Mobile
       | is a nice side benefit. It would be nice to use C# again
       | 
       | No, I'm not interested in Electron. Blegh.
        
         | miohtama wrote:
         | Have you looked Flutter? It is mobile-first, but does native
         | desktop applications as well. Very battle tested and natively
         | compiled fast code.
        
           | ipsum2 wrote:
           | > Very battle tested
           | 
           | Desktop support is very new and still in beta:
           | https://flutter.dev/desktop
        
         | aidenn0 wrote:
         | IMO, Tk is by far the best for targeting multiplatform desktop.
         | Qt is a close second and Gtk is "sticks out like a sore thumb,
         | but works"
         | 
         | I don't think Tk runs on iOS, which is why Tk is usually
         | disqualified in "multiplatform" recommendations
         | 
         | MAUI and Xamarin.Forms both have "okay" linux support last time
         | I checked.
        
         | kreitje wrote:
         | It will be out with dotnet 6 later this year.
        
       | teryyy wrote:
       | Having used WinForms and WPF and Xamarin, it's great to see a
       | more cross-platform approach.
        
       | The_rationalist wrote:
       | How does it compare to jetpack compose and the web? (ergonomics,
       | capabilities, performance)
       | 
       | What is the 2D renderer being used, skia?
       | 
       | Usually the biggest selling point of non web GUIs is being NOT
       | js. If only Microsoft could integrate graalVM in Edge/electron
       | then we could all use our favorite language in the feature
       | complete APIs of the web.
        
       | codeptualize wrote:
       | Exciting! Let the cross platform games begin! (or continue..)
        
       | osigurdson wrote:
       | I really hope that there is a strong focus on performance.
        
         | LennyWhiteJr wrote:
         | If .NET Core is any hint, it will be.
        
           | orra wrote:
           | No idea who's downvoting you. A _lot_ of .NET effort is put
           | into performance: value structs, value tasks, Span;
           | generally, optimising code against various benchmarks.
           | 
           | This cycle they're focused on improving 'inner loop
           | performance'. The inner loop of the dev cycle, that is.
           | https://github.com/dotnet/core/issues/5510
        
       | madeofpalk wrote:
       | > In addition, we are enabling developers to write fluent C# UI
       | and implement the increasingly popular Model-View-Update (MVU)
       | pattern. MVU promotes a one-way flow of data and state
       | management, as well as a code-first development experience that
       | rapidly updates the UI by applying only the changes necessary.
       | 
       | I am very interested in this. Last year I developed a .Net Win
       | UI/UWP app and while I enjoyed the rich library of UI components,
       | I really did not like the weird imperative/declarative hybrid
       | model of building UI, as someone who is so used to React.
       | 
       | I would love to see some better layout fundamentals in this
       | space.
       | 
       | I wonder and hope I can use this with Xbox Game Bar SDK on
       | Windows :)
        
       | alskdj21 wrote:
       | How likely will it be that F# is supported out of the box?
       | 
       | I understand that this is a push for mobile but hopefully a linux
       | support will be considered.
       | 
       | https://github.com/jsuarezruiz/forms-gtk-progress/issues/31
        
         | airstrike wrote:
         | +1. F# deserves a lot more love
        
       | ghuntley wrote:
       | This is Xamarin forms with a new name.
        
         | sumnuyungi wrote:
         | As it says right at the top of their README: "Evolution of
         | Xamarin.Forms"
        
         | wvenable wrote:
         | Yes! But also with desktop targets instead of just mobile
         | targets.
        
           | ghuntley wrote:
           | Xamarin Forms was not good tech.... :-)
        
             | Mertax wrote:
             | Hopefully a chance for them to take what they learned
             | through years of experience and cut away from the
             | cruft/technical debt that built up with Xamarin.Forms.
             | 
             | I think there is potential for redemption here -- although
             | I do worry the native widget binding approach still comes
             | with a lot of friction that adds unavoidable complexity.
             | However, Maui's new "handler" pattern for native widgets
             | seems like it could be adapted to support Skia/manually
             | rendered widgets if someone wanted to invest in that non-
             | trivial effort.
             | 
             | From my experience the native widget binding is both the
             | strength and the weakness of the approach. You get to take
             | advantage of battle tested native controls that are fully
             | featured. But if the platforms don't have enough similarity
             | between them to create a cohesive interface then you're
             | battling multiple platforms trying to take advantage of the
             | native features layered in another opinionated model that
             | sometimes can be detrimental to the native performance
             | you're hoping to leverage.
        
           | Xevi wrote:
           | Linux is not officially supported though. :(
        
           | nxc18 wrote:
           | Xamarin.Forms also had desktop targets, including WPF and
           | UWP, although I think only UWP was officially supported.
           | Support is perhaps too strong a word...
        
             | wvenable wrote:
             | Well UWP was also supposed to be a mobile target...
        
             | octopoc wrote:
             | Yes, but this time:
             | 
             | - They're going to support MVVM and MVU (MVU is similar to
             | JSX with React).
             | 
             | - You'll be able to target all these platforms from a
             | single C# project. With .NET 5 and earlier, Xamarin
             | required you to have a separate project for each target.
             | This will result in a simpler codebase.
        
       | MayeulC wrote:
       | Not to be confused with the anterior and kirigami-based
       | https://mauikit.org/
        
       | LennyWhiteJr wrote:
       | About time. Developers have been asking for the ability to write
       | cross platform C# desktop apps for two decades now.
        
       ___________________________________________________________________
       (page generated 2021-04-20 23:00 UTC)