Flutter와 네이티브의 연결고리 — Platform Channel 실전 입문
·
Flutter
Flutter는 강력한 UI 프레임워크지만, 때로는 네이티브(Android 또는 iOS)의 기능이 꼭 필요할 때가 있다.예를 들어 배터리 잔량을 가져오거나, 기기의 고유 센서를 사용해야 하는 경우 말이다.이럴 때 등장하는 게 바로 Platform Channel이다.이 글에서는 Flutter에서 네이티브 기능을 호출하는 구조인 Platform Channel을Android (Kotlin)과 iOS (Swift) 기준으로 차근차근 설명해 보겠다.📦 Platform Channel 구조 이해하기Platform Channel은 Flutter ↔ Native 간의 통신을 위해 사용되며, 세 가지 주요 타입이 있다:MethodChannel: 단방향 또는 요청-응답 방식EventChannel: 스트림 방식 (ex. 센..
CustomPainter 완전 정복 — Flutter에서 나만의 캔버스를 그려보자
·
Flutter
Flutter를 처음 배웠을 때, 나는 단순히 "위젯을 조립해 UI를 만드는 프레임워크"라고만 생각했다.하지만 어느 날, 디자인 시안 속 곡선과 패턴, 그림자들을 보며 깨달았다.아... 이것만으론 부족하구나.그때 처음 마주한 개념이 바로 CustomPainter였다.직접 선을 그리고, 면을 채우고, 캔버스를 내 마음대로 휘젓는 그 경험은Flutter에서 또 다른 자유를 얻는 느낌이었다.🎨 CustomPainter란?Flutter는 대부분의 UI 요소를 위젯으로 구성한다. 하지만 더 섬세한 표현이 필요할 땐,CustomPainter를 사용해 직접 도형이나 경로를 그릴 수 있다.마치 웹에서 canvas를 다루는 것과 비슷한 느낌이다.🧱 기본 구조 이해하기class MyPainter extends Cust..
Flutter 게시판 앱 만들기 — APK 만들기부터 실기기 설치까지 완전 가이드
·
Flutter/Flutter 게시판 앱 만들기
게시판 앱, 이제 정말 완성됐다.이제 우리가 만든 이 Flutter 앱을 실제로 실행 가능한 앱 파일 (APK)로 만들어보자.Flutter는 Android용 APK를 빌드해서 직접 핸드폰에 설치하거나, Play Store에 배포할 수도 있다.이번 글에서는 APK 만들기 → 설치하기 과정을 단계별로 정리해보자.🛠 APK란?APK는 Android Package의 약자로, Android 앱을 설치하는 실행 파일이다.Flutter는 `flutter build apk` 명령으로 APK 파일을 생성할 수 있다.🚧 APK 빌드 단계1️⃣ **디버그 모드 APK (개발용):**flutter build apk --debug2️⃣ **릴리즈 모드 APK (배포용):**flutter build apk --release릴..
Flutter 게시판 앱 만들기 — 감성 앱의 마무리는 어둠 속의 편안함
·
Flutter/Flutter 게시판 앱 만들기
화려한 기능과 디자인을 갖춘 앱도, 밤이 되면 불편할 수 있다.눈이 편안한 다크 모드는 이제 선택이 아닌 필수이다.이번 글에서는 Flutter 게시판 앱에 다크 모드 완전 대응을 적용해보자.시스템 설정에 따라 자동으로 전환되거나, 직접 테마를 토글할 수 있도록 구성할 수 있다.🌓 ThemeMode란?MaterialApp에서는 themeMode 속성으로 앱의 테마 모드를 설정할 수 있다.MaterialApp( theme: lightTheme, darkTheme: darkTheme, themeMode: ThemeMode.system,)ThemeMode.system은 디바이스의 설정에 따라 자동 전환된다.🌞 라이트 & 🌚 다크 테마 설정아래는 각각의 테마를 설정하는 예시이다:final lightTh..
Flutter 게시판 앱 만들기 — Flutter 게시판을 시간 순서대로 정리해보자
·
Flutter/Flutter 게시판 앱 만들기
게시판에서 글을 볼 때, 가장 먼저 떠오르는 기준은 무엇일까?바로 "최신 글이 위에" 있어야 한다는 점이다.이번 글에서는 Flutter 게시판 앱에 작성 시간을 기록하고,글 목록을 최신순으로 정렬하는 기능을 추가해보자.🕒 Post 모델에 작성 시간 추가Post 모델에 createdAt 필드를 추가한다:class Post { final String title; final String content; final DateTime createdAt; Post({ required this.title, required this.content, required this.createdAt, }); Map toJson() => { 'title': title, 'content': c..
Flutter 게시판 앱 만들기 — 북마크로 찜한 글만 모아보기
·
Flutter/Flutter 게시판 앱 만들기
게시글을 스쳐 지나가기만 한다면 조금 아쉽다.내가 좋아하는 글, 나중에 다시 보고 싶은 글은 북마크 해두고 모아보면 훨씬 편리하다.이번 글에서는 Flutter 게시판 앱에 즐겨찾기(북마크) 기능을 추가해보자.`⭐` 아이콘 하나로 앱의 감성이 한층 살아날 수 있다.📌 Post 모델에 즐겨찾기 필드 추가기존의 Post 클래스에 isBookmarked 필드를 추가한다:class Post { final String title; final String content; bool isBookmarked; Post({ required this.title, required this.content, this.isBookmarked = false, }); Map toJson() => { '..