전체 글

·Flutter
개발자가 만드는 위젯은 다음 3가지 클래스 가운데 하나를 상속받아 작성합니다. 여기서 InheritedWidget은 상태 관리와 관련이 있으므로 18장에서 자세히 다루기로 하고, 여기서는 StatelessWidget과 StatefulWidget을 살펴보겠습니다.StatelessWidget: 상태를 관리하지 않는 정적인 위젯StatefulWidget: 상태를 관리하는 동적인 위젯InheritedWidget: 여러 위젯에서 공통으로 이용할 상태 관리 위젯StatelessWidget은 상태와 연결되지 않는 위젯을 만드는 클래스입니다. 여기서 상태는 화면에 업데이트되는 데이터를 의미합니다. 즉, StatelessWidget 클래스는 화면에 업데이트 되는 데이터와 연결할 수 없으므로 처음 생성할 때의 정보로만 화..
·Flutter
위젯의 트리 구조대부분의 앱의 화면은 위젯을 여러 개 조합해서 구성합니다. 그런데 한 화면을 구성하는 모든 위젯을 단일 트리 구조를 이룹니다. 화면을 구성하는 3개 트리 구조앞에서 위젯의 트리 구조를 알아봤는데 사실 플러터 프레임워크가 화면을 만들 때 2개의 트리 구조를 더 만듭니다. 바로 엘리먼트 트리와 렌더 트리 입니다. 개발자는 위젯을 작성해야 하므로 위젯 트리마 알고 있으면 되지만, 프레임워크를 이해하는 차원으로 알아 두면 좋습니다.앞에서 살펴봤듯이 위젯은 화면에 보일 뷰를 설명만 할 뿐 실제 화면에 출력할 대상은 아닙니다. 따라서 프레임워크에서 뷰 설명을 보고 위젯 트리를 참조해 실제 화면에 출력할 객체들을 별도의 트리 구조로 만듭니다. 예를 들어 위젯을 아래 처럼 구성했다고 가정해 보겠습니다...
·Flutter
위젯은 화면에 보일 뷰를 설명하는 객체입니다. 즉, 화면과 관련된 모든 것이 위젯입니다. 플러터로 앱을 만들 때 기본 위젯과 사용자가 작성하는 위젯을 조합해서 화면을 구성합니다. 아래 코드에서는 runApp() 함수에 플러터가 기본으로 제공하는 Center라는 위젯을 전달했습니다. Center 위젯에 텍스트를 나타내는 Text 위젯을 포함했습니다.// runApp() 함수로 루트 위젯 등록하기import 'package:flutter/material.dart';void main() { runApp( Center( child: Text( 'Hello, world!', ), ), );} runApp() 함수는 전달받은 위젯을 위젯 트리의 루트로 만듭니다. 그리고 ..
·Flutter
믹스인 알아보기일반 클래스는 class라는 예약어로 선언하고 변수와 함수, 생성자를 정의할수 있습니다. 그런데 믹스인은 mixin이 라는 예약어로 선언합니다.// 믹스인 선언mixin MyMixin { int data1 = 10; void myFun1() { print('MyMixin... myFun()...'); }} 믹스인에는 변수와 함수를 선언할 수 있지만 클래스가 아니므로 생성자는 선언할 수 없습니다.// 믹스인에 생성자 선언 오류mixin MyMixin { int data1 = 10; static int data2 = 20; MyMixin() {} // 오류 void myFun1() { print('MyMixin... myFun()...'); } static v..
런던 이즈 블루
코딩 일기