지난 글에서는 코딩이란 무엇인지, 또 지금 꼭 파이썬(Python)을 시작해야 하는 이유 등으로 일상에서의 코딩에 대해 간략하게나마 소개를 드렸었습니다.

본 글에서는 일상 코딩을 넘어 어플리케이션 개발을 시작하시는 분들에게 구글 플러터(Flutter)가 무엇인지, 또 플러터로 개발할 때 장점에 대해 자세히 알려드리고자 합니다.

[[나의목차]]

 플러터(Fultter) 소개

먼저 플러터에 대해 알려드리겠습니다. 플러터는 어플리케이션(앱)을 만들기 위한 도구로 소위말하는 크로스 플랫폼 개발 프레임워크입니다.

사실 다른 프레임워크를 사용하시는 분들이나, 개발 경험이 있으신 분들은 크로스 플랫폼 개발 프레임워크라는 단어만으로 플러터가 어떤 것인지 대충 감이 오실텐데요, 개발이 처음이신 분들께는 생소한 개념일 수 있습니다.

간략시 설명드리자면, 크로스 플랫폼은 플랫폼을 넘나든다는 의미로 여기서는 모바일 어플리케이션의 두 대표 플랫폼인 구글의 안드로이드(Android)와 애플의 iOS를 모두 지원한다는 의미를 품고 있습니다.

원래 각각의 마켓, 즉 구글의 플레이스토어(Playstore) 또는 애플의 앱스토어(AppStore)에 동일한 어플을 업로드 하기 위해서는 개발자가 각각 두 플랫폼에 맞는 2개의 다른 언어로 개발을 진행해야 했습니다.

이처럼 각 플랫폼에 맞춰 정해진 언어로 개발하는 것을 네이티브(native) 개발이라고 합니다.

구글의 경우 Java 또는 Kotlin이 네이티브 개발을 위한 언어로 사용되고 있고, 애플의 경우 Swift가 사용되고 있는데요, 이렇게 두 언어를 나누어 개발하는 대신 플러터의 언어인 Dart로 개발하게 되면 1개의 앱을 개발하고 양쪽 모두에 배포할 수 있다는 의미입니다.

프레임워크는 간단하게 이해하고자 하면, 개발을 위한 제반사항을 모두 마련해둔 도구라고 이해할 수 있습니다.

예를 들어, 개발하는 사람이 코딩으로 어떤 기능을 구현하고 싶을 때, 코딩으로 구현되는 요소들의 스타일이나, 에니메이션, 또는 페이지를 이동할 때 화면상의 움직임, 백그라운드에서의 데이터처리 등에 대한 규칙 등이 미리 정리되어 있다는 말입니다.

개발자는 이 프레임워크를 사용하면 코드만으로 정해진 규칙들을 불러와 전체적인 어플리케이션이 동작하도록 구성할 수 있으며 이 작업을 프로그래밍이라고 합니다. 

구글에서는 플러터라는 프레임워크를 2018년 12월 정식 출시하여 지속적인 업데이트를 통해 서비스하고 있으며, 현재는 모바일 어플리케이션을 넘어 웹까지도 그 활용성을 화장해가고 있습니다.

 

 다트(Dart)

앞서 말씀드린 것과 같이 플러터라는 프레임워크는 다트라는 개발 언어를 사용합니다.

사실 다트라는 언어는 Java나 C와 같이 역사가 오래되지도 않았으며 아직 대중적인 언어가 아니기때문에 플러터를 해보지 않으신 분들에게는 굉장히 생소한 언어입니다.

하지만 다행히도 다트 언어 자체가 Java 또는 C와 매우 유사하기 때문에 기존에 Java나 C 경험이 있다면 유투브 등을 통해 다트 기본 문법에 대해 정리된 1~2시간짜리 영상만 한번 시청하시고 바로 실전 개발이 가능할 정도입니다.

다트 언어의 가장 큰 특징은 Java 및 C언어와 같이 객체지향 프로그래밍 언어라는 점이며, 심지어 다트로 구현이 어려운 부분은 각 플랫폼의 네이티브 언어로 코드를 작성해 불러와 사용할 수 도 있습니다.

플러터의 등장과 함께 다트 언어에 대한 수요도 지속적으로 증가하는 추세이며, 깃허브(Github) 통계에 따르면 이같은 인기에 힘입어 다트 언어 사용비율이 타 언어의 증가율에 비해 압도적으로 높은 수치로 1위를 기록하고 있다고 합니다.

 

 플러터 개발의 장점

