Skip to content
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

Update README.md framework comparisons #2232

Merged
merged 2 commits into from
Jan 26, 2024
Merged

Update README.md framework comparisons #2232

merged 2 commits into from
Jan 26, 2024

Conversation

gbj
Copy link
Collaborator

@gbj gbj commented Jan 26, 2024

I removed the earlier comparisons from the README, as I was getting the feeling they were out of date, and I don't like the feeling of "competition brain" between frameworks; these have been in there since 0.0.x, but Leptos is much more established now and I didn't feel the need to differentiate as strongly. @rakshith-ravi pointed out that these are still helpful so I'll add them back, updated/edited. Open to feedback on any details here.

@rakshith-ravi
Copy link
Collaborator

Doesn't necessarily need to be a comparison or competition of sorts, but rather, just wanted to point out how leptos is focused on performance and the core tenets of leptos. Not having a comparison with any other framework works too

@SilasLock
Copy link

SilasLock commented Jan 26, 2024

In my opinion, these kinds of inter-framework comparisons are super helpful for new users! Lots of people come into the Rust+wasm space unsure what the basic lay of the land is, need to decide which framework to use for their project, and their first question is "what's the difference between Yew/Dioxus/Leptos?" It's a valid question for people to ask, and I think it's good that the readme provides a good answer!

Here and here are two comments from the Rust subreddit where people learned about Leptos for the first time, and their first question was "how is this different from <other framework>" and though I'm having trouble finding them now, I've seen several YouTube comments on Leptos-related videos where people ask the exact same question. Newcomers to Rust frontend web frameworks will always exist for whom Leptos/Sycamore/Yew/Dioxus are novel technologies, so even though it's been a year and Leptos is a lot more of a well-known name than it used to be, it's still helpful to provide a summary of how it differs from other options.

Personally, I've never seen them as creating "competition brain" between frameworks. I think people come into this with more of a "please educate me on the differences between my options!" mindset than a "let's find out which framework is the best, and would totally destroy the others in a duel to the death!" mindset. But that's just my personal experience. 😊

Looking over the new version in this pull request, I like it a little better than the old version. It removes some of the outdated information about Dioxus (e.g. the performance boosts from Dioxus 0.3) and emphasizes that Dioxus has an additional focus on non-web/desktop applications, which is an important comparison point missing from the old readme. So, it looks good to me!

EDIT: One thing to note: in the comparison to Sycamore, the old readme used the phrase "Leptos uses a JSX-like template format (built on syn-rsx) for its view macro," while the new one uses the phrase "Leptos uses an HTML-like template." I've sometimes seen people explicitly say they like Leptos because they're familiar with JSX-like syntax and want to stick with something familiar, and other people say explicitly they'd prefer a different framework to get away from JSX-like syntax (I'm searching the Rust subreddit where I've seen these kinds of comments before and I'm coming up blank, but I'm positive I've encountered them). So in terms of word choice, it might be good to keep the words "JSX-like" in the readme.

@gbj
Copy link
Collaborator Author

gbj commented Jan 26, 2024

Thanks to both of you -- and I've restored that JSX reference, as well as adding the builder syntax so people know it exists!

@gbj gbj merged commit 26d1aee into main Jan 26, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants