본문 바로가기

STUDY

Day 1 of Flutter Study with 개발하는 남자의 핸즈온 플러터 Books(변수)

Flutter를 쓰려면 Dart 언어를 알아야 한다. 
Dart는 Javascript를 따라잡기 위해 구글에서 만든 프로그래밍 언어이고 점유율을 검색해 보니 30위 정도 되었다. 

최근에 조금 떨어진 것 같다. 

2024년 9월 프로그래밍 언어 점유율 현황

 

사실 요즘 검색이나 AI를 이용해 웬만한 정보를 쉽게 다 알 수 있고 학습 도구들도 많지만 그래도 나는 공부를 시작할 때 책부터 사는 편이다. 

flutter를 공부하기 위해 어제 광화문 교보문고에 먼저 갔는데 내가 구매 후보에 두고 있던 책 중 한 권이 없었다. 

한 권은 '코딩셰프의 플러터 맛집' 이고, 한 권은 '개발하는 남자의 핸즈온 플러터'인데 결론적으로 나는 '개발하는 남자의 핸즈온 플러터'를 선택했다.

 
코딩셰프의 플러터 맛집
플러터계 일타강사! 코딩셰프의 명강의가 책으로 탄생했다. 수년간 오로지 플러터 분야 강좌만으로 수만 명의 구독자와 수백 만의 누적 조회수를 만든 바로 그 채널이다. 코딩셰프는 유튜브 채널을 통해 순한 맛(기초) 과정부터 매운맛(심화) 과정까지 체계적인 커리큘럼을 선보이며, 한 명의 플러터 입문자도 절대 포기하지 않고 끝까지 학습할 수 있도록 세심하게 설명한다. 이 책은 이러한 코딩셰프의 학습 철학과 플러터에 대한 신념을 모두 담았다. 《코딩셰프의 플러터 맛집》은 플러터를 처음 만난 입문자가 길을 잃지 않도록 프로그램 설치, 개발 환경을 설정하는 방법부터 하나씩 꼼꼼히 설명한다. 이어지는 이론 파트에서는 다트의 기초와 플러터 앱을 만들기 위한 핵심 문법은 물론, 다양한 위젯을 통해 플러터의 구성 요소를 실습과 함께 제대로 이해할 수 있도록 안내한다. 누구나 시원하게 소화할 수 있는 프로젝트 또한 든든하게 구성했다. 외부 패키지를 활용한 ‘사운드 앱’, 반응형 웹을 적용한 ‘로또 앱’, 실시간 날씨를 반영한 ‘날씨 앱’, 파이어베이스를 활용한 ‘로그인 앱’ 등을 구현해 볼 수 있다. 이미 플러터 학습자들 사이에서 소문난 맛집! 《코딩셰프의 플러터 맛집》을 통해 플러터를 맛있게 배워 보자.
저자
코딩셰프
출판
루비페이퍼
출판일
2024.05.28

 

 
개발하는남자의 핸즈온 플러터: 클론 코딩으로 배우는 플러터 앱 개발의 모든 것
『핸즈온 플러터』는 구글이 개발한 크로스 플랫폼 프레임워크인 플러터의 기본 개념부터 실무 환경에서의 구현까지 단계별로 다루는 종합 가이드입니다. 플러터는 다양한 위젯을 조합하여 애플리케이션을 만들 수 있게 도와주는 강력한 도구입니다. 플러터를 활용하면 하나의 코드베이스로 iOS와 안드로이드 애플리케이션을 개발할 수 있어 시간과 비용을 절약할 수 있습니다. 이 책은 플러터의 기본 개념과 실무에서 활용할 수 있는 다양한 기술을 배울 수 있도록 도와줍니다. 특히 클론 코딩 프로젝트를 통해 플러터의 여러 기능을 익힐 수 있으며, 복잡한 애플리케이션을 효율적으로 개발하는 팁과 사용자에게 최고의 경험을 제공하는 데 필요한 모든 것을 배울 수 있습니다. 『핸즈온 플러터』로 크로스 플랫폼 개발의 효율성을 직접 느끼면서, 다양한 도구와 라이브러리를 사용하여 매력 적인 애플리케이션을 만들어보세요.
저자
김성덕
출판
한빛미디어
출판일
2024.07.29

 

선택 기준은 책 출판일의 최신 여부와, 예제 였다. 

아무래도 Flutter는 역사가 길지 않은 기술이기 때문에 최신 책을 사고 싶었고 만들어 보고 싶은 당근 서비스를 예제로 삼은 두 번째 책이 끌렸다. 

사고 보니 따끈따끈한 책답게 저자분이 소통 의지도 강하시고 유튜브로 관련 영상도 볼 수가 있어 잘 산 것 같다. 

무엇보다 현직 flutter 개발자로 서비스를 운영 중인 분답게 예제로 나오는 당근 클론코딩 자료도 전체 서비스를 다 훑는 게 좋은 것 같다. 

 

나는 기본 환경 구축은 맥북에 해 놨기 때문에 CHAPTER 03 다트 이해하기 파트를 열심히 보고 있다. 

Dart 변수 역시 타입 추론을 사용한다. 타입 추론은 내가 직접 변수 타입을 정해 주지 않아도 알아서 타입을  추론해 준다는 것이다. 
python과 비슷한 것 같다. 

var author = '개발하는 남자';


그리고 Dart에서 변수 초기화 하는  방법을 보자. 

String? bookName;

이렇게 변수를 선언하고 아무 데이터를 넣지 않으면 null 에러가 뜬다.

이때는 2가지 방법이 있는데. 

1. if(bookName!=null){
      print(bookName.length);
      }
or
2. print(bookName?.length);

 

이다.

 

Late 변수.

변수를 선언할 때 바로 초기화할 수 없더라도, 나중에 변수를 사용하기 전에 값을 초기화해야 하는 상황. 

late String bookName;
void main() {
    bookName = makeBookName();
    print(bookName.length); // ------ 출력 : 7
}

String makeBookName(){
    return '핸즈온 플러터';
}

late는 null이 될 수 없는 변수를 나중에 초기화하겠다는 의미의 수식어. 

따라서 late 변수를 사용할 때는 반드시 초기화된 이후에 써야 하며, null이 올 수 없는 명확한 시점에 사용. 

 

Final과 Const


final : 변수 선언 후 한 번만 값을 할당할 수 있다. 
const : 컴파일 시점에 값이 결정되며, 이후 값을 변경할 수 없다.

 

 

반응형

'STUDY' 카테고리의 다른 글

시간을 달리는 소녀(일본어, 무자막 시청 1)  (0) 2025.03.11