플러터와 다트 언어에 대한 이해는 앞선 내용에서 마무리하고 플러터로 개발을 시작했을 때의 장점에 대해 좀 더 자세히 알려드리고자 합니다. 

혹시 플러터에 대해 조금 더 자세히 알고싶으신 부분이나 추가적으로 궁금하신 부분이 있다면 아래 플러터 공식 페이지를 방문해보시길 추천드립니다.

>플러터 공식 홈페이지 바로가기<

 

 MVP 개발

스타트업(Start-up) 기업에게 개발 시간 단축과 비용저감만큼 매력적인 단어는 없을 것입니다.

보통의 스타트업 기업들은 번뜩이는 키 아이디어를 기반으로 사업을 시작하게 되고, 요즘은 그런 아이디어를 빠르고 간단하게 실현시켜주는 것인 모바일 앱 시장입니다.

모바일 앱 시장에서 해당 아이디어를 실현해보고 실제 고객들의 피드백을 받아 점차 기능을 다듬고 개선해나가며 회사의 덩치도 키워나가는 것이 일반적인데요, 이 때 이 아이디어를 실현하기 위해서는 MVP 개발이 필요합니다.

MVP는 Minimum Viable Product의 약자로, 최소 기능 제품을 의미 합니다.

즉, 기업의 아이디어가 세상에 나와 고객의 피드백을 받을 수 있는 최소한의 기능 및 동작이 가능한 형태의 제품을 MVP 제품이라고 하며, 따라서 스타트업 입장에서는 MVP 앱을 얼마나 빠르게(시간단축), 저렴한 비용으로(비용저감) 개발하느냐가 관건입니다. 

이 때 스타트업이 구글 플러터를 활용하면 시간단축 및 비용저감이란 두마리 토끼를 모두 잡을 수 있습니다.

이는 플러터로 빠르게 개발을 하면 그 즉시 Android 및 iOS 그리고 웹까지 서비스가 가능하기 때문입니다.

만약 네이티브 개발로 MVP 앱을 런칭하기 위해서는 각 플랫폼에 맞춰 각기 다른 개발자를 고용하고, 업데이트할 때마다 각각의 플랫폼에 다시 업데이트를 하는 수고를 해야하는데 단순 계산으로도 플러터대비 비용 및 시간 측면에서 상대적으로 굉장한 손해를 보게 됩니다.

 우수한 성능

플러터 외에도 대표적인 크로스플랫폼 프레임워크로 ReactNative가 있습니다.

구체적으로 각 프레임워크의 동작 원리나 구성에 대해서 알아보기는 어렵지만, 타 크로스플랫폼 프레임워크 대비 플러터가 갖는 가장 큰 매력은 개발된 어플의 성능이 네이트브 어플과 견줄만큼 매우 빠르다는 것입니다.

ReactNative와 같은 타 프레임워크의 경우 보통 해당 프레임워크에서 작성한 코드가 네이티브 언어의 코드에 대응을 시켜 네이티브 언어로 어플이 동작하도록 합니다.

이 때 네이티브 언어와의 코드 일치를 위해 네이티브 브릿지(bridge)라는 것이 개입하게 되는데, 매번 이 브릿지를 한번 거쳐 어플이 구동되다 보니 태생적으로 네이티브 앱 대비하여 어플의 실행 속도가 느려질 수 밖에 없습니다.

하지만 플러터의 경우, 다트언어로 작성한 코드는 플러터의 skia 엔진을 통해 직접 어플에 구현이 되므로 네이티브앱과 유사한 수준의 구동 속도를 가질 수 있습니다.

 

이상으로 본 글에서는 구글 플러터를 활용한 어플 개발에 대해 간략히 알아보았습니다. 

추후에는 플러터를 실제로 설치하고 개발하는 과정, 플러터 기본 문법 등에 대해 다뤄볼 수 있도록 하겠습니다.

 

함께 보면 좋은 글

 

코딩이란

 코딩이란 최근 코딩에 대한 관심이 무척 높습니다. 아이들은 이미 정규 교육과정 중에 코딩을 접하고 있으며, 자녀를 둔 학부모 입장에서는 아이들이 배우는 코딩에 대해 자연히 관심을 가질

comoble.tistory.com

 

 

지금 꼭 파이썬(python)을 시작해야하는 이유

일상에서 파이썬 코딩이 필요할까 업무의 자동화는 매우 매력적인 분야인 것 같습니다. 사실 직군이 사무직인 분들은 수년~수십년간 다뤄오신 엑셀에서 매크로까지 사용하시면서 능수능란하게

comoble.tistory.com

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기