elmish / elmish

Elm-like abstractions for F# apps
https://elmish.github.io/elmish/
Other
840 stars 84 forks source link

[Dicussion] Planning merge of Fable-Arch and Elmish #38

Closed MangelMaxime closed 7 years ago

MangelMaxime commented 7 years ago

Context

As shown by the benchmark Elmish-Snabbdom is fast.

I think we can consider making Elmish-Snabbdom available in 0.1. If you are ok I will add a last commit to #36 to switch Elmish-Snabbdom out of alpha and then we could merge the PR.

Also this confirmation allow our self to move on for planning the merge of Fable-Arch and Elmish.

Next steps

IMO the next steps are the following:

With @mastoj we was dicussing about the name of the project.

Using a name different from "elm..." makes a stronger stand on this is our way of doing things that's why I choose arch, I had fable architecture in mind and hoped that this could be the fable architecture for applications

And personally I agree with his point of view. I think this could be a good thing to say Fable as it's own solution for building Web App. And not giving the impression it's just a "copy" as it more than that in my opinion.

Proposition

If you agree I can port the Fable-Arch doc site to Elmish and we could adapt the design etc. For example, add a way to select the renderer on the sample list.

Just pinging people I think are interested on the subject: @mastoj @et1975 @alfonsogarciacaro @Zaid-Ajaj

et1975 commented 7 years ago

@MangelMaxime Thanks for a great addition, let's merge it whenever you are ready.

Regarding the naming, I intentionally picked Elm(ish) to emphasize the roots and similarities (If I could make it anymore Elm-like, I would have). The name is "googlable", it got some recognition at this point, so I'm inclined to keep it, even though as someone pointed out Elf would go great with Fable :)

In terms of deprecating Arch, it might be best to keep the lights on and simply point out that it will get minimal maintenance from now... I'm hesitant to force users to migrate, but whatever you as the maintainers feel appropriate, of course.

Docs would be great of course (#6). @inchingforward shows talent in that regard, hopefully he can chip in.

Zaid-Ajaj commented 7 years ago

Awesome work @MangelMaxime and the pref stats look just great. one question: will producer/subscriber also be added to elmish?

The name seems to me already fitting as it, it is just how you would describe the library to someone, "Do you know Elm? Well, this is Elm-ish but with F#" 😄

I will try to makes samples now and then with their docs when time permits

et1975 commented 7 years ago

Elmish has subscribers or rathers subscriptions, only it may not be the same concept.

MangelMaxime commented 7 years ago

@et1975 Ah yes Depreciate was probably not the right term. You explanation is better than mine :)

Yes for the name all this article speaking of Elmish made changing it hard. I was just thinking if we have to change it one day it's probably "now" with the merge.

mastoj commented 7 years ago

When I picked Arch for Arch I did so to make room to changethe architecture in the way that best fits with fable. Using a name like Elmish will always tie it somewhat harder to Elm and that has its pros and cons for sure.

It's not something I feel very strong about, I'm just glad that it is all coming together.

alfonsogarciacaro commented 7 years ago

Hi there! Firs of all, I'm very happy to see this happening. I'm sure this will help a lot the community and will bring many good contributions 😄

About the name, though I love the name fable-arch and it can be good for promotion to have an own way of doing things, I think keeping the name fable-elmish has its benefits: it's less confusing for existing users and it perfectly conveys the idea that users with some knowledge of Elm architecture can easily start with elmish (taking advantage of the extensive Elm documentation). The only drawback IMO is it can be seen as we're parasitising on Elm's momentum, but hopefully this is not an issue ;) (Also from the very beginning, Fable wasn't born with the idea of reinventing the wheel for everything.)

On deprecating fable-arch, both projects are awesome and that's why I have tried to support both so far. But if we are doing the merge, it is probably better to make it clear new projects should use fable-elmish and existing ones should migrate to get better support. This is to avoid newcomers keep making the same question: "fable-elmish or fable-arch?"

mastoj commented 7 years ago

@alfonsogarciacaro I totally agree and with the work @MangelMaxime has put in it makes sense to tell people to use fable-elmish. I have no pride in deprecating arch if it for the better of the community, which I think it is. Also, since I switched job I haven't been able to update arch as much as I wanted (but @MangelMaxime has done a great job there as well).