목록개발/flutter (131)
파파비의 블로그
플러터는 하나의 프로그래밍 언어를 사용하여, 하나의 코드베이스(프로젝트)로, 안드로이드와 IOS 둘 다 네이티브 수준으로 만들 수 있게 해준다. 1. 플러터 SDK (개발툴) - 컴파일을 도와주는 등의 개발할 수 있는 환경을 제공하는 것. - 안드로이드 스튜디오나 VS code위에 플러터SDK를 입힐 수 있습니다. 2. 플러터 Framework - 개발을 용이하게 해주는 라이브러리, 위젯, 유틸리티들을 제공해줌 - 프레임워크를 사용하면 굉장히 빠른 시간에 UI들을 재사용 할 수도 있어서 효율적입니다. 하나의 프로그래밍 언어는 Dart입니다. Dart는 한국에서는 아마 굉장히 생소한 언어일 것입니다. 실제로 Java와 C# 그리고 JS를 섞어놓은 듯한 느낌의 언어이고, 언어는 개인적으로는 쉬운 편에 속한다..
플러터는 declarative UI programming 방식을 사용합니다. swiftUI도 그러한 방식을 사용한다고 합니다. 그런데 전 swiftUI가 뭔지 잘 모릅니다 ^^; 아무튼, 안드로이드 스튜디오 같은 형식은 imperative UI programming 방식입니다. 이둘의 차이는 무엇일까요? 전형적인 프로그래밍 방식은 imperative UI programming입니다. imperative UI programming은 변화의 과정을 일일이 개발자가 명시합니다. 예를 들어 레이아웃의 색깔을 변화시킬 경우, 버튼을 늘릴 경우 그 레이아웃 객체의 기존 색을 제거하고, 새로운 색을 add하고... 버튼은 하나 생성해서 어디 아래로 넣어라! 라고 변화의 '과정'을 명시하는 것이죠. 이러는 과정에서 개..
플러터에서 ListView는 어느 정해진 공간안에 컨텐츠가 들어가고, 그 컨텐츠의 사이즈가 부모(ListView)의 사이즈보다 커지면 자동으로 스크롤이 생기는 위젯을 의미한다. ListView.Builder는 이름만 봐서는 무슨 함수같지만, 사실 이친구도 위젯이다. 그리고 ListView처럼 안에 내용물이 많아지면 스크롤이 생긴다는 점은 같지만 내용물을 보여주는 내부 원리는 다르다. ListView.Builder 매우 많은 양의 리스트를 보여줄 때 유리하다. ListView.Builder는 동적으로 필요한 부분만, 보여줄 부분만 생성하기 때문이다. 스크롤이 내려가면 그때서야 필요한 부분들을 생성한다. 보여주려는 리스트가 10~20개 정도가 아닌, 수천개라고 해보자, ListView는 build 메소드가 ..