Group Study (2024-2025)/Flutter 3

[Flutter] 3주차 스터디_Flutter 시작하기

1. Flutter 소개- 구글이 만든 프레임 워크로 iOS, 안드로이드, 윈도우, 리눅스등과 같은 멀티 플랫폼 개발을 지원한다- 다트 언어로 작성하기 때문에 미리 다트 언어를 학습하는 것이 필수이다.1.1 Flutter를 학습해야 하는 이유- 웹/맥OS/윈도우/리눅스 심지어 임베디드, IoT와 같은 다양한 플랫폼을 지원하는 크로스플랫폼이다.- html, css, java script와 같은 내용들을 학습하지 않아도 웹을 만들 수 있다.- 애니메이션, 게임과 같은 다양한 그래픽도 flutter 하나로 구현할 수 있다.1.2 Flutter의 실행 방식다른 프레임 워크는 운영체제에게 직접 text, button과 같은 요소를 만들어달라고 요청한다.하지만 Flutter는 실행할 때 엔진에 의해서 만들어지는 것..

[Flutter] 2주차 스터디_비동기 프로그래밍(Async Programming )

동기 프로그래밍: CPU가 하나의 작업을 하고 있을 경우, 다른 작업을 하지못함--> 코드 순서대로 실행됨비동기 프로그래밍:CPU가 하나의 작업이 끝날 때까지 기다리는 동안 다른 작업을 할 수 있음--> 코드 순서대로 실행되지 않음4.1 비동기 프로그래밍(Asynchronous Programming)Future : 미래에 받아올 값 → 제네릭에 미래에 받아올 타입을 지정ex) Future name = Future.value('코드팩토리'); 비동기적으로 실행void main() { // Future - 미래 // 미래에 받아올 값 → 제네릭에 미래에 받아올 타입을 지정하는 것임 Future name = Future.value('코드팩토리'); Future number = Future.value(1..

[Flutter] 1주차 스터디_함수형 프로그래밍 (Functional Programming)

Dart에서 자주 사용되는 함수형 프로그래밍 패턴과 그 장점1. 형변환- List, Map, Set을 변환하는 방법1-1. List -> Map- asMap(): 리스트의 각 요소를 key-value 쌍으로 매핑 (key는 리스트의 인덱스가 됨)void main() { List blackPink = ['로제', '지수', '리사', '제니']; print(blackPink.asMap()); // {0: 로제, 1: 지수, 2: 리사, 3: 제니}}1-2. List -> Set- toSet() / Set.from(): 중복된 값을 자동으로 제거void main() { List blackPink = ['로제', '지수', '리사', '제니', '제니']; print(blackPink.toSet());..