아폴로 쓰시는 분들 URQL로 다 갈아엎으십셔... 테스팅 겁나 힘드네요 참 ㅋㅋㅋㅋ
# 잡담
h
아폴로 쓰시는 분들 URQL로 다 갈아엎으십셔... 테스팅 겁나 힘드네요 참 ㅋㅋㅋㅋ
p
Urql이 어떤 점에서 더 좋나요?
h
더 가볍고 테스트하기 쉽고 잘 짜여 있어요
장점 나열하면 정말 많이 나열할 수 있는데... • 일단 기능이 확실하게 좋고, 모두 opt-in-out 이 가능하고요 (아폴로는 그냥 다 때려밖혀 있음) • 구현이 훨씬 깔끔하고 테스트하기 쉬워요 • 많이 가벼워요. 기능 최소한으로 쓰면 7.6kb 수준이고 완전히 side-effect free 라서 그 이하로 쓸 수 있어요. • exchange를 끼워서 기능을 확장하는데 populate cache 라는 강력한 유틸도 있고 서스펜스도 지원하고 등등....
제일 중요한건 버그가 적습니다
아폴로 클라이언트는 진짜 끔찍할정도로 버그가 많아요
apollo 1
😂 1
지금 테스팅 힘들다고 한것도 아폴로 테스팅 라이브러리 버그 때문이였고.... 허허;
그리고 아폴로 인터페이스 이상해요 너무 over exposed 되어있음
아 그리고 urql 이 문서도 더 친절해요
끝도없네 그냥 모든 방면에서 더 낫습니다
p
후.. 아폴로 버리고 릴레이로 갈지 urql로 갈지 고민되네요 아폴로에서 배치 쿼리나 Persisted Query 이것도 exchange로 따로 만들어야할까요
h
배치는 모르겠네요 커뮤니티 찾아보면 뭐 있을법한데 직접 만든다고 해도 그렇게 어렵지 않아요
persisted query 는 있고요
apollo 배치는 비표준 쿼리니까 ㅎㅎ.....
p
아 @defer, @stream urql에서 지원하나요?
h
그냥 아폴로 서버랑 같이 갖다 버리시죠
p
ㅋㅋㅋㅋㅋ 그럴까요
h
네 그건 당연히
는 잠깐만요
defer & stream 은 지금 릴레이만 지원하나
아폴로 서버도 참 여러모로 이상한 물건인데...
전 버리는게 속편하더라고요
p
서버는 뭐 쓰시나요?
아폴로 3.5부터 defer, stream 지원한다는대.. 어려운건 아니니 urql에 그냥 exchange 하나 만들어서 쓸 수 있으면 써봐야겠네요
h
전 지금은 apollo 긴 한데 ㅋㅋㅋㅋㅋㅋㅋㅋ 좀 전엔 mercurius 썼었고
속마음은 node를 탈출하고 싶습니다
아 하나 더 있다 Urql Devtools 도 더 좋아요
Apollo DevTools 는 너무 느리고 버그 많아서 캐시 디버깅할때 뒤집어질 뻔
p
오 그건 혁신적이네요 ㅋㅋㅋㅋ
아폴로 개발자도 DevTool 안쓰고 콘솔로그 쓴다는..
h
어잉? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
p
근데 GraphQL 생태계에서 백엔드는 노드쪽이 가장 크지 않나요?
h
툴링에 한정하면 그런데요
프레임워크는 그렇지 않습니다
되려 노드쪽에 쓸만한 프레임워크가 없고... 다른 언어 보면 굉장해요
p
아 생각해보니 Dgs나 graphql ruby같은게 있네요
h
(다른 언어는 언어 통합 포인트가 JS 보다 월등히 많기 때문에 애초에 툴링이 그렇게 필요하지 않았을 수도)
네 Dgs 이전에도 JVM GraphQL 생태계 거대하고요
GraphQL Java, GraphQL Kotlin, Sangria, Caliban...
Node 쪽에선 이런거 못찾아요
하나 있었는데 접었죠
GraphQL Yoga 라고....
p
앗 아아..
h
지금은 ORM 장사하고 계신 그... 쪽에서
예전에 GraphCool 일떄 만들다가 접은게 있긴 합니다만
파이썬은 그래핀 있고, 고도 gqlgen 있죠
엘릭서 쪽에도 있고
루비는 말할것도 없고
지금 언급한애들이 다 데이터 모델이 이미 통합되어있거나 통합하기 어렵지 않아서 빠르게 뭐 만들때 괜찮아요
p
Rust는 좋은 프레임워크 없나요
h
봤던거같기도
예전에 채널에 함 공유했었네요
p
시간날때 Actix에 붙여서 써봐야겠네요 ㅋㅋㅋ
h
오우 후기 부탁드릴게요
👍 1
사실 굳이 따지면 node 도 있을거 다 있는데
이쪽은 아키텍처랄게 없어서
(그렇다고 Nest 같은걸 끼얹자는 얘기는 아님)
p
노드쪽은 Typegraphql 이랑 많이 쓰는거 같더라고요
h
graphql-ruby 수준의 무언가가 나오면 편할거같긴하네요
아 전 그거 굉장히 싫어함 ㅋㅋㅋ
p
ㅋㅋㅋㅋ 프로덕션 레벨에서 쓰긴 해서 썼는데 불편함이 후..
h
데코레이터 표준도 아니거나와
ES 데코레이터가 자바 어노테이션 만큼 할 수 있는게 많았으면 몰겠으나
좀 아닌거같습니다... 괜히 다 클래스로 만들어서 타입 다루기도 불편해지고
타입이랑 하등 상관도 없는데 그냥 ObjectGraphQL 이라고 하지 허허
p
Typegoose나 TypeORM 처럼 데코레이터가 타입추론 가능해서 붙인건가 싶기도 하네요 ..ㅋㅋ
u
👂가 얇아서 urql 함 써보기로… ㅋ