Question

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

Was it helpful?

Solution

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.

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top