단적인 예로 상태관리 때문에 그럼.

비유하자면 마크업이 어떤 사이트의 외적인 것 즉, 가죽이라면 

프론트엔드 개발자가 하는 일은 거기에 생명을 불어 넣는 일이라고 보면 됨. 


단순히 백엔드에서 데이터 받아서 화면단 적재적소에 분배하는 것 뿐만 아니라, 

그 데이터들을 받아서 복잡한 UI 구성 + 비즈니스로직 + 사용자와의 상호작용을 고려해서 생명주기에 맞게 작동하게 해야함.

UI나 요구사항이 복잡해질수록 이 과정이 빡세짐. 


즉 위의 비유로 다시 설명하면, 프론트 개발자는 퍼블리셔가 만든 외양에 뼈대를 구축하고 혈액이 돌게 만드는 일임.


이 과정에서 순수 구현에 있어서는 어쩌면 백엔드 개발자보다 더 신경쓸게 많을 수 있음.

물론 백엔드, 프론트엔드 각각의 비중에 따라 달라지긴 하겠지만.

백엔드가 복잡한 비즈니스 로직에 의해서 구현 난이도가 높아진다면

프론트엔드는, 백엔드보단 비즈니스 로직을 덜 다루긴 하지만, 앞서 말한 UI, 사용자와의 상호작용, 상태관리 등이

합쳐져서 나름의 복잡함을 만듦.


프론트엔드는 라이브러리 가져다 쓴다는거 언급하면서, 백엔드는 어려운거 죄다 직접 구현하는 줄 아는 병신 프붕이들도 있긴하지만

백엔드도 생각보다 포멀한 부분, 정해진 양식이 많고 가져다 쓰는 것도 많음.

즉 개발자의 구현 난이도에 있어서는 프론트가 더 빡셀 수 있는거임.


ㅇㅅㅇ