Flutter Package에 대하여
집을 짓는데 벽돌부터 굽는 것은 멍청한 짓이다.
좋은 벽돌을 사서 조립을 할 생각을 해야지
대학시절 전공 교수님이 해주신 말씀입니다.
어떤 개발을 하든 간에 최종 프로덕트에 필요한 모든 기능을 개발자가 한 땀 한 땀 개발하는 경우는 이제 없다는 의미로 하신 말씀이시죠. 실제 현업에서 개발을 할 때도 오픈소스, 라이브러리 등을 활용하여 제품을 만드는 일은 아주x3 흔한 일입니다.
그런 의미에서 좋은 벽돌, 좋은 부품들을 많이 알고 있는 것이 멋진 집을 빠르고 튼튼하게 짓는데 유리하다고 할 수 있습니다!
그럼 어떤 게 좋은 벽돌, 좋은 부품인지 어떻게 알 수 있을까요?
Flutter 패키지를 선정할 때 제가 적용하고 있는 판단 기준에 대해 소개해 보겠습니다.
우선 Flutter의 패키지는 Pub.dev 에서 찾아보실 수 있습니다.
좀 더 나은 패키지를 고르기 위해서 위 이미지에 표현된 정보들을 활용하시는 것이 좋습니다.
Pub.dev에서는 각 패키지 별 스코어(likes, pub points, popularity)를 제공하고 있고, 해당 스코어가 높을수록 더 안정적으로 서비스되는 패키지입니다. 즉 동일한 기능의 패키지라면 높은 스코어의 패키지를 사용해야합니다.
Flutter Favorite 배지가 붙어있다면 Flutter 측에서 ‘앱을 개발할 때 사용하기를 우선적으로 고려해 봐!’라고 권장하는 패키지로, 높은 우선순위에 두는 것이 좋습니다.
참고 : https://docs.flutter.dev/development/packages-and-plugins/favorites
Flutter는 여러 플랫폼을 단일 언어로 개발할 수 있는 프레임워크이기 때문에 각 패키지가 ‘특정 플랫폼을 지원하는 패키지인가’를 꼭 확인하셔야 합니다!
추가적으로 어떤 오픈소스든 Git Issue에 등록된 내용들이 잘 핸들링되고 있는지, 커밋이 지속적으로 발생하고 있는지 또한 체크하는 것이 좋습니다.
좋은 패키지들을 골랐으니 이제 우리의 프로젝트가 순항할 수 있을까요?
그러면 좋겠지만 패키지들이 딱 우리의 니즈에 맞게 동작하지 않거나 버그를 가지고 있는 경우가 존재합니다.
이럴 때 제가 사용하는 방법은 3가지 정도가 있습니다.
해당 패키지 리포지토리를 fork 한 후, 버그가 있는 부분을 수정하여 사용
Git에 Issue를 등록하고 대기…
비교적 간단한 패키지라면 코드를 분석하여 핵심 기능만 떼어 프로젝트에서 직접 개발
어느 것 하나 쉽지 않죠... 그래도 문제가 해결될 수만 있다면 뭐든 시도해 봐야 합니다.
다음 글에선 좋은 벽돌을 고르는 방법으로 선정하여, 실제 프로젝트에서 유용하게 사용했던 몇몇 패키지들에 대해 소개하겠습니다.