알파피플 앱

✨ API endpoint

김기범, Flutter at Alphapeople 김기범  

plumbing 작업부터 하셔야 할것 같아서, 
GraphQL endpoint를 배포했습니다.

<GraphQL>
https://demo.alphapeople.me/gql

<GraphQL Playground>
https://demo.alphapeople.me/gql/playground


현재 getTime  이라는 query 와


addCnt 라는 mutation 이 있습니다.



ps. 현재는 HTTP 기반인데, 추후 WebSocket 으로 변경할 예정입니다.

Comments & Events

김기범, Flutter at Alphapeople
넵 감사합니다! 연동 테스트에 참고하겠습니다👍
김기범, Flutter at Alphapeople
오 네 참고하겠습니다. graphql_flutter 메이저 버전을 업데이트 하지 못하게 되면 추후 이슈가 없을지 체크해봐야겠네요.
이재철, Backend at Alphapeople
query, mutation 은 HTTP 로 
subscription 만 WebSocket 으로 하는게 일반적인거 같네요.

flutter 쪽에서는 (1) 일반적인 방법 (2) 모두 WebSocket 중 어느 쪽이 더 편한지 알려주세요.
이재철, Backend at Alphapeople
4.0.1 이 null safety 도입 전의 라이브러리던데, 현재 Dart에서도 쓸순 있겠죠?
이재철, Backend at Alphapeople
4.0.1 으로 고정시 의존성 때문에 flutter 개발이 머리 아파지는거 같군요..

채팅 부분은 GraphQL 말고, Phoenix Channel 을 써도 될것 같아서 검토 중입니다.
https://pub.dev/packages/phoenix_socket/versions
김기범, Flutter at Alphapeople
graphql_flutter 4.0.1이 null-safety 지원 안하는건 좀 치명적이네요..
4.0.1은 4년 전 버전이라, 채팅이 중요한 저희 서비스에서는 선택하기 어려운 옵션 같습니다 🤔

우선 채팅은 WebSocket 기반으로 검토해주시면 좋을 것 같고, 일반적인 방식으로 가는 것이 좋을 것 같습니다:
- query, mutation (HTTP)
- subscription (WebSocket)
김기범, Flutter at Alphapeople
혹시 Phoenix Channel 을 따로 검토 중이신 이유가 있을까요?
가능한 유지보수가 활발하고 많이 사용하는 Flutter 플러그인을 사용했으면 해서요!
이재철, Backend at Alphapeople
1. graphql_flutter 5.0 : Elixir GraphQL 서버(Absinthe)와 호환이 안됩니다.

2. phoenix-socket: Phoenix Channel 은 실시간 통신(ex. 채팅)을 위한 Elixir 생태계에서는 거의 표준이라고 보시면 됩니다.
Flutter 라이브러리 업데이트도 최근까지 되고 있네요. Null-safety 도 적용되어 있고, Phoenix Channel 은 표준화가 끝난지도 오래라 안정적일것 같습니다.

https://github.com/braverhealth/phoenix-socket-dart/tree/master/example
여기에 flutter 와 elixir 양쪽 모두를 위한 예제도 있어서 초기에 참고하기 좋을 듯 합니다. 제가 저거 elixir 쪽 참고해서 넣어보려고 합니다.
김기범, Flutter at Alphapeople
네 변경 가능성이 그렇게 큰 프로토콜이 아니라면 phoenix channel을 적용해보도록 하겠습니다.
이재철, Backend at Alphapeople 👍