본문 바로가기
Flutter

[Flutter] 플러터 비동기와 동기 프로그래밍의 이해와 활용

by s_hoonee 2023. 9. 30.
반응형

플러터는 모바일 앱 개발을 위한 강력한 프레임워크 중 하나입니다. 앱 개발 중 비동기와 동기 프로그래밍을 이해하고 활용하는 것은 중요한 스킬 중 하나입니다. 이 블로그 포스트에서는 플러터에서 비동기와 동기 프로그래밍을 어떻게 다루는지에 대해 알아보겠습니다.

 

1. 비동기(Asynchronous) 프로그래밍 이해하기:

비동기 프로그래밍은 작업을 순차적으로 실행하는 대신, 병렬로 실행하여 앱의 응답성을 향상시키는 방법입니다.
플러터에서는 async와 await 키워드를 사용하여 비동기 작업을 수행합니다.
Future와 async 함수를 이용하여 비동기 작업을 처리할 수 있습니다.

예제: 비동기 작업 수행하기
비동기 작업 예제를 통해 실제 코드를 통해 어떻게 동작하는지 살펴봅시다.

Future<void> fetchData() async {
  // 비동기 작업 수행
  await Future.delayed(Duration(seconds: 2));
  print('데이터 가져오기 완료');
}

void main() {
  print('앱 시작');
  fetchData();
  print('앱 종료');
}

 

2. 동기(Synchronous) 프로그래밍 이해하기:

동기 프로그래밍은 작업을 순차적으로 실행하며, 다음 작업은 이전 작업의 완료를 기다립니다.
플러터에서는 동기 작업을 일반적으로 함수 호출을 통해 수행합니다.

동기 작업 예제를 통해 실제 코드를 통해 어떻게 동작하는지 살펴봅시다.

void fetchData() {
  print('데이터 가져오기 시작');
  // 동기 작업 수행
  print('데이터 가져오기 완료');
}

void main() {
  print('앱 시작');
  fetchData();
  print('앱 종료');
}

 

비동기 선택 예시:

1. API 호출: 데이터베이스에서 데이터를 가져오는 API 호출은 일반적으로 비동기적으로 처리됩니다. 이렇게 하면 앱은 데이터를 가져올 때 다른 작업을 수행하거나 화면을 업데이트할 수 있습니다.

파일 다운로드: 파일 다운로드 작업도 비동기로 처리하는 것이 일반적입니다. 이렇게 하면 앱이 다운로드가 완료될 때까지 차단되지 않고 계속 작업할 수 있습니다.