[Flutter] getX 사용법 - 기본 설정

mi-fasol·2023년 3월 20일
0

Flutter

목록 보기
4/7

GetX

나는 여지껏 플러터 프로젝트를 진행할 때 상태 관리를 위해 provider를 사용해왔다. 앞으로도 provider를 쓰면 되겠지~ 하고 있었는데 글쎄 프로바이더는 이제 업데이트가 안 된단다.

이번에 새로 진행하는 토이 프로젝트 또한 플러터로 진행되기 때문에 함께 프로젝트를 개발할 친구와 getX를 사용하기로 결정했다.

반년 넘게 사용한 프로바이더를 두고 새로운 걸 배우는 게 쉽지는 않겠지만, 기초부터 차근차근 공부해 보려 한다.

우선 getX란 무엇인가?

앞서 살짝 언급했지만 getX는 provider와 마찬가지로 상태 관리를 위한 라이브러리다.

화면을 구성할 때 데이터 값이 바뀌는 상황이 오면 이를 바로 적용할 수 있어야 하는데, 값이 바뀔 때마다 렌더링이 새로 일어난다면 애플리케이션에 불필요한 자원 낭비가 발생하므로 '상태 관리'를 통해 불필요한 리렌더링을 줄일 수 있다.

getX에는 세 가지 원칙이 있다.

  • 생산성: 얼마나 효율적으로 개발을 하는가
  • 성능: 시스템적으로 어느 정도의 리소스를 사용하고, 메모리의 최적화를 어떻게 하는가
  • 조직화: 화면, 비즈니스 로직, 종속성 등이 필요한 부분만 담당하고 있는가

Provider도 각 성능의 조직화가 이루어져 있긴 했으나, getX는 더 분리가 원활하게 가능하다.

그렇다면 getX의 주요 기능은 무엇일까?

  • 상태 관리: getX의 메인 기능
  • 라우트 관리: 상태 뿐만 아니라 라우트도 관리 가능
  • 종속성 관리: 컨트롤러 주입 및 수정 등의 관리

위의 세 가지 기능을 꼽을 수 있겠다.

이렇게 편리한 getX를 사용하기 위해서는 pubspec.yaml에 의존성 추가를 해줘야 한다.

dependencies:
  flutter:
    sdk: flutter
  get: ^4.6.5	// 여기

get: ^4.6.5 (라이브러리 버전)

을 입력함으로써 의존성 추가는 끝났다. 이렇게 dependencies에 추가하고 나면 pub get을 통해 변경된 의존성을 적용해야 하는 건 잊지 말자.

의존성 추가를 하고 나면, 이제 파일에 해당 라이브러리를 import 해줘야 한다.

import 'package:get/get.dart';

위의 코드를 파일에 삽입하면 된다.

이제 마지막으로 하나만 더 진행하면 되는데, 바로 class의 return MaterialApp을 아래와 같이 GetMaterialApp으로 변경해주는 것이다.

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      title: '앱 타이틀,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const LoadingPage(title: '앱 타이틀'),
    );
  }
}

이로써 getX를 사용하기 위한 모든 준비는 끝났다.

다음 게시물에서는 이 getX를 활용하여 코드를 작성하는 방법에 대해 작성하겠다.

profile
정위블

0개의 댓글