Uno: Is it possible to have F# documentation here?

Created on 11 Sep 2019  Â·  14Comments  Â·  Source: unoplatform/uno

What would you like to be added:

Show how to build Uno apps with F#.

Why is this needed:

C# isn’t the only language for .NET development and is actually more verbosed. F# functional nature make sense in app development and makes it clearer and less bug-prone when compared to C#.

For which Platform:

  • [ ] iOS
  • [ ] Android
  • [ ] WebAssembly
  • [ ] Windows

Anything else we need to know?

No, thank you for this!

arefsharp help wanted kinenhancement projecdocumentation triagmost-wanted

Most helpful comment

@saint4eva I'm really not sure where the hating you're talking about is. The OP has simply asked about contributing F# documentation and justified his opinion as to why he thinks it's valid to consider it.

All 14 comments

👋 You won't need to sell us on the merits of functional programming. I'm a big fan of the church of λ. Anyway this would be a good topic for blog posts and examples. UnoConf.com is coming up next week so there won't be much movement on this until it's over. Happy to help if you want to pitch in?

ps: Jerome did some hacking in this department back in Jan w/Elmish — https://github.com/nventive/Elmish.Uno

GitHub
Static UWP views for elmish programs running with the Uno Platform - nventive/Elmish.Uno

I don't know much about Uno to be honest. I started to go through the documentation and was wondering if F# could be a thing.
Nice to know it could very much be a thing!
@ghuntley What would be the necessary steps to undertake to get some F# samples good to go? The Uno platform doesn't support native F# code from the get-go? What are the current limitations and what kind of support is required in order to be able to do Uno with F#?

Because from a technical point of view, F# can also do object programming. So it could very much replace the back-end code that any C# would be responsible for. In order to be able to do it while applying the functional nature of F#, that I guess is the part you guys are looking for?

Why is this needed:

C# isn’t the only language for .NET development and is actually more verbosed. F# functional nature make sense in app development and makes it clearer and less bug-prone when compared to C#.

Bashing and hating on C# does not make F# any better. You should focus on requesting for F# support than your hatred against C#. If F# is better, they would not have done the project in C#.

F# is a great language and you should use it if it meets your need. C# is also a great language with both OOP and functional capabilities - really an amazing language.

@Kavignon F# is somehow supported for libraries depending on Uno, but is not supported for head projects, and projects that contain XAML files (the source generation tooling creates C#).

As @ghuntley mentioned, I did some investigation a while back to determine the level of support.

For now, we do not have any plan to support F# for XAML and head projects, but making sure we do not break support for F# libraries that depend on the Uno.UI package is of interest.

@saint4eva I'm sorry for bad-mouthing C#. I love C# and it's thanks to it that I fell in love with software development. Again, sorry.

I was pointing to the fact that F# can be better suited for a certain kind of tasks. There are certain historical issues to F# such as even though coming from Microsoft, it's never been recognized as a first-class citizen for .NET development until recently.

C# is a fantastic language, but so is F#. I feel seeing two approaches for doing Uno development; then .NET developers could decide which approach feels better for them :)

@jeromelaban Long time no talk; it's been a few years! I can see you've created a separated fork for Elmish. What are the current limitations around the F# tooling that makes it not work out of the box and where would you and @ghuntley like to get some support in? I'm no expert, but I'd love to help a bit here! Uno looked pretty cool and was thinking some F# doc could be great to see for the F# community

@saint4eva I'm really not sure where the hating you're talking about is. The OP has simply asked about contributing F# documentation and justified his opinion as to why he thinks it's valid to consider it.

At this point, a few things can be done:

I'm using Fabulous and I think it's good direction to support Uno via this library.

  • It was brought to my attention that Fabulous has now been refactored to lift the dependency to Xamarin.Forms out in a separate assembly, and adding Uno support for it may now be possible, but this would need to be investigated first.

Hello!!
any news ?

Some experimental Uno Fabulous work has been done here: https://github.com/unoplatform/uno.fabulous

GitHub
Contribute to unoplatform/uno.fabulous development by creating an account on GitHub.

@jeromelaban is this code for WebAssembly only?

@xperiandri at this point because it was an experiment, yes it's only for wasm but it's possible to make this work for iOS and Android as well.

@Kavignon, for now, more or less working sample is https://github.com/xperiandri/Elmish.Uno except #3973

GitHub
Static UWP views for elmish programs running with the Uno Platform - xperiandri/Elmish.Uno
Was this page helpful?
0 / 5 - 0 ratings

Related issues

carlh98 picture carlh98  Â·  3Comments

TonyHenrique picture TonyHenrique  Â·  3Comments

chrisevans9629 picture chrisevans9629  Â·  4Comments

SuperJMN picture SuperJMN  Â·  3Comments

MartinZikmund picture MartinZikmund  Â·  3Comments