플러터의 핵심에는 스키아(Skia)라는 그래픽 엔진이 있다. 이 스키아는 플러터에서 모든 UI 렌더링을 담당하는 중요한 엔진이다. 스키아는 2D 그래픽 라이브러리로 동작하며, 고성능의 그래픽 UI를 그리기 위한 API를 제공한다. 스키아 엔진은 플러터뿐만 아니라, 구글
MediaQuery는 플러터에서 현재 화면의 크기, 방향, 밀도, 텍스트 스케일링 등과 같은 속성 정보를 가져오는 데 사용되는 중요한 위젯이다. Media라는 용어에서도 알 수 있듯, CSS의 미디어 쿼리와 비슷한 개념이며, 반응형 레이아웃을 구현하는 데에 유용하게 사
플러터에서 build 메서드는 위젯의 핵심적인 역할을 담당한다. 이 메서드는 위젯이 화면에 어떻게 표시될지를 결정하고, 실제 UI를 생성하는 역할을 한다.build 메서드는 BuildContext를 하나의 파라미터로 받는다. 이로 인해 생성되는 컨텍스트(Context)
플러터를 조금 깊게 들어가다 보면 마주치게 되는 세 가지 트리가 있다. 바로, Widget Tree, Element Tree, 그리고 Render Tree이다. 개발자로서 Widget Tree는 익숙하지만, 다른 두 트리에는 생소한 것이 현실이다. 이번에 세 가지 트리
플러터에서 길이가 가변하는 여러 항목의 목록을 만들 수 있는 위젯으로 ListView()가 있다. 이 위젯과 함께 흔히 언급되는 위젯으로 ListView.builder()가 있는데, 이 둘의 차이를 알아보고자 한다.ListView()의 가장 큰 특징은 바로, 자식 위젯
플러터에는 변경 사항을 반영할 수 있는 방법으로 핫 리로드(Hot Reload)와 핫 리스타트(Hot Restart)가 있다. 코드 변경 사항을 빠르게 적용할 수 있어, 플러터의 최대 강점으로 꼽힌다. 이번 글에서는 핫 리로드와 핫 리스타트를 비교해보고, 어떤 때, 어
플러터는 단순한 크로스 플랫폼이 아니다. 물론, 대부분의 사용 사례가 iOS와 Android의 크로스 플랫폼 개발 환경에 초점이 맞춰져 있는 것이 사실이긴 하다. 그러나, 플러터는 다양한 디바이스에서 일관된 UI와 UX를 제공해준다는 획기적인 장점으로 우리가 생각지 못