-
Notifications
You must be signed in to change notification settings - Fork 203
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
Understanding of the criteria "outdated"? #154
Comments
That's a very good question. To be honest, there are no fixed criteria yet, but I am very interested in what the community thinks about it. I can think of a few aspects that we might want to consider:
What do you think? It would be pretty cool if the information could be retrieved via an API to automate the process. |
Seems like last commit is the most straightforward criteria. If there was a commit yesterday, it means they are likely working on any of the other unaddressed issues you mention (safety issues, new releases, outdated dependencies). It seems like Yew is a false negative here (seems to be the most used framework, with the most contributors, by far, and had commits last week), and Iced is a false positive (they officially dropped support for WASM: https://discourse.iced.rs/t/is-publishing-to-web-working-and-fully-supported/515). I'm curious about Percy and Sycamore, and won't invest time in learning them if they are really outdated, but they have commits two months ago and one month ago, respectively. (i.e., they had commits since this discussion began) Do you still think they are outdated for some reason? |
🤔 It's been almost a year since the last release, and overall activity seems to be pretty low.
you're right, thank you for that hint! (2f3f621)
Well, the "activity" of Sycamore is about 34/year and the last release was in 2022!!!! |
I don't know, I think I saw other people saying that. :) Looks like it may not be true. Also, is Vizia for web? Although they make that claim here: https://book.vizia.dev/foreword.html I cannot find (through google search) any mention of web or wasm anywhere in that book, and all the examples are desktop applications that I can see.
I'm not actually sure what the activity count refers to. commits? I could imagine maybe some of them are simply not using the Release feature of Github? Anyway, I appreciate what you are doing with this list. I am trying to decide on a framework to use, and my primary concern is that it uses Elm architecture or close to it, and that it is supported and will exist years from now (I feel cautious after writing a whole application in Elm that I use in my courses, which works okay, but which I cannot update any more, at least not with Elm 0.19, not to mention it's about 10x slower than equivalent Dart code). It seems to be an unfortunate phenomenon that far more people than I'd expect start up and advertise some ambitious project like this before abandoning it, often silently. At least iced_web was considerate enough to archive the repo to signal it was not supported anymore. I wish I could redirect every ambitious young programmer who wants to start a new Rust web framework to look over this list and think about resuscitating a dead project rather than starting a new one only to abandon it too. |
For instance Sauron's last release was 3 years ago, although they keep working on it. Based on some of their commit messages, they have new releases (e.g., 0.61.8, compared to 0.40 is the latest on Github), so I would imagine they simply stopped using the Github release feature. |
I don't care about GitHub in this context, what I mean by "release" are of course published versions on crates.io |
I don't know either... and it's also a very difficult parameter to measure.
As far as I know not yet. I had already played with it months ago, but it was still very immature and the code quality wasn't convincing either (at least at the time).
Good question. At least it is an indicator, as long as you compare the figures.
thanks, that's nice, normally you only ever get criticized 🤣 🙄
I have exactly the same pain, which is why I am still motivated to look for possible solutions
Yes, unfortunately this seems to be very common, especially in the web community 😞
👍
💯 All in all, to answer your search for Elm alternatives: However, as the development is very deliberate and clean, it will still take some time before it can be used productively. |
That's a very poor metric to determine popularity. According to crates.io, yew has 1,318,284 total downloads, and 121,122 recent downloads. Yew is by far the most downloaded frontend framework on crates.io, none of the others come close. I also have no idea why you claim that dominator is outdated... I don't know what metric you are using to determine that, but dominator is definitely not outdated, it has been consistently actively maintained. |
Of course it's not a perfect metric, but if a project is unable to deliver an update for over a year (and it would be enough to update a few dependencies), then it's definitely outdated in my view. Popularity != Up-to-date
I think that was the same reason, there was no release / activity for a long time. It is interesting, however, that many people here complain about how something is evaluated, but only a few have a concrete suggestion as to which metrics could serve as a basis. Just so that there is no misunderstanding: I am absolutely open to constructive ideas 😃 |
Because of the way that Rust dependencies work, there is no need to release new versions just to upgrade dependencies. Dependencies are automatically updated even if the crate hasn't had a new release. If the code is stable and works fine, then there is no need to release a new version. Unlike some other programming languages, Rust heavily prioritizes stability and backwards compatibility. That means crates from years ago still work perfectly fine today. For example, cfg-if hasn't received a new release in 4 years, but it's not outdated. It still works perfectly fine. It hasn't received a new release because it hasn't needed a new release. It's very common for Rust crates to go several months without a new release, because Rust crates tend to be excellent in quality, and with high stability. And because dependencies are automatically updated, there is often little need for a new release. If it isn't broken, don't fix it! This is a good thing. This means that the ecosystem is stable, so you can build code that relies on other crates, and you know that your code will keep working long into the future. You don't have dependency fatigue of needing to keep up with the constant new versions of things.
Personally, I would say if a project has had GitHub commits within the past year, then I would consider it to be fine. If it hasn't received any commits in over a year, it might still be fine, but it needs a closer investigation. Rust crates have very high stability (compared to packages in other languages), so a crate being a year "out of date" is not a problem at all. Unlike JavaScript, Rust crates don't need constant churn in order to "keep up to date". |
ok, I agree with you on that 👍
🤔 I remember I once had problems with the
You are absolutely right, some libraries are mature and if they themselves have no or few critical dependencies, then of course they do not need new releases.
👍
👍
Thanks for your suggestion.
You are so right... that was one of the reasons why I had already looked for alternatives to the JS world in 2015 and finally started this list 😄 Thanks for the constructive comments, by the way! |
I'd like to understand by which criteria a framework is judged as "outdated"? It's a loaded classification so I think it is fair to be transparent about the criteria by which the frameworks are evaluated.
The text was updated successfully, but these errors were encountered: