1. 플러터의 등장배경
네이티브 앱
- 애플은 ios운영체제를 발표하면서 오브젝티브-C로 만든 아이폰용 앱을 출시할 수 있는 앱스토어를 만듦
- 구글도 뒤이어 안드로이드 운영체제를 발표하면서 자바를 사용해 안드로이드용 앱을 판매할 수 있는 구글플레이 만듦
- 애플과 구글은 각자의 앱 개발 생태계를 확장하려는 목적으로 새로운 언어를 발표, 스위프트(swift), 코틀린(kotlin)이 등장.
- 오브젝티브-C나 스위프트로 ios앱을 개발하거나 자바나 코틀린으로 안드로이드 앱을 개발하는 것처럼
각 모바일 운영체제에 맞는 언어로 개발한 앱을 네이티브 앱(native apps)이라고 함.
웹앱과 하이브리드 앱
- 등장배경 : 애플과 구글로 양분화된 모바일 시장에서 더 많은 사용자가 앱을 사용하게 하기 위해서는 똑같은 앱을 ios용과 안드로이드용으로 두 번 개발 필요. 하나의 소스로 안드로이드와 ios 양쪽에서 실행하게 하기 위해 웹앱과 하이브리드 앱 등장.
- 웹앱(web apps): 웹 기술을 이용해서 만든 앱. 앱의 화명르 나타내는 뷰를 모바일 웹으로 만들어서 다양한 기종과 해상도에 대응하며 빠르게 개발 가능 * 프레그레시브 웹앱(progressive web apps, PWA) - 네이티브 앱처럼 알림도 보내고 오프라인에서도 동작
-하이브리드 앱(hybride apps) : 웹앱을 만든 후 별도의 프레임워크를 이용해 운영체제별로 동작하는 앱을 만드는 기술.
리액트 네이티브
- 등장배경 : 웹앱과 하이브리드 앱은 하나의 소스로 ios, 안드로이드에서 실행이 가능했지만, 네이티브 앱과 비교해 상대적으로 속도가 느리고 애니메이션 사용에도 제약이 있는 등 스마트폰의 성능을 충분히 활용할 수 없었음
- 페이스북에서 만든 크로스 플랫폼 앱 개발 프레임워크(여러 운영체제에서 동작하는 앱을 개발할 수 있다.)
- 자바스크립트 기반이기 때문에 웹 개발자가 새로운언어를 배우지 않아도 앱 개발 가능
- 코드를 변경하면 바로 화면에 표시되어 개발 효율이 좋다.
- 자바스크립트코드가 각기 다른 운영체제의 네이티브 API에 접근하여 실행될 수 있도록 연결.
- 웹앱이나 하이브리드 앱보다는 속도가 빠르지만, 화면에 표시할 화면이 많으면 느려질 수 있음
- 운영체제가 업데이트되면 디자인이 의도한 바와 달라질 수 있음.
- 스크립트 언어에 익숙하지많으면 개발 쉽지 않음.
플러터(Flutter)
- 구글에서 만든 다트(Dart)라는 언어를 사용하는 크로스 플랫폼 앱 개발 프레임워크.
- 자바나 C#같은 컴파일 언어가 가진 특징을 확용해 앱 개발 가능
2. 플러터의 장점
높은 개발 효율
- 플러터를 이용하면 같은 코드로 안드로이드와 ios앱에 동시에 개발가능
- 어떤 운영체제에서도 똑같은 UIUX를 제공
- 소스 수정 후 재빌드과정없이 변경된 내용을 화면에 바로 표시해주는 핫리로드 기능 제공
유연한 사용자 인터페이스
- 다양한 위젯 제공, 원하는 위젯이 없다면 커스텀하여 사용 가능
- 강력한 애니메이션 기능 제공
- ios에서 구글의 머티리얼 디자인이 적용된 앱을 만들거나, 안드로이드에서 ios 스타일의 앱을 개발 할 수 있는 등 운영체제에 구애받지 않음
빠른속도
- 플러터는 전체화면을 그릴 때, 하나의 작업당 초당60프레임 이상의 속도로 화면을 갱신함
- 빠르고 자연스러운 화면전환 덕분에 네이티브 앱과의 속도차이를 거의 느낄 수 없음.
'개발 공부 > 앱' 카테고리의 다른 글
플러터(FLUTTER) 설치하기 (0) | 2022.07.10 |
---|