How to estimate the quality of pub.dartlang.org packages?
Asked Answered
P

2

5

I started a Dart project and now I need some functionality that is not available in the Dart API Reference. I was advised to use a package from pub.dartlang.org and now I am browsing through the pub.

Previous experience with Javascript libraries tell me that quality and support can vary wildly between libraries. Therefore I am a bit reluctant to use packages from pub. How would I know which package has a good quality, and whether a package will be updated when there are breaking changes in Dart?

Therefore I would like to know:

  • Is there a way to know which packages on pub.dartlang.org are safe to choose for a long-term project?

Some questions related to this:

  • Will packages where "Dart team" is the author be supported for a long time?
  • Should I prefer packages where the uploaders have @google.com in their email address?
  • Is there a list of google-supported packages? (I suppose polymer would be on it)
  • Is google currently monitoring the quality of the pub packages?

Kind regards,
Hendrik Jan van Meerveld

Psephology answered 14/1, 2014 at 19:0 Comment(0)
M
4

You are correct that the quality of packages can vary in Pub or any other pack repo. Here are a few things you could use to evaluate the quality of the packages:

  • Is the package actively maintained?
  • How many active committers does it have?
  • How many people have starred or forked it on GitHub?
  • How much use do you think it is getting? Are there questions about it on StackOverflow or other mailing lists?

To answer your specific questions:

  • You can reasonably expect "Dart team" packages to be supported.
  • There isn't a list of official Google supported packages. Just look for packages supported by the Dart team if you're looking for packages created by members of the Dart project.
  • The Dart project doesn't currently have any way of ranking Pub packages.
Monda answered 14/1, 2014 at 19:39 Comment(4)
Also does the package have tests and what's the code coverage.Diadelphous
Your suggestion to limit (and so limited list of packages) to a few choices. Stars on github? If the package on pub.dartlang.org, I very rarely come on github, only in order to put the star. Because pub.dartlang.org is a primary repository. Also why you nothing to say about the stars on pub.dartlang.org? My be it so hard to implement this very useful feature. About this talked many times ago but nothing done in this direction. This remark, at least, for the lack of proper attention by the Dart Team to main repository of packages pub.dartlang.org.Aleasealeatory
Thanks Shailen. Your answer, together with Pixel Elephant's answer about packages on api.dartlang.org will help me to decide which package feels "safe" to me.Psephology
Tests are definitely important when determining quality. But code coverage? in Dart... well, unless something has changed, that doesn't exist. Which almost makes the tests worthless because you can't easily depend on them. You'd have to read through all the tests and decide for yourself if they were sufficient rather than a quick report that would help you determine if the tests even did anything related to the code for that matter. Be very careful with Dart packages. It's a fast evolving language.Winwaloe
G
4

You can see a list of Dart-team developed packages on the Dart API page. Any package there not prefixed with dart is a library that has been developed and supported by the Dart team. I would definitely prefer a library developed by the Dart Team or someone from Google.

If the source repo for the package is available publicly (e.g. on GitHub), you can view the frequency of commits, and responsiveness of the author to issues/pull requests. For instance, you can easily tell that StageXL is a well maintained library by taking a look at their GitHub: 550+ commits, new commits within the last couple of weeks, accepts code from other contributors, and has almost 50 closed issues.

Bob Nystrom has talked about a ranking mechanism for pub in the past (he recently posted some ranking results that you can see here). Once a ranking system is in place, you will be able to better choose between two XML libraries for instance.

Gargan answered 14/1, 2014 at 19:40 Comment(1)
Sorry, but your ranking results is outdated. Maybe Dart is not growing as rapidly, but measurements made ​​55 days ago is not actual in any way.Aleasealeatory

© 2022 - 2024 — McMap. All rights reserved.