구글이 그리는 미래
플러터는 구글에서 2017년 5월 출시된 모바일/웹/데스트콥 크로스 플랫폼 GUI SDK이다. 플러터는 하나의 코드 베이스로 안드로이드, 리눅스, 윈도우, 맥OS, IOS 및 웹 브라우저에서 모두 동작시키기 위해 출시되었다. 사용되는 언어는 구글이 만든 Dart를 사용한다.
2018년, Dart언어는 codementor에서 학습에 최악인 언어로 꼽혔었다. 하지만 2019년이후 부터는 순위가 내려가며 평가가 좋아지고 있다. 아래는 codementor에서 조사한 2018년과 2019년의 최악의 언어 순위표 이다. 2018년, 다트는 대부분의 분야에서 최악이라는 평이였지만 2019년 overall 순위 14위에 랭크되며 많은 발전과 인식의 변화가 있었다.
2018년 순위 | Overall Ranking | Community Engagement | Job Market | Growth and Trends |
1 | Dart | Dart | Dart | Objective-C |
2 | Objective-C | CoffeeScript | Rust | CoffeeScript |
3 | CoffeeScript | Objective-C | Elm | Dart |
4 | Erlang | Lua | Lua | Perl |
5 | Lua | Elm | Erlang | Erlang |
6 | Clojure | Clojure | Clojure | Clojure |
7 | Perl | Elixir | Kotlin | Ruby |
8 | Clm | Erlang | Elixir | C# |
9 | Elixir | Kotlin | R | Lua |
10 | Haskell | Perl | Perl | C |
2019년 순위 | Overall Ranking | Community Engagement | Job Market | Growth and Trends |
1 | Elm | CoffeeScript | Dart | CoffeeScript |
2 | CoffeeScript | Erlang | Lua | Objective-C |
3 | Erlang | Elixir | Clojure | Elm |
4 | Lua | Elm | Erlang | Erlang |
5 | Perl | Objectitv-C | Elm | Perl |
6 | Clojure | Dart | Haskell | Lua |
7 | Elixir | Lua | Rust | Clojure |
8 | Objective-C | Clojure | Perl | Scala |
9 | Haskell | Perl | CoffeeScript | Haskell |
14 | Dart | haskell | Typescript | C |
Dart 언어를 사용는 플러터는 초기에 현업에서 사용이 어려웠다. 실제로 2019년, Line에서는 Line Pay 앱 프로젝트를 플러터로 진행하려 했다. 하지만 플러터는 만들어진지 얼마 되지 않았었기 때문에 플러그인 이슈 등의 이유로 실패했었다.
이러한 이유를 근거로 일각에서는 구글이 플러터를 포기할지도 모른다는 의견이 계속 제시되고 있다. 또 다른 근거는 구글의 프로젝트 폐기 전력이다. 구글은 현재까지 앱36개, 서비스 171개, 하드웨어 20 개의 프로젝트를 폐기했다. 이를 근거로 플러터도 쉽게 포기 될 수있다는 의견이 있다.
현재 플러터는 "많이 발전하였지만 한계가 있으며 현업에서 사용하기 어렵다. " 라는 의견이 많다. 하지만 2022년, 현재에는 실제로 앱 프로젝트에 플러터를 사용하는 기업들도 증가하였으며, 크로스플랫폼 라이벌인 ReactNative를 앞질렀다. 이는 시간에 지남에 따라 플러터는 발전하였고 현업에서도 충분히 사용이 가능해졌다. 아래의 그림은 구글트렌드에서 조회한 검색량 비교이다. 파란색이 플러터이고 빨간색이 리액트네이티브이다.
플러터는 폐기 되지 않을 것이며 구글에게 큰 부분을 차지 할 것이다. 첫번째 근거로는 현재 구글이 꿈꾸는 생태계이다. 구글은 현재 Fuchsia라는 OS를 준비하고 있다. 구글이 Fuchsia OS를 준비하는 이유는 리눅스 커널의 문제, 통합 OS의 필요성, 자체언어사용 때문이다.. 리눅스 커널은 커널에 필요한 모든 기능들을 한 곳에 모아 두어서 서로 얽혀 있기 때문에 업데이트를 하려면 노력과 시간이 엄청나게 든다. 안드로이드의 파편화가 시작된 근본적인 이유이다. 또한 구글은 스마트폰, 데스크탑, 그리고 사물인터넷까지 모두 아우르는 OS가 필요하다. 추가적으로 플러터를 사용하게 된다면 자체 개발한 Dart언어를 사용 할 수 있게된다.
현재 사용중인 안드로이드 OS는 사물인터넷에서 한계를 드러내고 있다. 예를 들어 Android OS는 주로 디스플레이에 의해 제어된다. 하지만 음성 위주로 제어되는 사물 인터넷 기기와의 궁합에서 최적화에 어려움을 겪을 수 있다.
플러터는 이 Fuchsia OS의 주요 앱들을 만들기 위한 핵심 도구이다. 이를 위해 구글은 플러터를 크로스 플랫폼 모바일 프레임워크로 만들기 위해 노력하였다. 그 다음 플러터를 모든 플랫폼을 아우르는 생태계를 만들기 위해 노력했다. 점차적으로 구글은 Fuchsia 생태계를 만들어 나갈 것이다. 실제로 2021년 구글은 인공지능 스피커인 nest hub에 Fuchsia OS 1.0버전을 사용했다. 삼성 또한 구글 Fuchsia OS에 기여를 하고 있다. 시간은 걸릴 수 있지만 Fuchsia 생태계가 완성이 된다면 당연히 Fuchsia가 사용되는 플랫폼을 만드는 프레임워크인 플러터 또한 사용이 많이 될 것이다. 이러한 점들을 미루어 보았을 때 미래에는 안드로이드, IOS, 웹, 사물인터넷, Fuchsia 모든 플랫폼이 플러터로 개발이 될 것이다.
1) 출처: https://www.codementor.io/blog/worst-languages-to-learn-3phycr98zk
2) 출처: https://www.codementor.io/blog/worst-languages-2019-6mvbfg3w9x
참고: https://engineering.linecorp.com/ko/blog/flutter-pros-and-cons/
https://www.youtube.com/watch?v=j0OXWS7jlNo
'I leaned' 카테고리의 다른 글
JWT (0) | 2023.01.24 |
---|---|
템플릿 엔진 (0) | 2023.01.14 |
Latex 수식문법 (0) | 2022.12.14 |
자바 - 추상클래스와 인터페이스 (0) | 2022.11.04 |
컴퓨터는 왜 0과 1인가 (0) | 2022.10.25 |