-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Elmish pattern support #1803
Comments
It's a great architecture to play with (upon my cursory look at least) but this is something that the community will provide for themselves. I also dont see any technical challenges for Avalonia with regards to Elm/Model-View-Update architecture so i guess someone can take a shot at this? :) |
example of DSL https://github.com/Dolfik1/AvaloniaDSL/blob/master/DSL/Main.fs @cmeeren @Lleutch Could you please help Avalonia to implement Elmish? |
That will likely be a bigger undertaking than I can commit to at the moment. For a static view solution, it would probably be fairly easy - perhaps even trivial - to port Elmish.WPF, since Avalonia is similar to WPF. Anyone is welcome to have a go. If it turns out that the However, I don't really like Elmish with static views because of its significant limitations compared to dynamic views. Dynamic views, on the other hand, require a lot more work to implement. There are important performance considerations in order to ensure the view creation and reconciliation/updating is as efficient as possible (Fabulous still struggles with a few things in this regard), there must be a way to support 3rd party controls, and a code generator might be needed to make the dynamic view code maintanable (similar to Fabulous). |
I completely agree with @cmeeren on each point raised. |
Regarding a DSL for dynamic views - there are several directions to take:
Aside from the syntax difference, when you delve deep enough into it, I'm sure all come with their own pros and cons regarding technical limitations.
I agree, a PoC might be a good starting point. I just want to note that sooner or later, performance will become a concern if it is ever supposed to be a viable way of creating real-life complex apps. It might therefore be prudent to have performance at the back of the mind even in the PoC stage, to ensure one doesn't end up with an implementation that is fundamentally inefficient and difficult to optimize.
I second that. While I can't commit to being a primus motor or maintainer, feel free to cc me for input. |
@ma3yta looks amazing! |
This doesn't belong to the core avalonia repo, feel free to implement your own wrapper |
It would be nice to be able to develop Elm architecture apps with Avalonia like Elmish.XamarinForms
The text was updated successfully, but these errors were encountered: