inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

Drift Table 모델 만들기

drift & sqflite

해결된 질문

92

Full Stack 개발자

작성한 질문수 39

0

안녕하세요, 강사님. 강의 잘 듣고 있습니다.
driftsqflite에 대해 공부하다가 궁금한 점이 있어 질문드립니다.

drift는 내부적으로 sqflite를 사용하는 것으로 알고 있는데, 실제 앱 개발에서 driftsqflite를 사용하는 경우가 서버 없이 로컬 저장소만으로 사용하는 경우가 더 많은지, 아니면 서버와 함께 사용하는 하이브리드 구조로 활용되는 경우가 더 많은지 궁금합니다.

예를 들어,

실무에서 개발할 때, 어떤 방식(서버 DB 사용 vs 서버DB + 로컬DB 연동)이 더 일반적으로 활용되는지,
서버DB + 로컬DB 연동(drift, sqflite )하이브리드 구조로 가져간다면 어떠한 상황 이나 앱 또는 웹에서 많이 사용하는지 궁금합니다.

flutter 클론코딩

답변 2

0

코드팩토리

안녕하세요!

단순히 뭐가 많은지 말씀드리면 당연히도 서버와 연동하는 방식이 훨씬 많습니다!

말씀하신 다같이 사용하는 케이스는 보통 로컬 스토리지를 캐시로 사용하는 방식입니다.

즉, 오프라인 지원이나 내부적으로 캐싱해둬야하는 (Draft 기능등?) 기능이 필요할때 같이 사용하는 경우가 꽤 있습니다.

감사합니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. Full Stack 개발자님,

앱 개발 시 driftsqflite 같은 로컬 데이터베이스 솔루션은 일반적으로 간단한 앱에서 많이 사용됩니다. 말씀하신 대로 메모 앱이나 TODO 앱 같은 경우에는 서버와의 연동 없이 로컬 저장소로 충분히 기능을 구현할 수 있습니다.

반면에 업체와 같은 구조에서는 실시간 데이터 동기화가 필요하고 보안이 중요한 요소이므로 서버 기반의 데이터베이스가 일반적입니다. 그러나 서버와 로컬 DB 연동(하이브리드 구조)은 다음과 같은 상황에서 유용할 수 있습니다:

  1. 오프라인 지원: 사용자가 네트워크에 연결되지 않은 상태에서도 앱을 이용할 수 있도록, 데이터가 로컬에 저장되고 네트워크 연결 시 서버와 동기화됩니다.
  2. 빠른 데이터 접근: 로컬 저장소를 이용하면 서버 요청 대비 데이터 접근 속도가 빠르기 때문에 사용자 경험을 향상시킬 수 있습니다.
  3. 데이터 캐싱: 자주 요구되는 데이터의 경우 서버로부터 매번 가져오는 대신 로컬에 캐싱하여 성능을 개선할 수 있습니다.

결국 사용하는 방식은 앱의 요구사항과 사용자의 요구에 따라 달라지게 됩니다. 예를 들어, 항공 앱이나 은행 앱과 같은 경우는 실시간 데이터가 중요한 반면, 오프라인에서도 사용할 수 있어야 하는 뉴스 앱이나 SNS에서는 로컬 DB 활용이 필요할 수 있습니다.

이러한 구조를 설계할 때는 데이터의 일관성 유지와 동기화 로직이 중요한 고려 사항이 됩니다.

추가로 Spring에서의 데이터베이스 초기화 및 마이그레이션 툴 관련 요약이 있으니 추가적 정보가 필요하다면 활용할 수 있습니다:
Spring Boot Database Migration Tool

감사합니다.

198강 (){onTap(e);}의 이해 돕기

0

39

1

video_call 플러그인 설치후 에러 발생

0

47

1

SDK 안드로이드 설치 질문!

0

62

1

코드팩토리 디스코드 링크 다시 부탁드려요~

0

93

1

Webview를 이용해서 URL 상의 페이지 출력 불가

0

71

1

홈스크린 함수를 함축해서 main.dart에 옮기는 문제

0

56

1

플레이스토어

0

60

1

아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?

0

56

1

가이드라인 질문

0

59

0

emulator 에러 환경설정 뭐가 문제 일까요??

0

78

1

emulator 실행 오류

0

95

3

Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련

0

73

1

pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의

0

44

1

setState()를 호출하지 않으면 build가 실행 안되는 건가요?

0

54

1

video_call 플러그인 설치시 에러문제

0

67

1

children 안의 if 문에서 { } 못쓰는 이유?

0

51

1

이렇게 오류가 떠요

0

66

1

AppBar 사용했는데

0

63

2

[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다

0

58

1

StatefulWidget 실습 에러가 발생합니다.[해결완료]

0

65

1

Video Player 프로젝트에 대한 추가 질문

0

54

0

Row위젯이나 column위젯의 위치는 누가 정하나요??

0

43

1

geolocator 오류때문에 개발진행이 불가능입니다

0

64

1

API 관련 이슈

0

89

2