본문 바로가기
취미노트/코딩공부

따라하며 배우는 Flutter 앱 개발입문(1)

by 복습쟁이 2023. 11. 21.
반응형

 

1. 시작전에

 1) 플러터로 앱 개발 공부를 시작해야 하는 이유

  - 하나의 코드베이스, 다중 플랫폼 지원(안드로이드, IOS, 웹, 윈도우, 맥OS)

  : 시간적인 부분에서 많은 이득이 있다

 

  - 빠른 개발과 업데이트

  : ex> Hot Reload기능 -> 결과를 즉시적으로 볼 수 있는 기능

 

  - 선언형 UI

  : 기존에 UI를 위해서는 안드로이드는 자바 - XML, IOS는 스위프트 - 스토리보드를 공부해야 했음.

  선언형UI는 언어 하나만으로 UI를 붙일 수 있어 많은 것을 배워야 한다는 부담을 덜 수 있음.

 

  - 기업 및 스타트업에서의 채용 기회

  : 기술개발의 트렌드. 요즘 앱개발시장이 안드로이드, IOS 네이티브 개발자 뿐 아니라

  크로스플랫폼 앱개발자 채용 기회가 늘고 있다

 

  - 개발 비용 최소화

  : 하나의 코드베이스(ex>Dart)로 많은 플랫폼 출시가 가능하므로 리소스절약, 유지보수면에서 비용절감 가능.

 

 2) Dart언어의 특징

  - Dart? 플러터 앱 개발을 위한 크로스플랫폼 개발 언어

  - 자바와 유사하면서도 자바스크립트와 비슷한 문법들도 존재함

  - 객체지향 프로그래밍

  - 프로그램 설치를 하지 않아도 DartPad라는 웹사이트 통해서 간단한 코딩 연습이 가능하다.

  https://dartpad.dev/

 

DartPad

 

dartpad.dev

 

2. 기초 문법 과정

 1) void main() {}

  - 메인함수는 프로그램의 시작 지점을 가지고 있는 함수를 의미한다.

void main() {

}

 

 2) print()

  - 콘솔창에 무언가를 출력할 때 쓰는 함수

void main(){
		print('Hello World');
}

 

 3) 주석

  - // 뒤에 붙는 내용은 코딩실행에는 반영되지 않음. 메모등을 해 놓을 때 사용

 

 4) ;(세미콜론)

  - 함수 끝엔 항상 세미콜론 붙여서 항상 닫아줘야 함
  
 5) 변수란? 변할 수 있는 수(=값)를 의미

  - 변수를 왜 쓰냐? 값에 대한 의도나 목적을 변수명으로 지정하면 헷갈리지 않음
  
 6) String name = '다트패드';
  - '다트패드'라는 문자값을 'name'이라는 변수에 값을 할당(저장)한다. string은 변수의 타입

 7) int age = 36;
  - 정수형 타입의 숫자는 int로 저장

 8) var name2 = '홍길동';
  - var 과 string의 차이? 
  - var는 dart에서 지원하는 기능으로, 변수 값의 타입을 추론하는 문법
  - string이나 int를 우선 사용하며 이해도를 높이고, 이후에 var 쓰자

 9) bool isChecked = false;
  - bool은 True 또는 False 값, 즉 논리를 정할 때 사용한다.

 10) double tall = 177.6;
  - double은 소수점 값을 표현할 때 사용한다
 

 11) dynamic car = 'benz';

  - dynamic type은 모든 데이터 타입을 포함할 수 있는 특수한 데이터 타입이다.

  - 예를 들어 String 쓰면, 무조건 문자 타입으로만 해야 한다. 뒤이어 함수에 정수값을 넣으면 에러 뜸.

  - 반면, 다이나믹은 아래와 같이 처음에는 문자열로 값을 넣었으나 뒤이어 정수형으로 넣는 등의 사용이 가능하다.

void main(){
	dynamic car = 'benz';
	car = 300;
	print(car)
    }

 

  - 다이나믹을 사용할 상황 또는 여지가 있기는 하지만, 사용을 권장하지 않음. 남발하지 않고 정해진거 쓰는게 좋다.

  - 반면, var의 경우는 사용을 권장한다.

 

 

3. 오늘 입력해본 코드

void main() {
  print('Hello World');

String name = '다트패드';
  name = '다트패드2';

int age = 36;

var name2 = '홍길동';

bool isChecked = false;

double tall = 177.6;
  
 print(name);
 print(name2);
 print(age);  
 print(isChecked);
 print(tall); 

dynamic car = 'benz';
car = 400;
print(car);


}
728x90
반응형

댓글