플러터 시작하기

해버니·2022년 6월 27일
1

flutter

목록 보기
1/3
post-thumbnail

Do it! 플러터 앱 프로그래밍 책을 보고 정리한 내용입니다.

플러터는 왜 등장했을까?

애플과 구글은 각자의 앱 개발 생태계를 확장하려는 목적으로 새로운 언어를 내놓았습니다.
애플은 오브젝티브-C 대신에 SWIFT라는 언어를 만들었고, 구글은 KOTLIN이라는 새로운 언어로 자바를 대체하려고 합니다.
새롭게 등장한 두 언어는 지금도 계속 진화하면서 앱 개발 환경을 더 나은 방향으로 이끌고 있습니다.
오브젝티브-C 혹은 스위프트로 iOS 앱을 개발하거나 자바 혹은 코틀린으로 안드로이드 앱을 개발하는 것처럼 각 모바일 운영체제에 맞는 언어로 개발한 앱을 네이티브 앱(native apps) 이라고 합니다.



아무래도 귀찮잖아 두 번 일을 한다는 게

개발자들은 똑같은 앱을 iOS용과 안드로이드용으로 두 번 개발해야 했습니다.
그래서 “하나의 소스로 안드로이드와 iOS 모두에서 실행할 수 있는 방법이 없을까?”를 고민했고, 그 결과로 웹앱하이브리드 앱이 등장했습니다.
근데 이러한 기술로 만든 앱은 네이티브 앱과 비교해 상대적으로 속도가 느리고 애니메이션 사용에도 제약이 있는 등 스마트폰의 성능을 충분히 활용할 수 없었습니다.
이때 리액트 네이티브가 등장했습니다.



웹앱과 하이브리드앱이 궁금해?

웹앱(web apps)은 웹 기술을 이용해서 만든 앱입니다.
앱의 화면을 나타내는 뷰(view)를 모바일용 웹으로 만들어서 다양한 기종과 해상도에 대응하며 빠르게 개발할 수 있습니다.
요즘은 네이티브 앱처럼 알림도 보내고 오프라인에서도 동작하는 프로그레시브 웹앱(progressive web apps, PWA)도 주목받고 있습니다.
그리고 하이브리드 앱(hybride apps)은 웹앱을 만든 후 별도의 프레임워크를 이용해 운영체제별로 동작하는 앱을 만드는 기술입니다.





리액트 네이티브와 플러터

페이스북에서 만든 리액트 네이티브(React Native)는 여러 운영체제에서 동작하는 앱을 개발할 수 있는 크로스 플랫폼 앱 개발 프레임워크입니다.
특히 웹 개발자에게 익숙한 자바스크립트를 사용하므로 웹 개발자가 새로운 언어를 배우지 않고서도 앱을 개발할 수 있는 길을 터주었습니다.
또한 네이티브 언어로 앱을 개발할 때는 사용자 인터페이스를 변경할 때마다 다시 빌드해야 했지만, 리액트 네이티브는 코드를 변경하면 화면에 바로 표시되므로 개발 효율도 좋습니다.



리액트 네이티브의 장단점

장점

  • 웹앱이나 하이브리드 앱보다는 속도가 빠르다

단점

  • 내용이 많으면 느려질 수 있다.
  • 운영체제가 업데이트되면 디자인이 의도한 바와 달라질 수 있다.
  • 스크립트 언어에 익숙하지 않은 사람이 배우려면 시간이 오래 걸릴 수도 있다.





플러터가 주목받는 이유

높은 개발 효율

안드로이드와 iOS 앱을 동시에 개발할 수 있어서 효율적이다. 또한 플러터의 핫 리로드 (hot reload) 기능은 소스 수정후 번거로운 빌드 과정 없이 결과 화면에 바로 표시해주므로 개발 시간을 줄일 수 있다.

유연한 사용자 인터페이스

다양한 위젯(widget)을 제공하므로 사용자 맞춤형 앱을 쉽게 만들 수 있다. 만약 원하는 위젯이 없으면 선과 도형으로 직접 그려서 만들 수도 있다. 또한, 강력한 애니메이션 기능을 제공하여 복잡한 계산식 없이 적은 노력으로 만족스러운 사용자 경험을 줄 수 있다.

빠른 속도

플러터는 전체 화면을 그릴 때 스키아 엔진을 이용한다. 두 번의 작업을 한 번에 해서 초당 60프레임 이상의 속도로 화면을 갱신한다. 이처럼 빠르고 자연스러운 화면 전환 덕분에 네이티브 앱과 속도 차이를 거의 느낄 수 없다.


0개의 댓글