bartblast / hologram

Full stack isomorphic Elixir web framework
Apache License 2.0
335 stars 6 forks source link

Example Application #76

Open gregjohnsonsaltaire opened 2 years ago

gregjohnsonsaltaire commented 2 years ago

Thanks for all the recent work ...

Would it be possible to put an example application together to show a recommended methodology for common use cases and to provide a comparison with LiveView?

eg https://github.com/chrismccord/phoenix_live_view_example, especially the "CRUD users with live pagination" example?

Would be great to see how much simpler Hologram could make the examples ... Thanks

bartblast commented 2 years ago

Hey, you're welcome! :) That's in my plans, but I wanted to implement the essential Elixir syntax first. I'd like to avoid a situation in which folks start to play with the framework and find things not working as they expect. As you imagine this would create some overhead for me, because I would have to handle the issues.

There is some subset of the language and some features that I would like to finish, before creating the framework's website and example application: see: https://github.com/bartblast/hologram/projects/4 Then only complex features which I have to implement are: case expressions (which I'm working on now), "if" template directives and anonymous function types. The other issues for version 0.2.0 are quite simple.

What are your thoughts about this approach?

gregjohnsonsaltaire commented 2 years ago

I very much agree that you need to avoid the situation where folks start to play with the framework and find things don’t work as they expect.

First impressions of working with a new product are critical. If first impressions are poor, no matter how good the product eventually becomes it’s reputation will always be tainited. And conversely, if first impressions are good, even with a very minimal set of functionality, that will set the tone for the long term reputation of the product.

For those reasons I’d suggest it’s very important to:

You do a really good job of setting out the roadmap and making it clear as to what’s on the list to do, what’s not, what’s in progress and what’s done.

My view would be that it’s important to demonstrate one or two key use cases early on, eg

This would:

This could all be in a seperate development branch so that it's very clear that it is very much work in progress and that “issues” would only be addressed on a very selective basis, if at all.

I very much agree that you don’t want to create work for yourself having to handle issues that aren’t on the critical path.

On the other hand, the sooner more people can get a more complete picture either through documentation or examples, the more people there will be able to help with the project!!

Whatever approach you decide on will be very much appreciated! Regards ...

On 21 Mar 2022, at 01:31, Bart Blast @.***> wrote:

Hey, you're welcome! :) That's in my plans, but I wanted to implement the essential Elixir syntax first. I'd like to avoid a situation in which folks start to play with the framework and find things not working as they expect. As you imagine this would create some overhead for me, because I would have to handle the issues.

There is some subset of the language and some features that I would like to finish, before creating the framework's website and example application: see: https://github.com/bartblast/hologram/projects/4 Then only complex features which I have to implement are: case expressions (which I'm working on now), "if" template directives and anonymous function types. The other issues for version 0.2.0 are quite simple.

What are your thoughts about this approach?

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you authored the thread.

bartblast commented 2 years ago

Thank you for your suggestions @gregjohnsonsaltaire ! I'll soon apply the idea with the dev branch. I removed a few non-critical issues from the version 0.2.0 goals. Good news is that the case expressions are already complete.