查看原文
其他

我们重新设计了 pub.dev,不来试试?

Flutter 谷歌开发者 2021-08-05

作者 / Michael Thomsen (dart 产品经理) 和 Jeremy Sie (Google Developer Studio 视觉设计师)


全新的 pub.dev 网站已经正式上线!新的评分指标能够帮助您更好地了解有价值的 package,并为 package 发布者提供更切实可行的反馈,提升 package 质量。为了帮您找到需要的 package 来支持您感兴趣的平台,我们添加了支持多平台 package 的识别和搜索功能。此外,我们还重新设计了整个网站的界面,沿用了 dart.dev 和 dartpad.dev 网站简洁明快的风格。


  • pub.dev 中文站点
    https://pub.flutter-io.cn/
  • dart.dev 中文站点
    https://dart.cn/

全新网站界面



轻松发现高质量 package


pub.dev 在过去一年里新增了近 7,000 个 package,让您在寻找适合自己应用的 package 时有更多选择。当然,您肯定也希望能够在数量繁多的 package 中快速找到最棒最热门的高质量 package。为了优化 package 搜索结果,我们围绕三个维度重新设计了 pub.dev 评分体系:

发布 package 的三个评分维度

  • 赞 (Likes): 表示有多少开发者喜欢此 package。可以大致评估用户对 package 的整体印象。
  • Pub 分值 (Pub points): 用于衡量 package 质量的全新指标。包含对代码风格、平台支持和可维护性等多个质量维度的评估。详情请见下文。
  • 热门度 (Popularity): 表示使用此 package 的开发者采纳程度。此指标反映了在过去 60 天里依赖此 package 的应用数量。目前采用标准化评分范围: 100% (使用最多的 package) - 0% (使用最少的 package),但我们正在进行研究,探索在未来版本中统计绝对使用计数的可行性。


我们希望这些新维度不仅能够帮助开发者找到需要的 package,同时也可以帮助发布者开发出高质量的 package。



通过 "Pub 分值" 评估质量


"赞" 和 "热门度" 可以展现来源于社区的主观评估数据,而 "Pub 分值" 的目标则是对 package 质量进行尽可能精确、客观的评估。这并非易事: 开发者对质量的评估方式各不相同,但是我们仍然可以对某些核心特征进行评估,供大部分开发者参考。pub.dev 之前的评分模型为基于现存问题进行减分。新评分模型则采用完全相反的方法,即基于以下五个类别进行加分:

包含类别、核对项以及加分项的 Pub 分值概览

  1. 遵循 dart 文件惯例: 遵循 pubspec、readme 和 changelog 文件的最佳做法;
  2. 提供文档: 包括 API 文档和例证;
  3. 支持多平台: 支持尽可能多的 dart 和 Flutter 平台;
  4. 通过静态分析: 提供不包含错误、警告以及通过 lint 工具改进后的代码;
  5. 支持最新的依赖项: 包含支持最新 dart 和 Flutter SDK 的依赖项约束,以及最新 package 依赖项。


我们期望在未来为 Pub 分值添加更多核对项目和类别,从而提高 package 得分的上限。例如,我们计划添加一项分数,用于支持功能启动时的空安全。此外,我们还在探索评估可维护性 (问题和拉取请求响应)、可测试性 (自动化测试覆盖率) 和社区友好度 (贡献者和维护者数量等) 的方法。如果您有更好的评估方法,欢迎与我们分享!

  • 与我们分享
    https://github.com/dart-lang/pub-dev/issues



支持多平台应用


dart 和 Flutter 都擅长创建面向多个平台的应用。在 pub.dev 上,我们针对移动 (iOS 和 Android) 和 web 平台提供了明确的平台标签和搜索筛选器:

搜索中的平台筛选器

为了确保您的 package 标签能够对应正确的平台支持,请遵循 pub.dev 评分帮助页面中的指南。

  • 评分帮助页面
    https://pub.dev/help/scoring


随着网站的进一步完善,我们将针对桌面平台 (macOS、Windows 和 Linux) 添加类似支持。目前,您可以在搜索高级 (Advanced) 选项中找到上述平台的筛选器:

Advanced 筛选器中的桌面平台



简洁明快的设计


dart pub.dev 团队与我们的内部创意团队 Google Developer Studio 通力合作,由 Jeremy Sie 担任主设计师。团队成员集思广益,在更新功能的同时还仔细考量了项目的视觉设计。为了打造以用户为中心、简单流畅的访问体验,我们基于 Google Material Design 系统进行了一系列优化。我们的目标是打造简洁明了的界面,令 package 发布者和用户的使用体验更加清晰顺畅。

  • Material Design 系统
    https://material.io/design/


更新的设计包含卡片、Chip 等 Material 组件,这些组件可以清晰地显示 package 详细信息,并让用户可以更深入了解各个 package 的运行状况。我们还更新了排版系统,改进了整个网站的字体样式,使搜索结果更加明晰,同时改善了 package 信息的显示方式。Package 分数等组件经过重新设计,更加清晰有序,使评分过程更加透明、更容易理解。

  • Material 组件
    https://material.io/components
  • 字体样式
    https://material.io/design/typography/the-type-system.html#type-scale

搜索结果中将显示全部三项评分

我们还对主页进行了优化。我们深知 package 快速搜索功能是网站的核心部分,但是我们仍希望能够将最有用的工具和库展示在页面上,从而提升用户体验。我们在主页添加了 Flutter FavoritesMost popular packages 等部分,以帮助您快速探索一系列高质量 package。我们仔细研究了配色和美术设计,在页面中加入了插图,使代码示例等组件的视觉风格与 dart.dev 和 dartpad.dev 保持一致。

  • dart.dev 中文站点
    https://dart.cn/


即刻体验!


我们诚邀您体验全新的 pub.dev,感受耳目一新的浏览和畅快的搜索体验,使用全新评分维度和 Pub 分值报告。

  • pub.dev 中文站点
    https://pub.flutter-io.cn/


如果您是一位 package 开发者,建议查看您发布的 package 的 Pub 分值,寻找可改进的地方。有关评分系统原理的详细信息,请查看 pub.dev 评分帮助。

  • pub.dev 评分帮助
    https://pub.flutter-io.cn/help/scoring


同样的,我们一直期待您的反馈。请在下方留言评论,或在 Github pub.dev 页面提交您的问题。

  • Github pub.dev 页面
    https://github.com/dart-lang/pub-dev/issues


推荐阅读






 点击屏末 | 阅读原文 | 即刻体验全新的 pub.dev



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存