본문 바로가기 메뉴 바로가기

앱 개발 꼭꼭 씹어먹기

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

앱 개발 꼭꼭 씹어먹기

검색하기 폼
  • 분류 전체보기 (30)
    • Apple (12)
      • Swift (8)
      • iOS (3)
    • Developments (15)
      • Flutter (12)
    • Personal (2)
  • 방명록

Developments/Flutter (12)
[Flutter] FirebaseCloudMessage Foreground, Background 메세지 보내기 삽질 기록

최근 이틀 동안 iOS, 안드로이드 환경에서 동일하게 푸시 알림 설정을 보내려고 삽질을 했다...그러다 마주친 4주 전에 올라온 이 강의를 보고 해결되었다...ㅠㅠ 같은 어려움을 겪는 사람들을 위해서 간단히 기록을 남겨본다...🫠(참고로 APNs 설정은 절차가 복잡해서 직접 강의를 보는 걸 추천)반말체로 갑니다~~~~!📌 준비아래의 파일 4가지를 수정하거나 추가할 예정임.iOS 폴더 내AppDelegate.swiftlib 폴더 내main.dartservices/firebase_messaging_service.dart (코드 보기)services/local_notifications_service.dart (코드 보기)🔸 AppDelegate.swiftiOS의 푸시 알림 권한 및 delegate 설..

Developments/Flutter 2025. 5. 21. 11:13
[Flutter/Android] Failed host lookup 오류 해결 (feat. 옆집 iOS는 잘되는데...)

