9Cells

Admin

2020년 9월 14일에 시작.

웹 개발을 하면서 언젠가 만들어본 로직을 다시 만들게 되는 경우가 많습니다. 특히 어드민처럼 관리하려는 리소스에 대한 CRUD를 만드는 경우, 각 리소스별로 거의 비슷한 CRUD 로직을 만들게 됩니다. Admin 프로젝트는 이런 반복적인 것들을 관리하는 패키지입니다.

자동화가 어려운 부분은 커스터마이징을 할 수 있도록 제공합니다. 요구되는 기능을 bottom-up으로 만들면서 재사용 가능한 작은 로직들을 갖춥니다. 커스터마이징을 하더라도 이 패키지가 제공하는 기능들을 조합하여 편리하게 구현할 수 있도록 합니다.

Laravel Nova는 어떨까?

이 프로젝트는 Laravel Nova와 비슷하다고 볼 수 있습니다. 하지만 Nova는 제공하는 틀을 벗어나는 작업이 번거롭다고 판단했습니다. 기본 기능의 변경이 필요한 경우 많은 경우 패키지를 만들어야하고 JavaScript 컴파일이 요구됩니다. 커스텀을 만드는 경우에도 Nova가 스스로 사용하는 방식을 그대로 사용하고 싶을 때가 있지만 관련 방법이 설명되지는 않습니다. 예를 들어, 통계 페이지를 만드는 경우, 통계는 하나의 리소스를 다루는 것이 아니므로 커스텀 페이지를 만드는 게 나을 수 있는데 이렇게 직접 만드는 경우라도 화면을 Nova에서 제공하는 테이블과 비슷한 UI/UX로 제공하고 싶을 수 있습니다. 그러나 일반 리소스 관리 화면에서 사용하는 vue 코드를 이런 커스텀에서 사용하는 것이 쉽지 않았습니다. Admin 프로젝트는 Nova처럼 정해진 틀 안에서 빠른 구현을 할 수 있는 프레임웤이 되기보다, 틀을 벗어나기 쉬워 못만들 것은 없는 프레임웤을 목표로 합니다.

참고