Fabulous.Avalonia icon indicating copy to clipboard operation
Fabulous.Avalonia copied to clipboard

Added a proof-of-concept for async loaded images from the web

Open h0lg opened this issue 9 months ago • 2 comments

using https://github.com/AvaloniaUtils/AsyncImageLoader.Avalonia

If you want this as an extension to Fabulous.Avalonia, I can try to encapsulate it into a separate project similar to the existing Fabulous.Avalonia.ItemsRepeater

h0lg avatar May 15 '24 00:05 h0lg

Seems like a good control to use. For this non official control we have normally 2 options.

We encourage people to create its own Fabulous.Avalonia control wrapper in their individual GitHub profile like I tried to do with AvaloniaEdit using a naming convention like Fabulous.Avalonia.AvaloniaEdit

We can host it in the Fabulous GitHub organization like we have done for Fabulous.MauiControl.Maps in the past and give you maintainer permissions so we can help/assist maintaining, releasing etc. if it is necessary.

edgarfgp avatar May 20 '24 15:05 edgarfgp

@edgarfgp I prefer the second option - easier to find for everyone and less work for me :)

I'd also love your help getting the implementation right and the API consistent with that of Fabulous Avalonia. I don't understand the difference between Fabulous' different Attributes.define* helpers yet. Or how to decide which options to expose in a builder vs. in extension methods - because not all existing ones are intuitive to me.

Let me know how you'd like to proceed. If you set up a GitHub repo, I'm happy to convert this into a library with a sample project, and either create a PR or push to it.

I'd also like your feedback on the naming. Is AsyncImage a good widget name? Does it conflict with a part of the ecosystem I don't know about? I derived it from the name of AsyncImageLoader.Avalonia, but didn't to put the -Loader suffix in the name - because the widget effectively renders an image, not a loader. And what would be a good name and default namespace for the project? Note that the library also features the AdvancedImage control and the ImageBrushLoader attached property, both of which I haven't wrapped in my sample.

h0lg avatar May 21 '24 06:05 h0lg