본문 바로가기

Flutter

(11)
Flutter의 CodePush, ShoreBird Flutter CodePush 솔루션, Shorebird 소개Flutter는 매력적인 UI와 크로스 플랫폼 개발 기능으로 개발자들 사이에서 널리 사용되고 있습니다. 하지만 Flutter 앱 배포의 가장 큰 제한 중 하나는 OTA(Over-the-Air) 업데이트 기능이 부족하다는 점입니다. 네이티브 코드 변경 없이 UI나 로직을 업데이트하는 기능은 React Native의 CodePush와 같은 기술에서 많이 활용됩니다. 이러한 기능이 Flutter 생태계에서 부족했지만, Shorebird는 이를 해결하기 위해 등장한 도구입니다.Flutter와 CodePush의 필요성Flutter로 개발한 앱은 사용자에게 배포된 후에도 지속적으로 업데이트가 필요합니다. 특히, 긴급한 버그 수정이나 작은 기능 추가는 앱 ..
Flutter / Supabse를 활용한 리얼타임 데이터 (web socket) Flutter와 Supabase를 활용한 리얼타임 데이터 기능 구현은, 애플리케이션에 실시간 업데이트를 쉽게 추가할 수 있는 방법 중 하나입니다. Supabase는 Firebase와 유사한 오픈소스 백엔드 서비스로, 실시간 데이터베이스 기능을 지원합니다. 이 블로그 글에서는 Flutter와 Supabase를 연동하여 실시간 데이터 업데이트를 처리하는 방법을 설명하겠습니다.### 1. Supabase 프로젝트 설정우선, Supabase에서 프로젝트를 설정해야 합니다.1. [Supabase](https://supabase.io) 웹사이트에 접속하여 로그인 후 프로젝트를 생성합니다.2. 프로젝트가 생성되면 **API URL**과 **Anon Key**를 복사해 둡니다. 이 정보는 Flutter 애플리케이션에서..
Flutter 인기 라이브러리 - Hive 데이터베이스 Flutter Hive는 Flutter 앱에서 로컬 데이터베이스를 관리하기 위한 빠르고 간편한 방법을 제공하는 패키지입니다. Hive는 데이터를 키-값 쌍으로 저장하고 검색할 수 있는 가벼운 데이터베이스로, Flutter 애플리케이션의 로컬 상태를 유지하거나 오프라인 모드에서 작동하는 애플리케이션을 개발하는 데 사용됩니다.Hive는 빠른 성능과 간편한 사용을 제공하기 위해 고안되었습니다. 그것은 단순한 API와 직렬화 라이브러리를 통해 데이터를 저장하고 검색할 수 있습니다. 또한 빠른 데이터 읽기와 쓰기를 지원하며, 앱이 메모리나 디스크에 대규모 데이터를 저장할 때도 높은 성능을 유지합니다.Hive는 오프라인 데이터 저장, 사용자 설정, 캐시 등 다양한 용도로 사용될 수 있습니다. 또한 Flutter의 ..
[Flutter] Provider로 상태관리 Flutter Provider란 무엇인가요? Flutter Provider는 상태 관리를 위한 라이브러리로서, 특히 Flutter 애플리케이션의 복잡한 상태 관리를 단순하게 만들어줍니다. 이 패키지를 사용하면 위젯 트리 전체에 걸쳐서 데이터를 전달할 필요 없이 필요한 곳에서 데이터에 접근할 수 있습니다. Provider의 핵심 개념 ChangeNotifier: Provider 패키지의 핵심 클래스 중 하나입니다. 이 클래스를 상속하면 상태 변경을 알릴 수 있습니다. 즉, 데이터가 변경될 때 UI를 업데이트할 수 있습니다. Provider: 데이터를 제공하는 클래스입니다. Provider를 사용하여 데이터를 생성하고, 필요한 위젯에서 데이터에 접근할 수 있습니다. Consumer: Provider 패키지에..
Dart / Flutter 에러 핸들링 예외(exception) 예외는 예상하지 못한 일이 발생했다는 것을 의미하는 에러입니다. 예외가 캐치되지 않았다면, 예외를 발생시키는 isolate가 지연된 상태이고 보통 해당 isolate나 프로그램이 종료됩니다. Dart는 미리 정의된 다양한 서브타입과 함께 Exception과 Error 타입을 제공합니다. 원하는 예외를 정의하는 것도 가능합니다. 그러나 Dart 프로그램은 Exception이나 Error 객체 이외에도 모든 non-null 객체를 예외로 발생할 수 있습니다. throw 예외를 throwing 또는 raising합니다. throw FormatException('Expected at least 1 section'); // 임의의 객체도 throw 할 수 있습니다. throw 'Out o..
Dart / Flutter 조건문 (Branches/분기) 1. if Dart는 선택적 else 절이 있는 if 문을 지원합니다. if 뒤의 괄호 안 조건은 부울로 평가되는 표현식이어야 합니다. if (isRaining()) { you.bringRainCoat(); } else if (isSnowing()) { you.wearJacket(); } else { car.putTopDown(); } 2. if-case Dart if문은 패턴이 뒤따르는 case 절을 지원합니다. 패턴이 값과 일치하면 실행됩니다. 만족하지 않으면 else 분기로 진행합니다. if (pair case [int x, int y]) { print('Was coordinate array $x,$y'); } else { throw FormatException('Invalid coordinates..
Dart / Flutter 반복문 (Loops) 1. for 반복문 다음과 같은 방법으로 기본적인 반복문을 실행할 수 있습니다. var message = StringBuffer('Dart is fun'); for (var i = 0; i print(i)); } for (final c in callbacks) { c(); } // 0 // 1 Dart에서는 기대한대로 0과 1을 출력합니다. 반대로 ja..
Flutter 시작하기 1. Flutter 설치하기 Flutter 설치 페이지에서 Flutter를 다운로드! 해당 페이지의 안내대로 Flutter를 설치하면 됩니다. Flutter를 잘 설치했는지 확인하기 위해 cmd 또는 terminal에서 flutter doctor 를 입력해봅시다! 만약 문제가 발생했다면 해결하고 진행하는 것이 좋습니다. 2. IDE 설치하기 Flutter를 개발할 에디터를 설치합니다. 보통 Visual Studio Code 또는 Android Studio를 사용합니다. Visual Studio Code 설치 Android Studio 설치 Visual Studio Code를 사용한다면 extension에서 Flutter와 Dart를 설치해줍니다. Android Studio를 사용한다면 Plugins에서 ..