제리토 블로그

플러터의 이해와 장점

페이스북에서 리액트 네이티브를 만들었습니다. 리액트 네이티브는 여러 운영체제에서 동작하는 앱을 만들 수 있는 크로스 플랫폼 앱 개발 프레임워크입니다. 리액트 네이티브에서는 자바스크립트가 다리 역할을 하면서 네이티브 API에 접근합니다. 자바스크립트 코드가 다른 운영체제에서 실행되게 연결해줍니다. 따라서 웹앱이나 하이브리드 앱보다는 속도가 빠릅니다. 그러나 화면에 표시할 내용이 많으면 느려질 수 있습니다. 그리고 운영체제가 업데이트 되면 앱의 모습이 바뀔 수 있습니다.

플러터는 리액트 네이티브와 같은 크로스 플랫폼 프레임워크입니다. 플러터는 구글에서 만든 다트라는 언어를 사용합니다. 플러터는 프레임워크, 엔진, 임베더 계층으로 되어 있습니다. 프레임워크 계층에는 다트 언어로 개발된 여러 가지 클래스가 있습니다. 앱을 개발할 때 여기 있는 클래스를 사용합니다. 그리고 엔진 계층은 플러터의 핵심 역할을 하는데 대부분 C와 C++로 만들어졌습니다. 임베더 계층은 플러터 앱이 크로스 플랫폼에서 동작할 수 있도록 플러터 엔진이 렌더링한 것을 각 플랫폼별로 뷰를 만들어서 화면에 보여줍니다. 그래서 다트 언어로 개발하면 여러 운영체제에 작동하는 앱을 만들 수 있습니다.

플러터는 네이티브 앱 개발자 기준에서 리액트 네이티브보다 학습 곡선이 낮습니다. 다양한 위젯이 있고 강력한 애니메이션 기능을 지원합니다. 그리고 블루투스 등 하드웨어와 연결성도 좋습니다. 높은 개발 효율성, 여러 사용자 인터페이스, 네이티브 앱 못지 않게 빠른 속도도 큰 장점입니다. 플러터는 핫 리로드 기능이 있습니다. 소스 수정 후에 빌드 과정 없이 결과를 화면에 보여주기 때문에 개발 시간을 줄일 수 있습니다. 여러 운영체제에서 똑같은 화면을 보여주는 것도 큰 장점입니다. 리액트 네이티브의 경우 UI 등이 운영체제에 따라서 다른 경우가 있습니다. 플러터는 전체 화면을 글 때 스키아 엔진을 사용합니다. 1초에 60프레임 이상으로 화면을 그려주기 때문에 네이티브 앱과 속도 차이를 거의 느낄 수 없습니다.

윈도우에서 플러터는 사용하는 방법을 알아보겠습니다. 먼저 안드로이드 스튜디오를 설치합니다. 그리고 플러터 SDK를 설치합니다. 안드로이드 스튜디오에서 바로 설치할 수 있습니다. 웹 사이트에서 다운로드 받는 방법도 있습니다. 안드로이드 스튜디오에서 플러터 SDK를 인식하고 컴파일 후 실행할 수 있게 해주는 플러그인을 설치합니다. File > Setting > Plugins를 순서대로 선택합니다. 플러그인 검색창에서 flutter를 검색합니다. 플러터 플러그인을 찾은 후에 Install을 클릭합니다. 그리고 Restart IDE를 클릭해서 다시 실행합니다. 그러면 Create New Flutter Project 메뉴가 나옵니다. 플러터 SDK 경로를 입력합니다. 프로젝트 설정을 합니다. 패키지 이름은 앱의 고유한 주민등록번호라고 생각하면 됩니다. 도메인.회사명.프로젝트이름으로 정하는 것이 보통입니다. 에뮬레이터는 앱을 실행할 수 있는 가상의 장치입니다. 컴퓨터가 너무 느려지는 경우는 스마트폰을 USB 케이블로 연결해서 직접 테스트합니다. CUP가 AMD 계열이면 Android Emulator Hypervisor Driver를 설치하는 것이 좋습니다.