새로운 pub.dev 소개
새로운 pub.dev 소개
고품질·멀티플랫폼 패키지를 위해 재설계했어요.
본문
오늘 우리는 완전히 새로운 pub.dev 사이트를 출시해요. 이 사이트는 잠재적으로 유용한 패키지들을 더 잘 이해할 수 있도록 새로운 점수(스코어링) 지표를 도입하고, 패키지 게시자에게는 패키지 품질을 개선할 수 있는 더 실용적인 피드백을 제공해요. 여러분이 관심 있는 모든 플랫폼을 지원하는 패키지를 쉽게 찾을 수 있도록, 멀티플랫폼 패키지를 식별하고 검색하는 기능도 추가했어요. 그리고 전반적으로 dart.dev와 dartpad.dev 사이트와 일관된, 즐겁고 우아한 경험을 목표로 UI를 재설계했어요.
여러분의 필요에 맞는 최고의 패키지 찾기
지난 1년 동안 거의 7,000개의 새 패키지가 게시되었기 때문에, 앱의 기능을 확장할 패키지를 찾을 때 선택지가 부족할 일은 없어요. 하지만 그렇게 많은 패키지 중에서 고르다 보면 자연스럽게 가장 많이 좋아하고, 품질이 가장 높고, 가장 인기 있는 패키지가 눈에 띄기를 바라게 돼요. 더 나은 패키지 검색 결과를 지원하기 위해, pub.dev의 점수 체계를 세 가지 차원을 중심으로 재설계했어요.
- 좋아요(Likes): 패키지를 좋아한 개발자 수의 척도예요. 패키지에 대한 전반적인 호감도를 원시적으로 보여줘요.
- pub points: 품질을 측정하는 새로운 척도예요. 코드 스타일, 플랫폼 지원, 유지보수성 같은 여러 품질 차원을 포함해요. 자세한 내용은 아래에서 다룰게요.
- 인기도(Popularity): 패키지를 사용하는 개발자 수의 척도예요. 지난 60일 동안 패키지에 의존하는 앱의 수를 반영해요. 정규화된 척도는 100%(가장 많이 사용되는 패키지)부터 0%(가장 적게 사용되는 패키지)까지 범위가 있지만, 향후 버전에서는 절대 사용 횟수를 제공할 수 있을지 조사 중이에요.
이 새로운 차원들이 의존할 패키지를 찾는 패키지 소비자와, 고품질 패키지를 만드느라 바쁜 패키지 게시자 양쪽에 모두 도움이 되길 바래요.
pub points로 품질 측정하기
좋아요와 인기도가 커뮤니티 기반의 주관적인 척도라면, pub points의 목표는 측정 가능하고 객관적인 품질에 가까운 근사치를 제공하는 거예요. 이건 쉽지 않아요. 개발자들은 각자 다양한 방식으로 품질을 인식하지만, 그래도 대부분의 개발자가 우리가 측정할 수 있는 핵심 특성을 찾는다고 믿어요. 기존의 pub.dev 점수 모델은 문제가 있을 때마다 점수를 빼는 방식이었어요. 새로운 점수 모델은 이 접근 방식을 뒤집어서, 다섯 가지 범주의 특성에 따라 점수를 부여해요.
- Dart 파일 규칙 따르기: pubspec, readme, changelog 파일에 관한 모범 사례를 따르기
- 문서 제공하기: API 문서와 설명을 위한 예제 제공하기
- 여러 플랫폼 지원하기: 가능한 한 많은 Dart 및 Flutter 플랫폼 지원하기
- 정적 분석 통과하기: 오류, 경고, 린트(lint)가 없는 코드 제공하기
- 최신 의존성 지원하기: 최신 Dart & Flutter SDK와 최신 패키지 의존성을 지원하는 의존성 제약 조건 갖추기
시간이 지나면서 pub points에 더 많은 검사 항목과 범주를 추가해서, 패키지가 가질 수 있는 점수의 상한을 높일 예정이에요. 예를 들어 null 안전성이 출시되면 null 안전성 지원에 대한 점수를 추가할 계획이에요. 또 유지보수성(이슈·PR 대응 속도), 테스트 용이성(자동화된 테스트 커버리지), 커뮤니티 친화성(기여자·유지보수자 수 등)을 어떻게 측정할지도 조사하고 있어요. 훌륭한 측정 지표에 대한 아이디어가 있다면 우리에게 알려주세요!
멀티플랫폼 앱 지원하기
Dart와 Flutter는 모두 여러 플랫폼을 대상으로 하는 앱을 만드는 데 뛰어나요. pub.dev에서는 모바일(iOS, Android) 및 웹 플랫폼에 대한 명확한 플랫폼 태그와, 이 플랫폼들에 대한 검색 필터를 제공해요.
패키지가 올바른 플랫폼 지원으로 태그되도록 하려면 pub.dev의 점수 도움말 페이지에 있는 안내를 따르세요.
데스크톱 플랫폼(macOS, Windows, Linux) 지원은 좀 더 최종 상태에 가까워지면 비슷한 지원을 추가할 예정이에요. 지금은 고급 검색 옵션 안에서 이 플랫폼들에 대한 필터를 찾을 수 있어요.
우아하고 즐거운 디자인
Dart pub.dev 팀은 내부 크리에이티브 팀인 Google Developer Studio와 협력했고, Jeremy Sie가 메인 디자이너로 참여했어요. 팀은 기능 업데이트와 함께 시각적 디자인을 신중하게 살펴보며 프로젝트에 대한 생각을 나누었어요. 일관되고 접근 가능하며 사용자 중심적인 경험을 제공하기 위해, 우리는 Google의 Material Design 시스템에 기반한 다양한 개선을 적용했어요. 목표는 패키지 게시자와 소비자 모두에게 명확하고 간결한 워크플로를 허용하는 가볍고 간결한 인터페이스를 만드는 것이었어요.
업데이트된 디자인은 카드(card)와 칩(chip) 같은 Material 컴포넌트를 사용해서 패키지 세부 정보를 명확하게 표시하고, 각 패키지가 어떻게 동작하는지에 대한 투명성을 더 높여줘요. 타이포그래피 시스템을 업데이트하고 사이트 전반의 타입 스케일을 개선해서, 검색 결과에 더 큰 명확성을 부여하고 패키지 정보가 표시되는 방식을 개선했어요. 패키지 점수 같은 컴포넌트는 더 명확하고, 점수 산정 과정이 더 투명하고 이해하기 쉽도록 재설계했어요.
홈페이지도 변경했어요. 패키지를 빠르게 검색하는 기능이 사이트의 핵심이라는 걸 알지만, 가장 유용한 도구와 라이브러리를 전면에 내세워 경험을 개선하고 싶었어요. Flutter favorites와 Most popular packages 같은 섹션을 앞쪽에 추가해서, 사용 가능한 최고의 패키지 몇 가지를 빠르게 살펴볼 수 있게 했어요. 색상 팔레트와 아트 디렉션도 면밀히 살펴보고, 일러스트레이션을 통합하고 코드 예제 같은 컴포넌트를 dart.dev 및 dartpad.dev와 시각적으로 일관되게 만들었어요.
오늘 바로 pub.dev를 사용해 보세요
오늘 바로 새 pub.dev의 탐색·검색 경험과, 새로운 점수 차원 및 pub points 보고서를 사용해 보시길 초대해요.
패키지 개발자라면 패키지의 pub points를 확인해서 패키지를 개선할 기회를 찾아보시길 권해요. 점수 시스템이 어떻게 동작하는지에 대한 자세한 내용은 pub.dev 점수 도움말을 참조하세요.
항상 그렇듯이 피드백을 환영해요. 아래에 댓글을 남기거나, pub.dev 이슈 트래커에 이슈를 등록해 주세요.