회사에서 API 호출해서 로그인 하는 과정 하고 있는데iOS는 호출 잘 되는데 안드로이드만 계속 '로그인 요청 시작' 여기서 더 진행이 안됐다.Future _login() async { final dio = Dio(); final url = dotenv.env['BASE_URL']; debugPrint('url: $url'); debugPrint('id: ${_idController.text}'); debugPrint('password: ${_passwordController.text}'); debugPrint('로그인 요청 시작'); try { final response = await dio.post( '$url/admin/auth/login'..

Developments/Flutter 2025. 5. 12. 11:22
[Flutter] Widget Lifecycle 이해하기: Stateful vs Stateless

Flutter에서 앱을 개발하다 보면 Widget의 라이프사이클을 이해하는 것이 매우 중요하다. Flutter의 Widget은 UI를 구성하는 기본 단위로, Stateful Widget과 Stateless Widget으로 나뉘는데각 Widget은 생성, 업데이트, 제거 등의 과정을 거치며, 이 과정을 라이프사이클이라고 부른다.1. Stateless Widget LifecycleStateless Widget은 상태를 가지지 않는 위젯으로,데이터가 변하지 않는 정적인 UI를 렌더링할 때 사용된다.Create: Widget이 처음 생성될 때 호출build(): UI를 빌드하여 화면에 표시dispose: Widget이 화면에서 제거될 때 호출Stateless Widgetimport 'package:flutter..

Developments/Flutter 2025. 3. 13. 09:33
Flutter Lints 와 analysis_options

Flutter 프로젝트를 생성하면 기본적으로 flutter_lints 라는 의존성이 붙는다.그래서 flutter_lints 와 analysis_options 로 규칙을 정하는 방법에 대해서 글을 써본다. Flutter Lints란?Flutter Lints는 Flutter 애플리케이션, 패키지 및 플러그인에 대한 권장 린트 세트를 제공하여 좋은 코딩 관행을 장려하는 패키지다.이 패키지를 사용하면 코드 품질을 높이고, 팀원 간의 일관된 코딩 스타일을 유지할 수 있다.특히, 린트 규칙을 통해 코드에서 발생할 수 있는 잠재적인 문제를 미리 감지할 수 있다는 점이 큰 장점이다.기본 사용 방법flutter_lints 패키지를 사용하여 기본적인 린트 규칙을 설정하는 방법은 간단하다.먼저, pubspec.yaml 파일..

Developments/Flutter 2025. 3. 7. 10:17
Dart의 생성자를 ㅇrㄹr보좌..

Dart에서 객체를 생성할 때 사용하는 생성자(Constructor)에 대해 알아보자.왜냐? 대충 유지보수 할 수 있을만큼 읽는거에 익숙해졌는데,기초가 부족하다고 느꼈기 때문이다... 😢 마치 맨땅에 헤딩하듯 Swift를 공부했을 때 처럼...!기본에 충실하면 개발 속도가 나니까 😉  생성자는 클래스의 인스턴스를 만들 때 호출되며, 다양한 방식으로 정의할 수 있다.이번 글에서는 Dart에서 제공하는 여러 가지 생성자 유형을 살펴보고 각각의 특징을 이해해보자.기본 생성자기본 생성자는 클래스의 인스턴스를 생성할 때 호출되는 가장 일반적인 형태의 생성자다.위치 매개변수class Point { final double x; final double y; // 위치 매개변수를 받는 기본 생성자 Point(..

Developments/Flutter 2025. 3. 5. 10:49
[Flutter] 3.7 업데이트 살펴보기 (3)

What’s new in Flutter 3.7Material 3 updates, iOS improvements, and much more!medium.com이전 글에서는 Flutter 3.7의 UI 및 성능 개선 내용을 살펴보았다.이번 글에서는 Swift 플러그인 마이그레이션, Bitcode 지원 종료 및 iOS 개발자를 위한 새로운 리소스 등을 소개하겠다.1. Swift 플러그인 마이그레이션(Swift Migration for Plugins)Apple이 Swift 기반 API를 적극 활용하면서, Flutter 플러그인도 Swift로 전환하는 작업이 진행되고 있다.그 일환으로 quick_actions 플러그인이 Objective-C에서 Swift로 마이그레이션되었다.🔹 왜 Swift로 전환해야 할까?A..

Developments/Flutter 2025. 2. 14. 10:04
[Flutter] 3.7 업데이트 살펴보기 (2)

What’s new in Flutter 3.7Material 3 updates, iOS improvements, and much more!medium.com 지난 글에서 Flutter 3.7의 주요 기능 중 Material 3 지원 강화, 메뉴 바 및 계단식 메뉴, Impeller 렌더링 엔진 프리뷰, iOS 릴리스 검증 기능, DevTools 업데이트를 살펴보았다.이번 글에서는 컨텍스트 메뉴, iOS 스타일 리스트뷰, 스크롤 개선, 다국어 툴 개선, 글로벌 선택 및 새로운 플랫폼 채널 기능 등에 대해 알아보자.1. 커스텀 컨텍스트 메뉴(Custom Context Menus)이제 Flutter에서 컨텍스트 메뉴를 자유롭게 커스터마이징할 수 있다.예를 들어, 텍스트 선택 툴바에서 기본 기능 외에 이메일 전..

Developments/Flutter 2025. 2. 13. 16:22
[Flutter] 3.7 업데이트 살펴보기 (1)

What’s new in Flutter 3.7Material 3 updates, iOS improvements, and much more!medium.comFlutter 3.7이 출시되었다. 이번 업데이트에서는 Material 3 지원 강화, 메뉴 바 및 계단식 메뉴 추가, 새로운 렌더링 엔진 Impeller 프리뷰, iOS 앱 릴리스 검증 기능 추가, DevTools 개선 등 다양한 기능이 포함되었다. 하나씩 살펴보자.Material 3 지원 강화Flutter 3.7에서는 Material 3(M3) 지원이 대폭 강화되었다.기존 위젯 중 다음과 같은 요소들이 M3로 마이그레이션되었다.Badge, BottomAppBar, SegmentedButton, Checkbox, DividerMenus, Dropd..

Developments/Flutter 2025. 2. 11. 09:54
[Flutter/M4] Java version & Gradle 호환성 맞춰서 앱 빌드하기

최근 회사에서 새로운 맥북을 주셔서인텔맥 -> M4 프로로 개발 환경을 바꿨다. 바꾸면서 homebrew 로 이것저것 설치하고 개발했더니안드로이드 스튜디오 내부 JDK가 자동으로 21로 되어있었다. `flutter build appbundle`로 안드로이드 앱 배포를 시도하니까이런 오류가 떴다. 사실 이전에도 같은 오류를 겪어서 겨우겨우 해결했었는데...그때는 떡하지 적혀있는 AGP가 뭔지도 몰랐다... 일단 번역기를 돌려보자에.. 그니까 Java는 최신버전 21 쓰면서 gradle 은 왜 낮은거 8.2.1 쓰냐는 .. 뭐 그런 오류다.근데 ㅠ 그거 아세요..? gradle 최신버전이랑 자바 21이랑도 호환 안되는거..어떻게 알았냐고요? 저도 알고싶지 않았어요... `flutter doctor --ver..

Developments/Flutter 2025. 1. 14. 18:16
[Flutter] Sliver, Slivers, SliverList 개념 알아보기

패캠 강의를 듣다가 SliverList 라고 하시는데 뭔지 몰라서 알아봤다.Sliver란?Flutter 공식 문서에서 Advanced UI > Slivers 라고 설명하는데, Sliver는 Flutter에서 스크롤 가능한 영역을 구성하는 기본 단위다.쉽게 말해서, 리스트나 그리드 같은 스크롤 가능한 UI 컴포넌트를 더 유연하게 만들기 위해 제공되는 "조각"!ListView 같은 위젯은 내부적으로 Sliver를 사용해서 스크롤을 처리한다.즉, Sliver는 화면을 스크롤하는데 필요한 데이터나 UI를 효율적으로 관리할 수 있도록 도와준다. 예시import 'package:flutter/material.dart';void main() { runApp(MyApp());}class MyApp extends St..

Developments/Flutter 2024. 12. 11. 10:46
[Flutter] @JsonSerializable()와 @JsonKey 사용법

Flutter에서 서버와 데이터를 주고받을 때 JSON 형태를 자주 사용할텐데JSON 데이터를 다루다 보면, 필드 이름이 다르거나 데이터 타입을 맞춰야 하는 문제가 생길 수 있다.이 때 json_serializable 패키지를 활용해서 JSON 데이터를 다루는 방법을 알아보자@JsonSerializable()란?@JsonSerializable()클래스가 JSON 데이터를 쉽게 변환할 수 있도록 도와주는 어노테이션이 어노테이션을 class 키워드 위에 선언하면 됨JSON 데이터를 Dart 객체로 변환fromJson()하거나반대로 Dart 객체를 JSON으로 변환toJson()하는 코드를 자동으로 생성사용 방법json_serializable과 build_runner 패키지 설치dependencies: js..

Developments/Flutter 2024. 12. 3. 10:15
Flutter에서 낙관적 업데이트 패턴 적용하기

Flutter에서 일정 추가 기능을 구현할 때 서버와의 통신 시간이 걸리더라도 화면이 끊기지 않게 하려면 어떻게 해야 할까?오늘은 "낙관적 업데이트(Optimistic Update)" 패턴을 적용한 코드를 살펴보자.문제 상황Schedule을 추가할 수 있는 간단한 UI를 구현한 다음, 여기에 3월 15일 오후 2시 회의 일정을 추가한다고 해보자.서버에 저장 요청을 보낸 뒤 응답을 기다리는 동안 아무 반응이 없다면 사용자 경험이 좋다고 볼 수 없으니..!여기서 낙관적 업데이트 패턴을 적용하면 이런 문제를 해결할 수 있다.화면 예시코드 예시class ScheduleProvider extends ChangeNotifier { final ScheduleRepository repository; DateTime..

Developments/Flutter 2024. 11. 26. 09:37
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 티스토리챌린지
  • 낙관적 업데이트 패턴
  • flutter3.7
  • flutter updates
  • flutter 3.7
  • jsonkey
  • 개발신입
  • sliverlist
  • lints
  • ios
  • 플러터
  • flutter_lints
  • llm 설치
  • flutter
  • slivers
  • jsonserializable
  • fromjson()
  • 오블완
  • 플러터 업데이트
  • sliver
  • analysis_options
  • tojson()
  • SWIFT
  • 플러터네이티브
  • 플러터업데이트
  • swiftmigration
  • 오블완챌린지
  • 플러터ios애니메이션
  • 렌더링최적화
  • 다트문법
more
«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바