플러터(Flutter)는 구글에서 개발한 크로스 플랫폼 모바일 애플리케이션 개발 프레임워크이다. 처음으로 프론트엔드 개발, 그것도 어플리케이션 개발을 해보기 때문에 걱정이 많이 된다.
간단한게 장점과 단점에 대해서 알아보고자 한다.
크로스 플랫폼 개발: 플러터는 한번의 개발로 안드로이드와 iOS 애플리케이션을 동시에 개발하여 시간과 비용 소모를 최소화할 수 있으며, 애플리케이션의 동일한 UI와 기능을 여러 플랫폼에서 일관되게 제공할 수 있다.
핫 리로딩: 실제로 써보니 이 기능이 압도적으로 편하긴 하였다. 플러터는 공식적으로 "핫 리로딩" 기능을 제공한다. 이 기능은 코드 변경 시 저장만으로 애플리케이션을 다시 컴파일하지 않고도 즉시 변경 사항을 확인할 수 있게 해주며 이를 통해 개발 속도가 상당히 향상될 수 있다.
높은 성능: 플러터는 리액트 네이티브와 달리 네이티브 컴파일로 빌드되기 때문에 성능이 빠른 편이다. 플러터 애플리케이션은 네이티브 코드와 거의 동일한 성능을 제공한다고 알려져 있다.
라이브러리의 한정성: 플러터는 상대적으로 라이브러리와 컴포넌트의 생태계가 안드로이드 및 iOS의 네이티브 개발에 비해 제한적이다. 따라서 기능이나 특정 플랫폼에 대한 지원이 부족할 수 있으나 23-06 기준으로는 이러한 부분을 느끼기가 힘들긴 하였다.
플랫폼 종속성: 플러터는 크로스 플랫폼 개발을 지원하지만, 각 플랫폼의 고유한 기능에 접근하기 위해 플랫폼별 코드를 작성해야한다. 실제로 처음 개발을 해보는 입장에선 안드로이드, IOS의 네이티브 코드를 무조건적으로 건드려야하는 입장에서 참 쉬운 일은 아니었던 것 같다.