각 화면을 이루는 page.dart 안에 여러 위젯을 한 번에 작성하여 가독성을 저하시키지 않고,
Method 혹은 Class로 분리하여 가독성을 높일 뿐만이 아니며 성능 향상에도 도움을 줄 수 있도록 코드를 작성하실 것입니다.
상황에 따라 어떤 방식으로 작성하는 것이 좋을지,
각, Method와 Class로 분리할 때의 장단점에 대해 알아보겠습니다.
간단한 UI 변경 사항이나 재사용 로직을 구현할 때 빠르고 직관적입니다.
부모 위젯의 context에 쉽게 접근할 수 있어, 부모 위젯의 상태를 직접 참조하거나 수정하기 용이합니다.
복잡한 UI 구조에서 메서드를 사용하면 코드가 지저분해지고, 가독성이 떨어질 수 있습니다.
메서드는 새로운 위젯을 생성하지 않기 때문에, Flutter의 위젯 트리에서 독립적인 엔티티로 관리되지 않습니다. 따라서 성능 최적화 측면에서 위젯 트리의 재구성이 필요한 상황에서 비효율적일 수 있습니다.
복잡한 UI 구성 요소를 위젯으로 분리함으로써, 코드의 가독성과 유지보수성이 크게 향상됩니다.
독립된 위젯으로 관리되므로, Flutter의 위젯 트리에서 재사용과 성능 최적화 측면에서 이점을 가집니다. 특히, const
생성자를 사용할 경우 위젯의 재빌드를 효율적으로 줄일 수 있습니다.
동일한 UI 구성 요소를 쉽게 재사용할 수 있습니다.
단순한 UI 변경이나 작은 구성 요소에 대해 별도의 위젯을 만드는 것은
오버엔지니어링으로 여겨질 수 있으며, 개발 과정을 불필요하게 복잡하게 만들 수 있습니다.
부모 위젯의 상태에 접근하기 위해서는 콜백 함수나 InheritedWidget, Provider 같은
상태 관리 라이브러리를 사용해야 될 수 있으며, 이는 추가적인 구현이 필요합니다.