'Write once, run anywhere'는 환상이다. Flutter로 앱을 개발하면서 플랫폼 간 차이점을 무시했다가 출시 직전에 대규모 코드 수정한 경험은 누구나 한 번쯤 있을 것이다.6년차 Flutter 개발자로, 멀티 플랫폼 앱 개발에 관한 글을 또 쓰게 됐네요. 지겨운 주제지만 아직도 많은 개발자들이 Flutter 프로젝트를 시작할 때 이 함정에 빠집니다. "Flutter를 쓰면 코드 한 번만 작성하면 된다"는 말에 현혹되어 플랫폼별 차이점을 고려하지 않다가 나중에 고생하는 경우가 허다합니다. 특히 최근 진행한 대형 금융 앱에서도 플랫폼 간 차이를 간과해서 출시 일정이 미뤄진 경험이 있는데, 이런 시행착오를 여러분은 겪지 않았으면 하는 마음에 글을 씁니다.목차플랫폼 감지 및 분기 처리 전략 ..
안녕하세요, 여러분. 오늘은 Flutter 앱에서 푸시 알림을 구현하는 방법에 대해 자세히 알아보려고 합니다. 지난 3년간 다양한 프로젝트에서 FCM을 사용해 왔고, 처음 접했을 때의 혼란스러움을 잘 기억합니다. 특히 iOS와 Android 설정의 차이점이 꽤 골치 아픈 부분이었죠. 이 글에서는 그런 시행착오를 겪지 않도록 단계별로 정리를 좀 해볼게요. 목차 1. FCM(Firebase Cloud Messaging) 소개 2. Flutter 프로젝트 설정 3. Android 설정하기 4. iOS 설정하기 5. 푸시 알림 구현하기 6. 테스트 및 디버깅 1. FCM(Firebase Cloud Messaging) 소개Firebase Cloud ..
Flutter 개발에서 가장 핵심이 되는 개념은 바로 '위젯(Widget)'인 것 같습니다.Flutter에서는 UI를 구성하는 모든 요소가 위젯으로 이루어져 있으며, 이러한 위젯들의 조합을 통해 복잡한 사용자 인터페이스를 구현할 수 있습니다.Flutter 위젯이란?위젯은 Flutter 애플리케이션의 UI를 구성하는 기본 빌딩 블록이에요. 버튼, 텍스트, 이미지와 같은 시각적 요소뿐만 아니라 레이아웃, 애니메이션, 상호작용을 관리하는 비시각적 요소까지 모두 위젯으로 구현돼요. Flutter의 "Everything is a Widget" 철학은 UI 개발 방식을 일관되고 직관적으로 만들어줍니다.Flutter 위젯의 특징은 다음과 같아요.선언적 UI - 위젯은 현재 상태를 기반으로 어떻게 UI가 보여야 하는지..
1. Flutter 개발 환경 설정 먼저, Flutter 개발 환경을 잘 설정해두어야 합니다. Flutter 환경 설치 방법은 아래 링크에서 확인할 수 있습니다. Flutter Install 환경 설정이 완료되면 아래 명령어를 실행하여 Flutter 및 Dart 플러그인이 정상적으로 설치되었는지 확인하세요. flutter doctor 2. Android 앱 빌드를 위한 기본 설정 Android 앱 빌드를 위해 필요한 사항들을 정리해봅시다. JDK 설치: Android Studio 설치 시 자동으로 설치되어있습니다. Gradle: 안드로이드 기기에서 앱을 빌드하기 위한 핵심 도구입니다. Flutter에서 기본적으로 지원합니다. Android 스튜디오 설치 및 Flutter 연동: 여기를 참고하세요. 3. ..
각 플랫폼마다 고유한 해상도와 화면 크기 지원이 다르기 때문에, 안드로이드(dp 및 sp), iOS(pt)에 사용되는 단위와 픽셀 간의 차이점을 명확하게 이해하는 것이 중요합니다. 이 글에서는 dp, sp, pt 및 픽셀 간의 차이를 설명하고, 이 단위들이 상호 작용하는 방식을 설명하려고 합니다. 1. 안드로이드(dp 및 sp)와 픽셀 dp(density-independent pixels) 안드로이드에서 dp 단위는 기기 해상도에 따라 상대적 크기를 고려한 일종의 가상 단위입니다. 대략적으로 지름이 1/160 인치인 물리적 픽셀을 dp로 표현할 수 있습니다. 160dpi(dots per inch) 해상도에서 1dp는 1픽셀과 같습니다. 기기의 해상도가 높아질수록 1dp를 표현하는데 필요한 물리적 픽셀 수..