티스토리 뷰

IT

플러터 개발을 위한 기본 라이브러리

핏더스트리 2025. 3. 14. 17:24
728x90
반응형

플러터로 앱을 개발할 때, 기본적인 위젯만으로 모든 기능을 구현하는 것은 현실적으로 쉽지 않아요. 대부분의 앱은 네트워크 통신, 로컬 데이터 저장, 상태 관리, 푸시 알림 같은 기능이 필요하고, 이를 직접 구현하는 것보다는 검증된 라이브러리를 활용하는 것이 훨씬 효율적이에요.

다행히도 플러터에는 다양한 패키지가 제공되며, 플러터 공식 패키지 저장소인 pub.dev에서 쉽게 다운로드하여 사용할 수 있어요. 이번 글에서는 플러터 개발을 할 때 필수적으로 사용되는 기본 라이브러리를 소개해 보려고 해요.

 


http - 네트워크 통신을 위한 필수 라이브러리

http 라이브러리는 API 요청을 보내고 데이터를 받아오는 데 사용돼요. 플러터에서 백엔드 서버와 통신할 때 가장 기본적으로 사용하는 라이브러리예요. http 라이브러리를 사용하면 간단한 코드로 API 요청을 보낼 수 있어요.

 

설치 방법:

dependencies:
  http: ^1.3.0

 

사용 예제:

import 'package:http/http.dart' as http;
import 'dart:convert';

Future<void> fetchData() async {
  final response = await http.get(Uri.parse('https://jsonplaceholder.typicode.com/posts/1'));
  if (response.statusCode == 200) {
    print(jsonDecode(response.body));
  } else {
    throw Exception('데이터를 불러오지 못했어요.');
  }
}

 


image_picker - 이미지 및 동영상 가져오기

image_picker는 갤러리에서 이미지를 선택하거나, 카메라로 사진을 찍는 기능을 제공해요. 사진을 업로드하는 기능이 필요한 앱에서는 거의 필수적으로 사용돼요.

 

설치 방법:

dependencies:
  image_picker: ^1.1.2

 

사용 예제:

import 'package:image_picker/image_picker.dart';
import 'dart:io';

Future<void> pickImage() async {
  final picker = ImagePicker();
  final pickedFile = await picker.pickImage(source: ImageSource.gallery);
  if (pickedFile != null) {
    File imageFile = File(pickedFile.path);
    print('이미지 선택 완료: ${imageFile.path}');
  }
}

 


shared_preferences - 간단한 로컬 데이터 저장

shared_preferences는 간단한 데이터를 로컬에 저장하는 용도로 사용돼요. 사용자의 설정 값을 저장하거나, 로그인 여부를 기억할 때 유용해요.

 

설치 방법:

dependencies:
  shared_preferences: ^2.5.2

 

사용 예제:

import 'package:shared_preferences/shared_preferences.dart';

Future<void> saveData() async {
  final prefs = await SharedPreferences.getInstance();
  await prefs.setInt('counter', 10);
}

Future<int> loadData() async {
  final prefs = await SharedPreferences.getInstance();
  return prefs.getInt('counter') ?? 0;
}

 


provider - 상태 관리 라이브러리

플러터에서 provider는 전역 상태를 관리하는 가장 기본적인 방법이에요. 플러터 공식 문서에서도 추천하는 라이브러리 중 하나예요.

 

설치 방법:

dependencies:
  provider: ^6.1.2

 

사용 예제:

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';

class CounterStore extends ChangeNotifier {
  int _count = 0;
  int get count => _count;

  void increment() {
    _count++;
    notifyListeners();
  }
}

void main() {
  runApp(
    ChangeNotifierProvider(
      create: (context) => CounterStore(),
      child: MyApp(),
    ),
  );
}

 


flutter_local_notifications - 로컬 푸시 알림 보내기

앱에서 로컬 푸시 알림을 구현할 때 사용하는 라이브러리예요. 일반적으로 Firebase Cloud Messaging(FCM)과 함께 사용돼요.

 

설치 방법:

dependencies:
  flutter_local_notifications: ^18.1.0

 

사용 예제:

import 'package:flutter_local_notifications/flutter_local_notifications.dart';

final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
    FlutterLocalNotificationsPlugin();

Future<void> showNotification() async {
  const AndroidNotificationDetails androidDetails = AndroidNotificationDetails(
    'channel_id', 'channel_name',
    importance: Importance.high,
    priority: Priority.high,
  );

  const NotificationDetails details = NotificationDetails(android: androidDetails);
  await flutterLocalNotificationsPlugin.show(0, '제목', '내용', details);
}

 


cupertino_icons - iOS 스타일 아이콘 사용하기

플러터 기본 아이콘 라이브러리인 cupertino_icons는 iOS 스타일의 아이콘을 제공해요. 기본적으로 플러터 프로젝트에 포함되어 있어요.

 

설치 방법:

dependencies:
  cupertino_icons: ^1.0.8

 

사용 예제:

import 'package:flutter/material.dart';
import 'package:cupertino_icons/cupertino_icons.dart';

Icon(CupertinoIcons.heart_fill); // iOS 스타일 하트 아이콘

 


마치며...

 

플러터에서 기본적으로 많이 사용되는 라이브러리들을 소개해 봤어요. 앱을 개발하면서 네트워크 요청, 상태 관리, 데이터 저장, 이미지 선택, 푸시 알림 같은 기능이 필요할 때 위의 라이브러리를 적극 활용하면 더 쉽고 빠르게 개발할 수 있어요.

  1. http - API 요청
  2. image_picker - 갤러리 및 카메라 사진 선택
  3. shared_preferences - 간단한 로컬 데이터 저장
  4. provider - 상태 관리
  5. flutter_local_notifications - 로컬 푸시 알림
  6. cupertino_icons - iOS 스타일 아이콘

 

앞으로 앱을 개발하면서 이 라이브러리들을 활용하면 보다 편리하고 효율적인 개발이 가능할 거예요. 필요한 기능이 있을 때 pub.dev에서 검색해 보면 더 많은 라이브러리를 발견할 수도 있어요. 편리한 라이브러리들을 활용해서 멋진 플러터 앱을 만들어보아요!

728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
TAG more