flutter – 푸시노티피케이션, onesignal

Push Notification 개요 Push Notification은 서버에서 클라이언트로 정보를 즉각 전달할 수 있는 알림 메커니즘입니다. 사용자 경험을 향상시키고 앱의 재방문율을 높이는 데 효과적입니다. 푸시 알림의 주요 특징은 사용자 디바이스가 네트워크에 연결된 상태에서 언제든 알림을 받을 수 있다는 점입니다. 주요 용도: Firebase Cloud Messaging (FCM) Firebase Cloud Messaging은 Google이 제공하는 무료 Push Notification 서비스로, 다음과 같은 특징을 … Read more

flutter – flavor

Flavor란? 왜 Flutter에서 Flavor를 사용하는가? Android Flavor 설정 방법 iOS Flavor 설정 방법 Project > Info 에서 Configurations을 설정합니다. 기본적으로 Debug, Release, Profile이 되어 있는데, 여기서 원하는대로 설정을 변경해주시면 됩니다. 적당한 configuration을 복사하고, 이름을 변경합니다. 설정에 따라 스키마를 만들어줍니다. Xcode 상단에 프로젝트 이름 부분을 클릭하고 New Scheme를 선택해줍니다. 스키마 이름을 지정해주면, 새로운 스키마가 생성됩니다. 해당 스키마가 선택된 상태에서 Edit … Read more

flutter – mixing, extension

Extension Extension은 기존 클래스에 새로운 메서드나 속성을 추가하는 기능입니다. Dart 2.7에서 도입된 이 기능은 기존 클래스의 소스를 수정하지 않고도 그 클래스에 메서드나 속성을 추가할 수 있게 해줍니다. 이는 외부 라이브러리나 시스템 클래스를 확장해야 할 때 유용하며, 특히 라이브러리나 SDK의 코드를 직접 수정할 수 없는 상황에서 매우 효과적입니다. Extension 정의 및 사용법 Extension의 장점 Extension의 제한점 … Read more

flutter – freezed

Freezed 개요 Freezed는 Flutter에서 **불변 데이터 클래스(Immutable Data Class)**를 자동으로 생성하는 패키지로, 코드 작성의 간편함과 유지보수성을 크게 향상시킵니다. 주요 기능과 장점: 설치 및 설정 1. 패키지 설치 pubspec.yaml 파일에 다음 의존성을 추가합니다: freezed_annotation은 Freezed 모델에 어노테이션을 추가하는 데 사용되며, freezed는 코드 생성기를 통해 자동으로 메서드와 클래스를 생성하는 데 필요합니다.json_annotation 과 json_serializabl 은 는 JSON 직렬화 … Read more

flutter – 리버팟

Riverpod 개요 Riverpod은 Flutter의 상태 관리를 위한 강력한 패키지로, 기존의 Provider 패턴을 기반으로 하지만 더 유연하고 예측 가능한 상태 관리를 지원합니다. 의존성 주입(DI) Riverpod에서 의존성 주입(DI)은 Provider를 통해 서로 다른 상태나 객체 간의 관계를 명확하게 설정하는 것을 의미합니다. 이는 특히 Provider에 필요한 인스턴스를 다른 Provider에서 주입하거나 참조할 수 있게 해 주기 때문에 다양한 상태를 필요로 … Read more

flutter – 라이브(Rive) 정리

개요 Rive는 애니메이션과 상호작용을 디자인하고, 이를 다양한 플랫폼(앱, 웹, 게임 등)에 실시간으로 구현할 수 있도록 지원하는 인터랙티브 그래픽 툴입니다. Rive를 사용하면 디자이너와 개발자가 하나의 툴에서 협업하며, 정적 애니메이션에서 상호작용 애니메이션까지 손쉽게 구현할 수 있습니다. 특히 Rive는 애니메이션을 효과적으로 관리하고, 런타임에서 반응형 애니메이션을 생성하도록 최적화된 기능을 제공합니다. 상태 머신(State Machine) 상태 머신은 Rive에서 애니메이션 간의 전환과 … Read more

[Flutter] 애플 로그인 체크 리스트

애플로그인 을 안드로이드에서 구현 하는 방법을 적어보겠습니다. 아래 체크리스트 중에 헷깔리는 부분을 위주로 적어보겠습니다. 자세한 내용은 맨 아래 링크를 참조해주세요 애플 로그인 체크리스트 App id 생성 애플 로그인 key 생성, 다운로드 Android manifest.xml 파일에 콜백 activity추가 애플 로그인 코드 아래 링크 참조 https://pub.dev/packages/sign_in_with_apple

[Flutter] 명령어 하나로 파이어베이스 연동하기

flutter로 프로젝트를 만들 때, 거의 필수적으로 파이어베이스에 프로젝트를 만들어 플러터 프로젝트에 연동시키는 작업을 하게 됩니다. 이럴 때, 명령어 하나로 연동이 가능한데 이 방법에 대해 알아보겠습니다. flutter 프로젝트를 생성한다. 안드로이드 스튜디오에서 메뉴에서 new flutter project를 선택해도 되고, 터미널에서 flutter create “your_project_name” –org “com.yourdomain” command 로 프로젝트를 생성해도 됩니. –org “com.yourdomain”은 미리 bundle id와 package name 앞부분에 … Read more

[Flutter] 커스텀 라디오 버튼 리스트

현업에선 라디오 버튼 리스트를 개발해야하 하는 순간이 많다. 그리고 실무에선 거의 대부분 패딩이나 여백등 여러가지 디자인 요소로 인해 라디오 버튼 리스트를 커스텀해서 사용해야한다. 생각보다 시간이 많이걸리는 데, 그럴 때를 대비해 예제를 작성해보았다. RadioBtnList 클래스 아래와 같이 라디오 버튼 리스트 클래스를 작성했다. radioOptions Map를 이용하고 onChangedFunc 콜백함수를 라디오 아이템 클래스에 인자로 넘겨줘서, 같은 코드가 반복되지 않도록 … Read more

[Flutter] 기본 다국어(localization) 설정

앱을 개발할 때, 거의 대부분 모국어와 영어를 둘 다 사용할 수 있게 localization을 적용한다. 그래서 이런 다국어 시스템을 개발해야하는데 pub.dev에 다양한 언어 지원 패키지들이 있지만 기본 다국어 설정이 나에게 더 쉽게 느껴졌다. 이런 기본 다국어 설정을 한 부분을 작성해보고자 한다. pubspecs.yaml 파일에 intl 최신 패키지를 추가하고 아래 main.dart 파일과 local.dart파일 을 아래와 같이 적고 언어 … Read more