개발/안드로이드

Fragment로만 앱을 만들면 좋은 점?

스몰스테핑 2024. 7. 18. 16:57

Fragment란?

Activity가 가진 문제를 해결하기 위해 등장했다.

1. Activity 안의 코드가 길어질 경우, 유지보수가 어려워짐.

2. 안드로이드 디바이스의 화면 크기 다양성에 따른 UI 디자인의 어려움.

 

 

 

Fragment의 주요 특징

 

앱의 전체 UI의 어딘가에서 반복적으로 사용 가능한 부분에 사용 가능.

자체 생명 주기를 가지고 있고, 자체 입력 이벤트를 받아 처리할 수 있음.

독립적인 존재가 불가능하며 반드시 Activity나 다른 Fragment에 호스팅되어야 함.

Android Jetpack 라이브러리 중 Navigation, BottomNavigationView, ViewPager2 등 fragment와 호환되도록 설계되어 있어 자주 사용됨.

Activity와 Fragment의 목적성이 다름.

(Activity = 전체적인 UI에 포함될 요소 배치, Fragment = 단일 화면, 화면 일부에 관한 UI 정의. 아래 이미지 참고)

 

 

Fragment로만 앱을 만들면 좋은 점은?

1. 모듈성: Fragment는 앱의 UI를 독립적인 단위로 분리할 수 있다. 즉, 코드의 재사용성과 유지보수성이 뛰어나며 앱의 구조를 더 명확하게 만들 수 있다.

2. 액티비티 대비 가볍고 유연성: 하나의 액티비티 안에 부분적인 화면을 추가하고 싶을 때 Fragment를 사용하면 앱이 무거워지고 복잡해지는 것을 피할 수 있다. 또한, 같은 화면을 여러 액티비티에서 사용하고 싶을 때, Fragment를 재사용함으로써 효율성을 높일 수 있다.

3.화면 전환 용이: Fragment는 Fragment Manager를 통해 이동하며, 메소드 호출을 통해 이동한다. 이는 액티비티 간의 이동보다 훨씬 더 간결하고 효율적인 방법을 제공한다.

4. 대화형 및 유연한 UI 디자인 지원: 큰 화면에서는 여러 Fragment를 동시에 표시할 수 있어 역동적이고 유연한 UI 디자인을 지원한다. 이는 특히 NavigationDrawer, BottomSheetDialog, Navigation Component 등을 구현할 때 유용하다.

 

그러나 Fragment로만 앱을 만들 때 주의할 점은 항상 Activity 또는 다른 Fragment에 호스팅 되어야 하는 관계로 호스트와의 상호작용을 올바르게 관리하는 것이 중요하며, 생명주기를 올바르게 관리해야하는 것 또한 중요하다.

 

Fragment의 특징과도 연계되는 것으로 Fragment를 다른 Activity나 Fragment에 의존시키면 안된다. Fragment를 사용하는 이유가 사라지게 되므로.

 

https://developer.android.com/reference/androidx/fragment/app/Fragment

 

Fragment  |  Android Developers

androidx.appsearch.builtintypes.properties

developer.android.com