Programming/Flutter(28)
-
[Flutter] Provider로 비동기 통신을 하여 FutureBuilder를 대체하기
저번에 작성한 FutureBuilder에 대한 연장선에 있는 글이다. 비동기 처리에 익숙하다면 당연한 내용이기도 하다. 이번에는 FutureBuilder를 사용하여 비동기 처리를 했던 코드를, Provider로 분리하여 작성하는 방법에 대해 살펴보자. Provider를 사용하여 FutureBuilder를 대체하는 이유가 있을까? FutureBuilder를 사용해서 Widget의 초기 상태값을 결정할 때는 다음과 같은 문제점이 있다. FutureBuilder의 builder에서는 항상 비동기 처리에 대한 결과값으로, Widget을 반환해야 한다. 즉, 비동기 처리가 진행되는 동안 프로그레스 바를 띄운 뒤 다른 Widget으로 이동하려고 한다면, 렌더링과 관련해서 문제가 생긴다. 비동기 처리에 대한 로직이 ..
2021.03.25 -
[Flutter] FutureBuilder를 사용해서 비동기 처리에 따라 표시되는 위젯을 구성하자.
Async/await 키워드를 사용하여 비동기를 처리하는 건, 직관적으로 코드를 작성하는 데 몹시 중요하다. 그렇다면 Widget을 생성할 때, 초기 상태로 불러올 데이터가 비동기적인 처리를 거쳐야 할 때는 어떻게 해야할까? 여기서 FutureBuilder가 등장한다. 간단하게 설명해서 FutureBuilder는 비동기적인 처리를 진행하고, 결과에 따라 표시할 Widget을 반환해준다. FutureBuilder에 대한 자세한 명세는 공식 문서를 참조하도록 하자. class Sample extends StatelessWidget { @override Widget build(BuildContext context) { return FutureBuilder( future: SharedPreference.getI..
2021.02.24 -
[Flutter] Dart:io 패키지를 사용한 Http 통신 구현 및 주의점
이 글은 dart:io library를 참조하여 작성되었습니다. 만약 문제가 발생하는 경우, 다트의 버전을 확인해주세요. dart:io 패키지를 사용하면 Http 통신을 구현할 수 있습니다. 아마 좀 더 쉽게 HTTP 통신을 할 수 있는 패키지를 사용할수도 있겠지만... 요번에는 dart:io패키지를 사용하여 HTTP 통신을 구현하는 방법과 주의해야할 사항을 정리합니다. Dart:io library를 사용한 Http 통신 구현 dart:io library 페이지를 살펴보면 다음과 같은 내용을 발견할 수 있습니다. HttpServer and HttpClient The classes HttpServer and HttpClient provide HTTP server and HTTP client function..
2021.02.04 -
비동기(Asynchronous)와 async/await, 그리고 여러개의 await에 대한 비동기 처리(Future.wait/Promise.all)
비동기(Asynchronous)에 대해 알아봅시다. 당신은 새로 들어온 직원 A군의 사수를 담당하게 됐습니다. A군이 일을 얼마나 잘 하는지 가늠이 안되는 와중에, 꽤 복잡한 일을 맡기게됐습니다. 당신은 A군이 일을 얼마나 잘 처리했는지 확인하고싶지만, 당장 맡은 일이 바빠서 신경 쓸 겨름이 없어요. 결국 당신은 A군에게 일을 맡겨놓고, '다 끝나면 나한테 말해줘요. 그거 끝나고 뭐 해야하는지 알려줄께요.'라고 말합니다. 그리고 다시 업무로 복귀한 당신. 와! 당신은 지금, A군과 비동기적으로 일하고 있어요! 비동기적으로 일한다는 건 특정 시점으로부터 하나의 작업이 완료될 때까지는 신경쓰고 있지 않다가, 그 작업이 완료되면 처리한 결과를 가지고 계속해서 진행하겠다는 의미입니다. 뭔가 문장이..
2021.01.29 -
플러터(Flutter) 사용시 참고할만한 사이트
이 페이지는 계속해서 업데이트 될 예정입니다. (아마?) Flutter Gems 플러터에서 사용할 수 있는 패키지가 카테고리별로 분류되어있는 페이지. 정말 유용하다. 어떤 패키지인지 간단한 썸네일로도 표시되기때문에, 간단히 찾아서 사용하기 좋다.
2021.01.04 -
UDP 라이브러리를 통해 Flutter(Dart)에서 브로드캐스팅을 해보자
UDP 라이브러리를 통해 Flutter(Dart)에서 브로드캐스팅을 해보자 pub.dev에 등록된 라이브러리 중 UDP 라이브러리를 사용하면, 플러터에서도 쉽게 브로드캐스팅이 가능하다. UDP 라이브러리 페이지를 확인해보자. 인스톨 페이지에 나와있는대로 pubspec.yaml의 dependencies에 udp라이브러리를 등록하고, flutter pub get을 입력해주자. 라이브러리가 설치될 것이다. dependencies: udp: ^3.0.3예제 페이지에 나와있는대로, example/udp_example.dart를 확인해보면 쉽게 브로드캐스팅이 가능하다는 것을 알 수 있다. import 'dart:io'; import 'package:udp/udp.dart'; main()..
2020.11.30