[Flutter] 상태 관리란? (GetX를 선택한 이유)

2024. 3. 8. 12:35·Flutter
728x90

오늘은 상태 관리의 중요성과 GetX 라이브러리에 대해 적어볼것이다.

 

상태관리(State Management)

 

상태 관리는 앱의 데이터와 UI의 상태를 효율적으로 관리하여 코드의 유지보수 및 사용자의 경험을 향상 시키는 것을 목적으로한다.

 

1. 코드의 가독성

데이터와 UI의 코드를 더 체계적으로 분리하여 구조화하게됨으로써,

코드의 가독성이 향상되고 유지보수가 용이해진다.

 

2. UI에 대한 효율적인 렌더링 및 사용자 경험 향상

앱과 사용자는 상호작용하며 데이터는 지속적으로 변경되게 된다.

이러한 데이터 변경을 빠르게 UI로 보여줘야한다.

상태 관리는 UI의 불필요한 렌더링을 없애 성능을 향상시킨다.

이러한 성능 향상은 사용자들의 사용 경험을 향상시킬 수 있다.

 

3. 데이터의 관리

상태에 대한 정보를 중앙에 집중시키고, 앱 내 요소들끼리 의존성을 낮출수 있다.

데이터를 보다 쉽게 관리하고 처리할 수 있다.

 

GetX를 사용하려는 이유

 

플러터에는 유명한 4개의 상태 관리 라이브러리가 존재한다.

 

- Provider : 가장 기본적인 상태 관리 라이브러리, 중간 규모의 프로젝트에 적합

- GetX : 상태 및 라우팅, 의존성, 번역 등에 다양하게 관리할 수 있음. 프로젝트 규모에 큰 영향을 받지 않음

- Bloc : 이벤트 기반의 방식, 복잡한 로직을 사용하거나 규모가 큰 프로젝트에 적합

- MobX : 반응형 프로그래밍 방식, 프로토타이핑을 목적으로하는 프로젝트에 적합

 

각 라이브러리마다 특징이 있고 사용하기 최적화된 프로그래밍 분야가 있다.

아직 상태 관리를 제대로 해보지 못한 시점에서 다양하게 다뤄볼 수 있는 GetX가 좋을 것이라 생각했다.

 

GetX는 상태 관리, 종속성 관리, 라우트 생성 및 탐색, 번역 추가 기능까지 다양한 기능을 제공한다.

또한 점점 사용자가 많아지고 있는 추세이고,

개발자들은 점점 협업을 많이 할 수 밖에 없는데

팀 단위의 업무에 맞춰 디자인 되어있다는 점이 흥미로웠다.

 

https://github.com/jonataslaw/getx/tree/master?tab=readme-ov-file

 

GitHub - jonataslaw/getx: Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies eas

Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get. - jonataslaw/getx

github.com

 

Git Hub에 한글로 번역도 되어 있어서 읽어보면 좋을 것 같다.

728x90

'Flutter' 카테고리의 다른 글

[Flutter] Null safety 및 여러 문자의 의미(?, !, ??, ??=, < >, _, ..)  (1) 2024.03.06
[Flutter] 자주 사용하는 색상 및 글꼴 관리하기  (0) 2024.03.03
[Flutter] 비동기 개념과 관련 키워드 알아보기(Future, async, await, then)  (0) 2024.03.01
[Flutter] Figma Color Hex값 이용해서 색 설정하기  (0) 2024.02.27
[Flutter] React Native 말고 Flutter를 공부한 이유  (0) 2024.02.25
'Flutter' 카테고리의 다른 글
  • [Flutter] Null safety 및 여러 문자의 의미(?, !, ??, ??=, < >, _, ..)
  • [Flutter] 자주 사용하는 색상 및 글꼴 관리하기
  • [Flutter] 비동기 개념과 관련 키워드 알아보기(Future, async, await, then)
  • [Flutter] Figma Color Hex값 이용해서 색 설정하기
Sanghyundal
Sanghyundal
  • Sanghyundal
    초보 개발자
    Sanghyundal
  • 전체
    오늘
    어제
    • Coding
      • Flutter
      • FE
      • CS 공부
      • Git
      • 활동 관련
      • SKALA
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    crew ai
    ossca
    skala 부트캠프
    자바스크립트 이벤트 위임
    skala
    oscca
    initialBinding
    Get.lazyPut()
    우테코 프론트엔드
    멋쟁이 사자처럼 해커톤
    ai agent
    JS 이벤트 위임
    클라우드
    skala1기
    skala 1기
    turbopack
    pr agent
    Get.put()
    css normalize
    SK
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Sanghyundal
[Flutter] 상태 관리란? (GetX를 선택한 이유)
상단으로

티스토리툴바