작성자가 공부하며 쓴 내용으로 틀린 부분이 있을 수 있습니다. 틀린 내용은 피드백주시면 감사하겠습니다!
플러터는 2017년 구글에서 만들어진 오픈 소스 UI 프레임워크다.
하나의 코드베이스로 Android, IOS, 현재는 Web, Desktop까지 개발이 가능하다.
프레임워크이기 때문에 플러터 자체는 언어가 아니다.(혼동하지말자..)
플러터는 구글에서 만든 Dart라는 프로그래밍언어로 작성되었다.
최악의 언어로 꼽혔던 Dart가 플러터 덕분에 기사회생하였다..
또한, 플러터는 React Native(이하 리액트)와 많이 비교가 되었고,
현재까지도 서로의 장단점을 가진 채 사용되고있다. 이에 대한 비교는 뒤에서 하기로 하자.
듣기로는 구글의 Fuchsia OS가 플러터를 지원한다고 한다.
안드로이드를 대체하기까지는 얼마나 걸릴지 모르겠다..(사실 안드로이드를 대체할 OS 인지 모르겠다..)
플러터보다 앞서 개발되어 사용되고 있는 크로스 플랫폼 프레임워크다.
페이스북에서 개발하였다는 점과 하나의 코드베이스로 안드로이드, IOS 모두 개발이 가능하다는 점에서 인기를 끌었다.
공식문서에도 플러터가 리액트에 영감을 받았다고한다!!
필자도 자세한 아키텍처나 로직은 모른다.. 해보질 않아서..
허나 리액트를 처음 봤는데 필자는 플러터와 많이 흡사함을 느꼈다.
아래 언급되는 항목 말고도 많이 있겠지만, 필자가 생각하는 대표적인 몇 가지만 소개하겠다.
구글이 만들었다. 이것만으로도 장점이 될 것 같다..(물론 구글이 버린 것도 많다.)
개발사가 구글이기때문에 지원이 잘 되고 인기도 많다.
자바를 공부했던 필자지만, Dart를 공부할 때 크게 어려움을 느끼진 못했다.
물론, 화면 중간까지 늘어나 있는 위젯 들여쓰기를 보면 머리가 아득해지긴 한다. 클래스화를 잘 하면 문제없긴하다.
플러터는 Skia 엔진을 사용해 자체적으로 렌더링한다.
네이티브에서 제공하는 UI SDK를 사용하지 않으므로 IOS에서 안드로이드 UI를, 안드로이드에서 IOS UI를 구현할 수 있다.
어떤 플랫폼에서든 일관된 UI를 제공할 수 있고 Bridge를 사용하는 리액트보다 속도도 빠르다고 한다.
빠른데 안정성있다니? 이 무슨 사기꾼같은 소리를 하냐??
플러터가 사용하는 Dart는 JIT 컴파일과 AOT 컴파일 모두 지원한다.
개발 할 때는 JIT 모드로 빠르게 배포할 때는 AOT 모드로 안정적으로 컴파일 할 수 있다.
모든 언어가 그렇듯 후발 주자는 레퍼런스나 커뮤니티가 적다.
그래도 플러터의 무서운 상승세에 많이 좋아졌지만, 그래도 아직 리액트나 네이티브에 비해 적은 것은 사실이다.
무엇보다 개발시장에서 플러터가 많이 없다..
필자도 실무형 공부를 해왔던지라 이런 개념적인 공부는 많이 부족하다.
그래서 내가 써놓고도 이게 맞는지 모르겠다.
원론적인 공부는 다른 블로거분들이 해주리라 믿고.. 필자는 코드적인 부분에 집중하려한다.
그래도 플러터 소개는 해야하니 본 포스트를 작성하였다.