프론트엔드 개발
프론트엔드 개발은 현재 벡엔드 CMS인 드루팔과 워드프레스 기준으로 주로 TWIG 템플릿, JS, CSS(에셋)로 작업하고 있습니다.
장점
- 전역 에셋으로 작성하기 때문에 해당 프로젝트 전용으로 빠르고 가볍게 작업을 진행할 수 있다는 장점이 있습니다.
- 백엔드 개발자는 템플릿 시스템에 맞춰서 에셋을 로드하고 그 관리 규칙에 따라 마크업을 분리하는 등 프론트 개발자가 구현한 UI가 제대로 동작할 수 있도록 지원합니다.
단점
- 엄청 빠르게 찍어내는 듯한 겉보기와 다르게 실제 작업에 들어가면 결국 PHP 프레임워크 안에서 작업하기 때문에 프론트 개발 시 CMS API 지켜야하는 단점이 있습니다.
- 지금의 작업 속도를 위해서 희생하는 설계와 정리 작업 없이 프로젝트마다 계속해서 반복적인 코드를 작성해야 하고 재사용하기 어렵다는 단점이 있습니다.
- 잘 정리된 컴포넌트로 진행하는 headless 프로젝트와 비교하여 작업 속도가 충분히 빠른건지도 확인할 수 없습니다.
서로 다른 관심사
오류나 오동작이 발생하는 경우에도 이런 어색한 상황이 이어지는데 우선 원인을 파악하는데 시간이 걸리는 것이 서로 관심사가 전혀 다르고, 둘 중 누구도 완벽히 지배하고 있지 못하기 때문입니다.
[백엔드]: 난 데이터 다 넘겨줬고, 필요한 에셋을 해당 화면에 노출하게 해줬으면 끝인데, 왜 자꾸 나한테 뭐가 안된다고 하는거지? 그건 UI 구현에 문제가 있는거 아닌가?[프론트]: 작업 완료 결과물에서 테스트하면 부드럽고 아무런 문제없이 동작하던 UI가 왜 여기에 넣고 나면 오류가 발생하는지 모르겠네. 그리고 이게 내 책임이라는거임? 하.. 계속 이렇게 해야하나?