본문 바로가기
비전공자를 위한 Flutter/앱 개발 준비하기

통역사 Flutter는 어떤 친구인가요? (앱 개발 방법 3가지)

by 밍잔 2022. 4. 16.
*주의 : 이 강의는 비전공자의 이해를 돕기 위한 강의로 실제내용을 각색했음을 알립니다.

 

 

 

영어로는 Flutter, 한국에서는 플러터라는 발음으로 부르고 있어요. 플러터는 2017년에 구글에서 여러가지 프로그램과 안드로이드 앱, 아이폰 앱을 하나의 언어로 개발하고자 만든 통역사 친구에요. 앱을 개발하는 방법에는 크게 3가지가 있는데, 플러터 개발은 3가지 앱 개발 방법 중 하나라고 생각하시면 됩니다. 하나씩 비교하면서 알아볼게요!

 

 

1. Native (네이티브)

지금까지 여러분에게 안드로이드어, 아이폰어라고 말씀드린 언어는 네이티브 언어라고 말해요. 영어 원어민을 네이티브 스피커라고 말하는 것과 같죠. 네이티브 언어를 사용해서 앱을 개발하는 방법을 네이티브 개발이라고 말하고 있어요. 안드로이드폰과 아이폰에서 대표적으로 개발하는 네이티브 언어는 각각 2개씩 있어요.

 

안드로이드어 아이폰어

Java (자바)

Swift (스위프트)

Kotlin (코틀린)

Objective-C (오브젝티브씨)

 

안드로이드와 아이폰이 각각 사용하는 언어로 앱을 만들었으니 의사소통이 빠르고, 일처리도 가장 빠르게 되겠죠? 자바와 코틀린, 스위프트와 오브젝트씨의 차이는 지방 사투리 정도로 생각하시면 됩니다. 안드로이드어와 아이폰어의 차이는 한국인과 한국인, 일본인과 일본인이 소통한다고 상상하시면 되구요. 문제는 해외여행을 갔을 때 벌어집니다. 자바만 할 줄 알던 사람은 아이폰 나라에 가봐야 말이 안 통하니 아무것도 할 수 없죠. 반드시 아이폰 나라에서 사용하는 스위프트나 오브젝트씨 중에서 하나의 언어를 꼭 배워야 했던 겁니다. 직접 배우지 않고 그 언어를 할 줄 아는 사람을 고용하는 것도 돈이 없으면 못하는 일이었죠!

 

 

 

2. React Native (리액트 네이티브)

 

 

이런 점이 불편했던 페이스북은 2015년에 누구나 사용할 수 있는 통역사를 만듭니다. 리액트 네이티브라는 친구인데요, 리액트 네이티브는 한 가지 언어만 사용합니다. Javascript (자바스크립트)라는 하나의 언어를 이용해 통역사가 각각 안드로이드어와 아이폰어로 번역해서 앱을 만들어주는 친구라고 볼 수 있죠. 자바스크립트는 여러분이 사용하시는 인터넷 웹사이트에서 사용되는 언어입니다. 그래서 이 친구는 웹사이트를 만들 때에도 활약할 수 있어요! 근데 앱을 만들 때, 이 친구는 직역만 할 줄 압니다. 안드로이드 나라와 아이폰 나라에서는 같은 일을 하더라도 필요로 하는 정보가 달라서 질문이 달라요. 그러다보니 이 친구는 이 언어, 저 언어를 왔다갔다 하느라 머리가 복잡해져서, 네이티브 스피커에 비해서는 앱과 소통하는 속도가 조금 느립니다. 가끔 심도 있는 질문을 알아듣거나 표현할 수 없을 때도 있죠. 그런 일이 생기면 여러분이 통역사를 대신해 그 네이티브 언어를 공부해서 직접 소통해야 하죠.

 

 

 

3. Flutter (플러터)

 

 

 

구글도 네이티브 언어를 다 알아야 하는 점이 불편해서 2017년에 플러터라는 통역사를 만듭니다. 플러터도 딱 한 가지 Dart(다트)라는 언어를 사용하죠. 이 통역사 친구도 Dart라는 언어로 말하면 알아서 안드로이드와 아이폰과 소통하게 해주는데요, 조금 다른 점이 있습니다. 리액트 네이티브 통역사가 한 마디 한 마디 직역하면서 소통했다면, 플러터는 질문을 받으면 그냥 그림을 보여줍니다. 백 마디 말보다 사진 한 장 보여주는 편이 이해가 더 빠르거든요.

 

말로 설명할 때 사진 한 장
흰 바탕에 새카만 사과가 옆에서 본 것처럼 그려져 있는데, 이파리는 딱 하나 달려있는데, 가지 없이 사과 위에 대각선 45도 각도로 붙어있고, 사과는 오른쪽이 한 입 베어문 것처럼 동그랗게 파여있다.

 

플러터는 Skia(스키아)라는 그림판 위에 그림을 그려서 소통하기 때문에 속도가 리액트 네이티브보다 빠르죠. 네이티브에 버금가는 소통 속도를 보여줍니다. 이렇게 그림으로 보여줘버리니 앱 뿐만 아니라 웹사이트나 윈도우 프로그램, 맥 프로그램도 다트 언어 하나로 만들어버릴 수 있습니다.

 

 

하지만 심도 있는 질문을 받아 그림으로 표현하기 어려운 경우엔 리액트 네이티브와 마찬가지로 여러분이 직접 네이티브 언어로 소통해야 하죠. 여러분이 그럴 일을 맞이할 시기는 아마 몇 년후가 될 거라 말씀드릴 수 있습니다.

 

 

 

플러터에 대해 어느정도 알게 되셨나요? 플러터와 함께 앱을 개발하려면 다트라는 언어를 공부해야 한다는 점을 알게 되셨을 겁니다. 다트는 앱을 실제로 만들면서 필요한 부분을 조금씩 알려드리도록 할게요. 우선 여러분의 컴퓨터에 플러터를 설치해볼까요?

 

* 여러분이 윈도우가 설치된 노트북이나 컴퓨터를 사용하신다면 아래 링크를 누르세요.

 

Flutter 윈도우 설치된 노트북, 컴퓨터에 설치하는 법

 

mingzan.dev

 

* 여러분이 맥이나 맥북을 사용하신다면 아래 링크를 누르세요.

 

Flutter 맥, 맥북에 설치하는 법

<작성중>

mingzan.dev

 

댓글