🐳Flutter

[Flutter,Dart]플러터와 다트의 철학 Flutter and Dart philosophy

DevJiun 2021. 8. 4. 04:45

다트와 플러터의 철학에 대해서 알아보려고 합니다.

 

다트와 플러터를 사용해서 한개의 프로젝트를 끝내본 후 프로그래밍언어와 프레임워크가 만들어진 배경과 철학을 잘 이해하고 사용해야 된다는 것을 느꼈습니다.

 

생각없는 막코딩은 미래에 본인과 팀을 힘들게 할 뿐입니다. 언어와 프레임워크에 대한 이해도를 가지고 공을 들여 코딩하는 습관을 들이기 위해 깊은 공부가 필요하다는 것을 알게 되었습니다.

 

플러터(Flutter) == 다트(Dart)

 

거의 이렇게 봐도 무방할거라고 생각합니다. 둘 간의 차이라면 다트는 프로그래밍 언어이고 플러터는 그 다트를 바탕으로 만들어진 프레임워크입니다.

 

공식문서를 살펴보아도 둘의 목적이 거의 같습니다.

 

플러터의 목적(철학).

 

1. 개발시간 단축

 

개발자의 개발시간 단축을 위해 만들어졌습니다. 보통 개발시간을 단축하려고 하면 막코딩을 하기 쉬워집니다. 하지만 개발자들에게 가독성을 손해보지 않게 하며, 이해하기 쉬운 프레임워크를 목표로 합니다. 핫리로드 기능은 이런 개발시간 단축에 많은 도움을 줍니다.

 

2. 객체지향

최근에 나온 언어들은 대부분 객체지향으로 만들어졌습니다. 그렇기에 다수의 개발자가 객체지향에 익숙해져 있어 빠르게 습득 할 수 있습니다. 객체지향이 아닌 언어로 Flutter를 만들 수 있었지만 이것은 바퀴를 재창조하는 일이라 생각해 객체지향으로 만들었다고 합니다.

 

3. 성능

개발시간 단축 및 쉬운 언어를 목표로 하지만 성능을 포기하지 않습니다. 모든 플랫폼에서 프레임 저하 현상없이 동일한 UI를 목표로 합니다. Flutter를 통해 빠르고 유연한 사용자 경험을 만들수 있도록 역량을 강화하고자 한다. 

 

기본적으로 컴파일된 코드를 통해 Flutter 앱이 실행되므로 인터프리터가 관여하지 않습니다. 즉, Flutter 앱이 빨리 시작됩니다.

 

Dart는 모든 플랫폼에서 빠른  애플리케이션을 위한 클라이언트 최적화 언어입니다.

 


플러터 공식문서에서 UI Framework 라는 점을 매우 강조합니다. 즉 빠른 UI개발에 특화된 프레임워크입니다.

 

이를 잘 이해하고 플러터를 사용한다면 많은 장점을 가져갈수 있다고 생각합니다.

 

퓨시아 os(Fuchsia os)의 메인 개발환경에 플러터가 포함되어 있습니다. 구글은 지속적으로 다양한 기기에 퓨시아를 도입하기 위해 연구중이라고 합니다. 다른 객체지향 언어를 개발해 본 분들이라면 아주 약간의 시간을 투자해 플러터를 배워봐도 손해는 없을것이라고 조심스럽게 추천드립니다.

 

출처 : https://fuchsia.dev/

출처 : https://flutter-ko.dev/

출처 : https://dart.dev/

 

Dart programming language

Dart is a client-optimized language for fast apps on any platform

dart.dev