본문 바로가기

분류 전체보기248

플러터 - BasicMessageChannel 본 글은 [Do it! 깡샘의 플러터&다트 프로그래밍] 의 내용을 발췌한 것입니다. 책의 모든 내용을 저자 직강으로 진행한 강의는 ssamz.com 에서 들으실 수 있습니다. 플러터 앱에서 네이티브와 연동하는 방법으로 메시지 채널, 메서드 채널, 이벤트 채널을 제공합니다. 먼저 메시지 채널을 살펴보겠습니다. 메시지 채널은 다트와 네이티브 간에 문자열을 주고받을 때 사용합니다. 다트에서 네이티브로 보내기 메시지 채널을 이용해 다트에서 네이티브에 문자열 데이터를 보내는 방법을 살펴보겠습니다. 다트 코드 먼저 메시지 채널을 사용하는 다트 코드를 살펴보겠습니다. 플러터는 BasicMessageChannel 클래스를 제공합니다. 이 클래스를 이용해 네이티브와 연동할 수 있는 채널을 만들고 이 채널을 통해 데이터를.. 2023. 3. 13.
플러터 - GetX로 상태 관리하기 본 글은 [Do it! 깡샘의 플러터&다트 프로그래밍] 의 내용을 발췌한 것입니다. 책의 모든 내용을 저자 직강으로 진행한 강의는 ssamz.com 에서 들으실 수 있습니다. GetX 준비하기 먼저 GetX를 사용하려면 pubspec.yaml 파일의 dependencies 항목에 다음처럼 get 패키지를 등록해야 합니다. dependencies: get: ^4.6.5 GetX를 이용하면서 앱의 루트 위젯을 MaterialApp이 아닌 GetX에서 제공하는 Getmaterial App을 이용할 수도 있습니다. 사실 상태 관리나 종속성 관리를 목적으로 GetX를 사용한다면 GetMaterialApp을 사용하지 않아도 됩니다. GetMaterialApp 위젯은 GetX로 라우팅이나 스낵바, 국제화 기능을 구현.. 2023. 3. 13.
플러터 - Bloc Cubit 본 글은 [Do it! 깡샘의 플러터&다트 프로그래밍] 의 내용을 발췌한 것입니다. 책의 모든 내용을 저자 직강으로 진행한 강의는 ssamz.com 에서 들으실 수 있습니다. 큐빗이란? bloc 패키지를 이용할 때 Bloc를 상속받은 클래스를 작성하고 이 클래스에 이벤트를 주입해 등록된 이벤트로 업무 로직을 실행합니다. 그런데 Bloc 클래스 대신 큐빗cubit 클래스를 이용할 수도 있습니다. Bloc와 큐빗 클래스는 역할은 같지만 동작 방식에 차이가 있습니다. Bloc 클래스는 이벤트 주도 방식이며 이미 살펴본 것처럼 이벤트를 먼저 정의하고 이 이벤트를 Bloc 클래스에 등록하여 위젯에서 Bloc 클래스에 이벤트가 발생할 때 등록된 내용을 실행하는 방식입니다. 그런데 큐빗은 함수 직접 호출 방식입니다... 2023. 3. 13.
플러터 - Provider 본 글은 [Do it! 깡샘의 플러터&다트 프로그래밍] 의 내용을 발췌한 것입니다. 책의 모든 내용을 저자 직강으로 진행한 강의는 ssamz.com 에서 들으실 수 있습니다. 앞서 살펴본 것처럼 Provider()나 Provider.value()로 상태를 등록하고 하위 위젯에서 Provider.of()로 프로바이더의 상태를 이용할 수 있습니다. 그런데 앱의 상태 데이터는 다양한 타입일 수 있으며 여러 개를 등록할 수도 있습니다. 이를 지원하는 다양한 프로바이더를 제공합니다. 변경된 상태를 하위 위젯에 적용하기 — ChangeNotifierProvider 프로바이더를 이용해 상태 데이터를 하위 위젯에서 이용할 수 있지만, 프로바이더에 등록된 상태 데이터는 값이 변경되더라도 하위 위젯이 다시 빌드하지 않으므.. 2023. 3. 13.