오브젝트 책을 통해서 스터디를 진행하면서 프론트 관점에서의 객체에 대한 개인적인 고민, 생각이 생겨 작성하는 글이다.
개인적인 입장이 강하지만, 반박 혹은 다른 의견이 있다면 환영하는 바이다.
객체지향 페러다임.
프론트 개발을 하다보면 사실 객체지향 패러다임 보다는 함수형 패러다임에 대한 말을 많이 듣게 된다.
하지만, 우리가 개발하는 그 방식이 진짜 함수형인가에 대한 고민을 해볼 수는 있다고 생각한다.
리액트로 개발을 하다보면, 프레임워크가 너무 잘 되어있다는 생각을 버릴 수 없다.
보일러플레이트 (ex, npx create-react-app my-app)같이 한 번에 모든 세팅을 할 수 있는 방법이 너무 많아졌고, AI를 통해 그 방법마저 너무 쉬워졌다.
하지만, 팀 그리고 회사 내부적으로 맞추는 설계 혹은 코드 퀄리티에 대해서는 AI만을 사용해서는 맞추기가 아직은 어렵다는 생각이 많이 든다.
AI를 통해 코드 퀄리티 혹은 작은 범위 안에서의 코드 개선은 좋을 수 있다.
하지만, 내가 아직까지 느낀 AI는 큰 그림을 그려주기에는 부족한 느낌이 들었다.
아직까지 개발자가 객체 지향 패러다임에 대한 이해를 해야하는 이유가 위 내용이기도 하다.
사실상 프론트 개발자들은 객체지향적으로 개발을 해본 경험이 많지 않다고 생각한다.
화면에 보이는 내용은 유저 입장에서 잘 동작만 하면 되기 때문이다.
그럼에도 개발자라는 입장에서는 개발을 잘 하고 싶어한다.
객체지향 패러다임이라고 하더라도, 우리가 개발하는 방식 (컴포넌트)에 대한 내용은 얼마든지 객체와 무관하게 작성할 수 있다.
화면에 보이는 동작은 누구한테도 동일할 수 있지만, 그 동작의 결과 혹은 과정은 커스텀 하는 경우가 많다.
커스텀하게 작성할 수 있다는것이 오히려 객체 지향적인 설계에 가깝다고 생각을 한다.
오브젝트 5장을 보다보면, 캡술화에 대한 내용을 강조하긴 하지만, 개인적으로 5장의 핵심은 Layerd Arhcitecture에 가깝다고 생각했다.
개발을 하다보면 혼자하는 것이 아니기 때문에, 백엔드와의 협업이 필수적이다.
그러다보니 백엔드의 일정이 밀리면 프론트의 일정도 밀릴 수 밖에 없게 된다.
이 방식이 참 마음에 들지 않았다.
사실상 기획, 혹은 만들어야 할 기능이 나왔다면, 우선 가볍게라도 만들고, 시장 반응을 확인하며 디테일을 잡거나 혹은 신규 프로젝트를 진행 할 필요가 있다.
이게 참 안타까웠다.
내가 개발자로 나름 일을 해 왔지만, 프론트 개발자들이 백엔드에 의존적인 성향을 보이는게 너무 아까웠다.
Layer Architecture를 이해한다면 시간은 중요한게 아닐텐데...
런닝을 좋아하는 입장에서 오브젝트 책을 읽다보니 여러 생각이 들긴 한다.
당장 내가 생각하는 이상적인 케이스를 해볼 수는 없더라도, 같은 하늘 아래 개발자로 일을 하고 있다며, 취미가 겹친다면, 한번쯤은 같이 무언가를 하고 있지 않을까라는 생각이든다.
함수형 패러다임이 정말 일반적인 프론트 개발자들한테 좋을까?
일종의 고민 포인트가 될 수 있을 것 같다.
'개발' 카테고리의 다른 글
HTTP 1.1 (0) | 2025.02.02 |
---|---|
SSL (0) | 2025.01.19 |
프론트엔드 개발에 대한 고찰 - 아키텍처 관점 (2) | 2024.12.22 |