[Flutter] Widget을 Method / Class 로 분리의 장단점

hodu·2024년 3월 15일
0

Flutter

목록 보기
28/30

각 화면을 이루는 page.dart 안에 여러 위젯을 한 번에 작성하여 가독성을 저하시키지 않고,

Method 혹은 Class로 분리하여 가독성을 높일 뿐만이 아니며 성능 향상에도 도움을 줄 수 있도록 코드를 작성하실 것입니다.

상황에 따라 어떤 방식으로 작성하는 것이 좋을지,
각, Method와 Class로 분리할 때의 장단점에 대해 알아보겠습니다.

Method 방식

장점

  • 간단한 UI 변경 사항이나 재사용 로직을 구현할 때 빠르고 직관적입니다.

  • 부모 위젯의 context에 쉽게 접근할 수 있어, 부모 위젯의 상태를 직접 참조하거나 수정하기 용이합니다.

단점

  • 복잡한 UI 구조에서 메서드를 사용하면 코드가 지저분해지고, 가독성이 떨어질 수 있습니다.

  • 메서드는 새로운 위젯을 생성하지 않기 때문에, Flutter의 위젯 트리에서 독립적인 엔티티로 관리되지 않습니다. 따라서 성능 최적화 측면에서 위젯 트리의 재구성이 필요한 상황에서 비효율적일 수 있습니다.


Class 방식

장점

  • 복잡한 UI 구성 요소를 위젯으로 분리함으로써, 코드의 가독성유지보수성이 크게 향상됩니다.

  • 독립된 위젯으로 관리되므로, Flutter의 위젯 트리에서 재사용과 성능 최적화 측면에서 이점을 가집니다. 특히, const 생성자를 사용할 경우 위젯의 재빌드를 효율적으로 줄일 수 있습니다.

  • 동일한 UI 구성 요소를 쉽게 재사용할 수 있습니다.

단점

  • 단순한 UI 변경이나 작은 구성 요소에 대해 별도의 위젯을 만드는 것은
    오버엔지니어링으로 여겨질 수 있으며, 개발 과정을 불필요하게 복잡하게 만들 수 있습니다.

  • 부모 위젯의 상태에 접근하기 위해서는 콜백 함수나 InheritedWidget, Provider 같은
    상태 관리 라이브러리를 사용해야 될 수 있으며, 이는 추가적인 구현이 필요합니다.

profile
Flutter developer

0개의 댓글