Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 981
Hendrik Jan Avatar asked Jan 14 '14 19:01

Hendrik Jan


People also ask

What is pub in Dart?

Pub is the package manager for the Dart programming language, containing reusable libraries & packages for Flutter, AngularDart, and general Dart programs. Some basic command: Use pub get to get dependencies. Use pub upgrade to upgrade a dependency. Use pub publish to make your library available for others.

What is pub Dev?

Pub. dev facilitates the sharing via publication of Dart packages. It is central to this service that consumers of packages can trust that their dependencies do not suddenly disappear. Thus, once a package has been published it cannot be unpublished or deleted.


2 Answers

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.
like image 113
Shailen Tuli Avatar answered Oct 16 '22 21:10

Shailen Tuli


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.

like image 23
Pixel Elephant Avatar answered Oct 16 '22 19:10

Pixel Elephant