태그: #firebase, firestore, messenger, persistence, 카톡
- This topic has 5개 답변, 2명 참여, and was last updated 4 years, 4 months 전에 by 야곰.
-
글쓴이글
-
-
Matthew So참가자
- 글작성 : 2
- 답글작성 : 3
안녕하세요:)
현재 Firestore로 간단한 메신져 앱을 개발 중입니다.
필요한 view controller가 로드 될 때 마다 snapshot listener로 데이터를 받아서 채팅창이나 tableView에 들어갈 값을 populate하고 있는데요, 어떻게 하면 카톡처럼 데이터를 항상 유지할 수 (아니면 최소한 유지하는 것처럼 보이게 할 수) 있을까요?
listener로 데이터를 받으면 아무리 짧더라도 로딩 시간이 필요한데, 카톡은 항상 자료가 유지 되는 것처럼 보입니다.
특정 코드가 안되거나 하는 게 아니라 따로 자료를 올리지는 않았습니다.
아낌없는 조언 주시면 감사 드리겠습니다!
- 이 게시글은 Matthew So에 의해 4 years, 4 months 전에 수정됐습니다.
2020-08-06 오전 6:53 #28041 -
야곰키 마스터
- 글작성 : 37
- 답글작성 : 579
카톡같은 앱들은 서버에서 받아온 자료를 계속해서 로컬에 남겨둘 수 있도록 로컬 데이터베이스를 갖고있을겁니다.
그래서 채팅방에 들어가면 처음에는 로컬DB 내용을 불러오고, 그러면서 네트워크를 통해 서버에 요청하죠. 그리고 서버에서 응답이 오면 그 내용을 테이블뷰에서 업데이트 할테고요.
제가 Firestore를 뜯어보지 않아서 잘 모르겠는데요, 만약 Firestore가 로컬DB를 갖고있으면서 증분만 서버에서 받아오는 형태라면 크게 무리가 안될 것 같아요. 그렇지 않고 매 번 채팅방 화면에 진입할 때마다 서버에서 받아오는 형태라면 더 좋은 방식을 모색해 봐야하지 않을까합니다.2020-08-06 오후 3:22 #28057 -
Matthew So참가자
- 글작성 : 2
- 답글작성 : 3
안녕하세요 야곰님
제가 2년 전 독학 시작했을 때 처음 접했던 강의가 인프런의 야곰님 강의였는데 이렇게 답변까지 받게 되고 영광입니다:) 야곰님 강의 보고 재미있게 코딩 공부 시작할 수 있었고, 소소하지만 앱도 2개 출시 했습니다. 감사합니다!
올려주신 답변 잘 봤습니다. 아래 추가 질문이 생겼는데 괜찮으시다면 조언 부탁 드릴게요
- 로컬DB가 사용자의 local storage, 예를 들면 User Defaults같은 걸로 이해하면 될까요?
-
서버에서 ‘증분’만 받아오는 형태를 말씀해 주셨는데요, 서버 iterate 필요 없이 서버가 갖고 있는 데이터의 변동이 있을 경우에만 다시 자료를 받아오는 것 – 이라고 이해가 됩니다. 맞을까요? 앞서 여쭤봤던 로컬 자료로 로딩 없이 일단 UI 를 먼저 update하는 것도 중요하지만, 또한 동시에 서버 과금도 최대한 줄이는 것도 절실하기 때문에 염치 불구 또 질문 드립니다. 서버 통신을 최대한 줄이고 싶어서요ㅜㅜ
감사합니다:)
2020-08-06 오후 5:24 #28118 -
야곰키 마스터
- 글작성 : 37
- 답글작성 : 579
제가 영광이지요. 독학해서 앱을 만든다는 것이 정말 어려운일인데, 대단하십니다!
- UserDefaults는 복잡한 데이터를 다루기엔 좀 부적합합니다. CoreData 혹은 SQLite 등의 데이터베이스를 사용하는 것이 일반적입니다.
- 이거는 라이브러리 혹은 서비스를 제공하는 쪽에서 지원해줘야 하는 것이므로, 서버를 직접 구현하는 것이 아니라면 선택권이 없다고 봐야하는게 맞지 않을까합니다. 아마 구글정도면 그렇게 하겠지만… Firestore가 증분만 싱크하는지 알아보셔야 할 것 같아요 🙂 로컬 캐싱을 하는지도요.
2020-08-06 오후 9:45 #28125 -
Matthew So참가자
- 글작성 : 2
- 답글작성 : 3
답장 감사 드립니다!
Core data를 시도해 보겠습니다. 그리고 파이어스토어의 로컬 캐싱이나 증분만 싱크하는지 여부도 확인하겠습니다.
제게 딱 필요했던 조언이었는데, 야곰님은 항상 핵심을 알려주시는 것 같아요:)
궁금한 것 생기면 또 오겠습니다!
2020-08-06 오후 10:15 #28127
-
-
글쓴이글
- 답변은 로그인 후 가능합니다.