fable-compiler / Fable

F# to JavaScript, TypeScript, Python, Rust and Dart Compiler
http://fable.io/
MIT License
2.93k stars 300 forks source link

Deprecate samples #879

Closed mike-morr closed 7 years ago

mike-morr commented 7 years ago

Looking at the list of samples that need to be updated, seems like a daunting task. I believe there are too many samples for the team size we have. Can we focus on core scenarios and popular ones? Like I see a lot of requests for help with the vscode extension in Gitter, so we should probably keep that one. Node and Express could probably be combined or just keep the Express sample since it also demonstrates Node.

Thoughts?

MangelMaxime commented 7 years ago

I believe your current problem is migrating them to the Fable 1.0 project structure ? If yes, I think it's only a temporary pain point as when Fable 1.0 will be released we should not have a lot of project structure change.

Also personally, I love having all those samples because when I was a new user of Fable and F# they help me to learn both.

One of the sample you can drop is this one: http://fable.io/samples/virtualdom/index.html Fable-arch is no more maintained and we will link directly to Elmish doc site when released. :)

I would not combine Node and Express samples, when you are looking for a Node sample even in JS world you don't go to express :)

However, we could try to remove some of the "Fun and Games" samples if it's really needed. Or perhaps let the users host their samples or create a repo (for each one or to group most of them) instead of throwing them into Fable repo. (It's one of the decision we made for Elmish)

Zaid-Ajaj commented 7 years ago

On the contrary, I think we don't enough samples to begin with. The best way to learn, just like @MangelMaxime said, is going through the code of these samples to see how things are done "in action" and possibly clone and tweek the sample to make something yourself. Current samples only need to be updated and documented which is not as daunting as it looks.

mike-morr commented 7 years ago

I definitely agree on the learning aspect, but right now there are 20+ samples in this repo. Perhaps deprecate is the wrong word, but narrow the scope of which ones are officially supported and ones that are community driven. Because as it stands right now, IMO all the ones in this repo are official and need to be kept up to date with new features, not just project structure. Could we maybe update them all for 1.0 and then classify some as official and some as community? Meaning the official ones will be kept up to date by the Core team in step with new features, and some will be up to the community and/or core team to be updated or not. I'm not trying to remove learning content so much as make new releases more agile. Definitely want to do what is best for new people though, being one myself. :)

Pauan commented 7 years ago

I agree with @MangelMaxime that this is a temporary problem, which only really happens when major changes are introduced (such as Fable 1.0)

On the other hand, I do agree that we are understaffed, which is why the samples have remained unupdated for so long... Hopefully https://github.com/fable-compiler/Fable/issues/874 will help.

tpetricek commented 7 years ago

As someone who often demos Fable at various places, I think the online samples are one of the awesome things about Fable - an extensive collection of samples is a great way of convincing people that Fable can solve the kinds of problems they're interested in. So I think keeping them is very important!

Perhaps the "core" samples could be in some more prominent directory, or could be listed as the first thing on the page?

alfonsogarciacaro commented 7 years ago

Let's track samples updates in #881 :)