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..

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

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

What’s new in Flutter 3.7Material 3 updates, iOS improvements, and much more!medium.com 이전 글에서는 Flutter 3.7의 메모리 관리 최적화 및 성능 개선 내용을 살펴보았다.이번 글에서는 macOS 지원 변경, toImageSync API 추가, 커스텀 셰이더 개선, 폰트 핫 리로드, iOS 애니메이션 개선 등을 소개하겠다.1. macOS 10.11 ~ 10.13 지원 종료Flutter 3.7부터 macOS 10.11(El Capitan), 10.12(Sierra), 10.13(High Sierra) 지원이 공식적으로 종료되었다.즉, 이제 Flutter 앱을 실행하려면 최소 macOS 10.14(Mojave) 이상이 필요하다.🔹 ..

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..

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에서 컨텍스트 메뉴를 자유롭게 커스터마이징할 수 있다.예를 들어, 텍스트 선택 툴바에서 기본 기능 외에 이메일 전..

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..

패캠 강의를 듣다가 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..

Flutter에서 서버와 데이터를 주고받을 때 JSON 형태를 자주 사용할텐데JSON 데이터를 다루다 보면, 필드 이름이 다르거나 데이터 타입을 맞춰야 하는 문제가 생길 수 있다.이 때 json_serializable 패키지를 활용해서 JSON 데이터를 다루는 방법을 알아보자@JsonSerializable()란?@JsonSerializable()클래스가 JSON 데이터를 쉽게 변환할 수 있도록 도와주는 어노테이션이 어노테이션을 class 키워드 위에 선언하면 됨JSON 데이터를 Dart 객체로 변환fromJson()하거나반대로 Dart 객체를 JSON으로 변환toJson()하는 코드를 자동으로 생성사용 방법json_serializable과 build_runner 패키지 설치dependencies: js..
- Total
- Today
- Yesterday
- tojson()
- 플러터ios애니메이션
- SWIFT
- ios
- 플러터업데이트
- jsonkey
- sliver
- analysis_options
- 개발신입
- fromjson()
- 플러터
- 다트문법
- flutter_lints
- sliverlist
- slivers
- 렌더링최적화
- 티스토리챌린지
- lints
- flutter
- 오블완챌린지
- 플러터 업데이트
- llm 설치
- swiftmigration
- 플러터네이티브
- 오블완
- 낙관적 업데이트 패턴
- flutter 3.7
- flutter3.7
- jsonserializable
- flutter updates
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |