GraphQL Apollo

HyosikPark·2020년 9월 21일
2

graphql

목록 보기
2/8

Frontend? Backend?

mern stack을 이용해 간단한 쇼핑몰을 제작해보면서 웹 제작의 전체적인 흐름을 이해하게 되었다. 원래는 frontend를 목표로 공부를 했지만 기능적인 부분을 만드는 것이 더 재미있고 UI요소를 개발하기 위해 많은 시간과 코드를 할애하는 것이 답답하게 느껴지는 것이다. 그래서 어느 분야를 더 중점적으로 기술을 넓혀갈지에 대해 굉장히 많은 고민을 하게 되었다.

Redux, RestAPI

쇼핑몰을 제작할 때에 Redux를 통한 상태관리와 RestAPI로 서버와 통신하는 과정을 통해서 기능을 구현하는 것이 재미있기는 했으나 Redux는 작은 부분에 변화를 줄때에 조차 너무 많은 코드가 필요하다는게 그다지 마음에 들지 않았다. 그리고 Rest API통신과 함께 사용할 때에 더욱 복잡해지는것이 나를 상당히 피로하게 만들었다.

GraphQL, Apollo

그러던 중 GraphQL이라는 것을 알게 되었는데 특히 Apollo는 Redux의 웬만한 부분은 대체할 수 있고 Rest API도 거의 필요하지 않아 코드의 양을 상당히 줄일 수 있다는 것이다. 또한 기존에 공부해오던 MERN과 더불어 활용하기 좋다고 하니 나에게 딱 필요한 것이라고 느꼈고, 당장 배워보기 시작했다.

Typescript..?

하루동안 mongodb와 함께 apollo server를 만들고 로그인 기능을 구현해보면서 적응하느라 진이 다 빠졌다. 예전에 잠깐 typescript를 활용해서 react-redux 프로젝트를 해본적이 있는데 javascript로 개발에 입문한 것에 더불어 작은 프로젝트만 해봤기 때문에 typescript는 코드의 양만 늘이고 불편함만 더해준다는 인식이 강하게 남아있었다. 하지만 많은 숙련된 개발자들이 type의 필요성을 강조하였기 때문에 언젠가 배워야겠다고만 생각하고 있었다. 그런데 graphql은 type 선언이 필수이다 보니 typeDefs와 resolvers의 관계를 이해하는데에 많은 어려움이 있었다. 하지만 오히려 type 선언과 익숙해지는 좋은 기회가 될 것이라고 생각해서 더 만족스러웠다.

하루동안 사용해보면서 느낀점

아직까지는 login기능을 구현하는데에만 그쳤고 graphql보다는 Type선언을 공부한 느낌이어서 좋다 나쁘다라고 표현할 수가 없다. 그저 type선언이 추가된 불편함만 느끼고있다.... 좀 더 익숙해지고 나서 빨리 MERN + G 프로젝트를 진행해보고 싶다!

처음 블로그를 써보면서 느낀점

개발에 독학으로 입문한지 3개월 채 되지 않았지만 좀더 일찍 써볼걸 하는 아쉬움이 든다. 많이 배웠던 것들은 정리를 해뒀지만 글로 흔적을 남겨두는 것은 또 다를텐데! 무엇보다 글을 써보면서 느낀점은 내 용어들이 너무 허졉하다는 것이다ㅠㅠ 좀 더 개발자스럽게 객체 반환 등의 표현을 자유자재로 구사하고 싶지만 정확한 표현이 맞는지도 모르겠다.. 기초가 부족한 탓일까..? 살짝 현타가온다..

0개의 댓글