라라벨은 제3자 패키지가 많은게 장점이다. 패키지를 잘 활용하면 생산성과 코드 품질을 높일 수 있다. 하지만 패키지를 잘못 선택하면 패키지가 오작동하거나, 혹은 이를 다른 것으로 교체하느라 고통을 겪을 수도 있다.
이 글에서는 8 Questions For Choosing Laravel Package 라는 동영상에서 소개한 패키지 선별을 위한 질문을 정리했다.
어제 업데이트 된 패키지가, 일년 전에 업데이트 된 패키지 보다 낫다. 오랫동안 업데이트되지 않은 패키지는 이미 버려진 패키지일 가능성이 높다.
문서화가 잘 되어 있지 않으면 우선 설치하고 사용하는 것 부터 어렵기 쉽다. 라라벨이 인기를 끈 것도 문서화가 잘 되어 있는게 한 몫 했다.
아무래도 다른 패키지를 만들고 유지보수 한 경험이 있는 개인 혹은 팀이 만드는 패키지가 더 신뢰가 가기 마련이다. 실력도 실력이지만 꾸준히 관리할 수 있는 사람 혹은 팀인지 파악할 필요가 있다.
당연한 이야기이다. 아무리 좋아도 쓰지 못하면 소용이 없다.
흥미로운 평가 방법이다. 이슈의 갯수가 많은 것도, 해결된 이슈가 많은 것도 모두 긍정적인 신호로 해석할 수 있다.
높다고 꼭 좋은 패키지인건 아니지만 높을수록 좋은 패키지일 가능성이 높다.
내 경우엔 모던 PHP 유저 그룹 사람들이 추천해주는 것들은 대부분 유용했다.
필요한 건 의외로 간단한 기능인데, 패키지는 너무 크고 복잡할 때가 있다. 패키지 사용법을 익히느라 생산성이 떨어질 수도 있다. 그리고 의존성이 생기는 것이기 때문에 라라벨이 업데이트되거나, 패키지가 업데이트 될 때 귀찮은 일이 발생될 가능성이 있다.
질문 목록을 읽고 정리해보니 핵심은 ‘이 패키지가 꾸준히 탈없이 내 문제를 해결해줄 수 있을 것인가?’인 것 같다. 지금 당장 문제를 해결해주는지만으로 판단하기 보다는 장기적으로 귀찮은일이 안 생길 것인지까지 고려해서 판단하면 확실히 더 나은 판단을 할 수 있을거라 생각한다.
위의 질문 목록에 순서가 있으면 더 좋을 것 같다. 내가 생각하는 순서는 아래와 같다.
1~3번 질문은 이들 중 하나라도 ‘no’가 나오면 즉각 검토를 중지할 만큼 중요한 사항들이라 생각한다. 우선 필수요소를 검토하고(1~3), 평판을 확인한 후(4), 오랫동안 문제 없이 쓸 수 있을 것인지(5~7) 검토하는 순서랄까?
2019년 7월 5일
1일 1식 라라벨
메쉬 코리아 개발자. 바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서를 쓰고, 클린 아키텍처 인 PHP를 번역했습니다. 처음부터 제대로 배우는 라라벨(Laravel Up & Running 2nd Edition)을 번역했습니다.