Tiny Bunny
Flutter Day 8-1: 비동기 프로그래밍(Java vs Dart) 알아보기
·
Flutter
비동기 프로그래밍은 현대 애플리케이션 개발에서 매우 중요한 개념입니다. 서버 요청, 파일 처리 등 시간이 오래 걸리는 작업을 비동기로 처리하면 앱의 응답성을 유지할 수 있습니다. 이번 포스팅에서는 Java와 Dart에서 비동기 프로그래밍의 차이점과 중요한 개념을 정리해 보겠습니다.1. 비동기 프로그래밍이란?동기(Synchronous): 코드가 순차적으로 실행되며, 한 작업이 끝날 때까지 다음 작업이 대기 - 단점: 오래 걸리는 작업이 있으면 전체 흐름이 멈춤(Blocking) 비동기(Asynchronous): 작업 완료 여부와 상관없이 다음 코드가 실행되고, 작업이 완료되면 결과를 처리.작업이 완료되면 콜백, Future, 또는 이벤트 루프를 통해 결과를 처리. - 장점: 효율적인 리소스 사용 및 빠른 ..
Flutter Day 5-3: Flutter profile app (3)
·
Flutter
Flutter로 간단하지만 세련된 프로필 앱을 만들어 보겠습니다.이번 포스팅에서는 테마 설정, 메인 페이지 구조, 프로필 헤더 디자인 등을 다룹니다. 1. 테마 설정하기테마 설정의 중요성Flutter에서 테마(Theme)는 앱의 색상, 글꼴, 스타일 등을 한 곳에서 관리할 수 있는 기능입니다.테마를 설정하면 디자인 일관성을 유지하고, 수정이 필요할 때 여러 파일을 변경할 필요 없이 테마만 수정하면 됩니다.테마 파일: theme.dart우선 테마를 정의하는 theme.dart 파일을 만듭니다. 협업 시 디자이너가 제공한 컬러 팔레트를 기반으로 작성하는 경우가 많습니다.import 'package:flutter/material.dart';const MaterialColor primaryWhite = Mate..
Flutter Day 4-1: 연관관계, Mixin, 추상 클래스
·
Flutter
Dart에서 객체 간의 연관 관계와 Mixin, 그리고 추상 클래스에 대해 이야기해 보겠습니다.1. 객체 간의 연관 관계객체 간의 관계를 정의하는 객체지향 프로그래밍(OOP)에서는 연관 관계를 크게 두 가지로 나눌 수 있습니다:컴포지션 관계와 집합 관계입니다.컴포지션 관계"강한 소유 관계"입니다.전체(예: 자동차)가 사라지면, 부분(예: 엔진)도 함께 사라져야 합니다.자동차와 엔진의 관계가 대표적인 예입니다.class Engine { final String type; Engine(this.type); void startEngine() { print('${type} 엔진이 시동됩니다.'); }}class Car { final Engine engine; Car(String engineType..
Flutter Day 3-1: Dart Null Safety
·
Flutter
1. 널 세이프티(Null Safety)란?널 세이프티(Null Safety)는 다트(Dart) 언어에서 널(null)로 인한 오류를 방지하기 위한 기능입니다.다트 컴파일러는 널이 될 수 있는 타입과 널이 될 수 없는 타입을 명확히 구분하여,컴파일 시점에 잘못된 널 참조를 미리 감지해 줍니다.Sound Null Safety란?사운드 타입 시스템(Sound Type System):컴파일러가 널 안전성 규칙을 엄격히 적용하여, 런타임 중 널 포인터 예외를 방지합니다.잘못된 널 참조는 프로그램을 중단시키는 주요 원인 중 하나입니다.널 세이프티는 이를 방지하여 안정적인 코드를 작성하도록 돕습니다.2. 기본 사용법void main() { String name = '길동'; // 널 허용하지 않는 String 타..
Flutter Day 1: Dart 기본 개념
·
Flutter
플러터(Flutter)Flutter는 구글에서 개발한 모바일 UI 프레임워크입니다.iOS와 Android뿐만 아니라 웹까지 하나의 코드로 모두 개발할 수 있는 강력한 도구.플러터는 하나의 코드로 다양한 플랫폼에서 고성능의 앱을 만들 수 있는 프레임워크입니다.UIUser Interface 사용자가 앱을 보고, 만지고, 조작하는 모든 것으로 UI는 사용자가 앱과 소통하는 매개체입니다.프레임워크Frame(틀) + Work(일)의 합성어로 어떤 일을 쉽게 할 수 있도록 도와주는 도구입니다.주요 특징Flutter는 구글이 지원하는 무료 오픈소스 프레임워크고성능 네이티브 앱 개발 가능 - Flutter는 코드를 네이티브 수준으로 컴파일하기 때문에, 성능이 매우 뛰어나, 앱이 빠르고 부드럽게 동작합니다.크로스 플랫폼..