Flutter를 사용하여 개발된 e-hentai 및 exhentai 전용 크로스플랫폼 애플리케이션인 JHenTai 프로젝트의 구조와 설정 방법을详细介绍한다.
1. 프로젝트 디렉토리 구조
JHenTai 프로젝트는 Flutter의 표준 프로젝트 구조를 따르며, Android, iOS, Windows, macOS, Linux 등 다양한 플랫폼을 지원한다.
JHenTai/
├── android/ # Android 플랫폼 관련 구성 파일
├── ios/ # iOS 플랫폼 관련 구성 파일
├── lib/
│ ├── main.dart # 애플리케이션 진입점
│ ├── pages/ # 화면 구성 파일
│ ├── models/ # 데이터 모델 정의
│ ├── utils/ # 유틸리티 함수
│ ├── widgets/ # 커스텀 위젯
│ └── ...
├── test/ # 단위 테스트 코드
└── pubspec.yaml # 프로젝트 의존성 설정
디렉토리 역할
android/: Android 플랫폼 빌드 설정 및 네이티브 코드 포함ios/: iOS 플랫폼 빌드 설정 및 네이티브 코드 포함lib/: Flutter 애플리케이션의 핵심 소스 코드main.dart: 앱의 시작점pages/: 각 화면(View) 컴포넌트 저장models/: 데이터 구조체 및 클래스 정의utils/: 공통 유틸리티 함수 및 헬퍼 메서드widgets/: 재사용 가능한 UI 컴포넌트
test/: 단위 및 위젯 테스트 코드pubspec.yaml: 패키지 의존성 및 리소스 관리
2. 애플리케이션 진입점 분석
Flutter 앱의 시작점은 lib/main.dart 파일이다. 다음은 프로젝트의 기본 구조 예시이다:
import 'package:flutter/material.dart';
import 'package:jhentai/pages/home_page.dart';
void main() {
runApp(MangaApp());
}
class MangaApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'JHenTai',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: HomePage(),
);
}
}
주요 구성 요소
main(): Dart 프로그램의 시작 함수로,runApp()을 호출하여 Flutter 프레임워크 초기화MangaApp: StatelessWidget을 상속하는 루트 위젯으로, 앱의 기본 테마와 첫 화면 설정MaterialApp: Material Design 기반 앱을 위한 상위 위젯
3. 프로젝트 의존성 설정
pubspec.yaml 파일은 Flutter 프로젝트의 핵심 설정 파일이다. 이 파일에는 패키지 이름, 버전, 의존성 라이브러리, 리소스 경로 등의 정보가 포함된다.
name: jhentai
description: Flutter로 제작된 e-hentai 및 exhentai용 크로스플랫폼 만화 앱
version: 1.0.0+1
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
get: ^4.3.8
dio: ^4.0.0
extended_image: ^3.0.0
drift: ^1.0.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- assets/images/
설정 항목 설명
name: 패키지 식별자 ( pub.dev에서의 고유 이름 )description: 패키지简要 설명version: 시맨틱 버저닝 형식의 버전 번호environment: 호환되는 Dart SDK 버전 범위dependencies: 런타임必需的 패키지 목록get: 상태 관리 및 라우팅 라이브러리dio: HTTP 클라이언트extended_image: 이미지 처리 및 캐싱 기능drift: SQLite 데이터베이스 ORM
dev_dependencies: 개발 환경에서만 사용되는 의존성flutter.assets: 번들할 정적 리소스 디렉토리
이 가이드에서는 JHenTai 프로젝트의 기본 구조와 설정 방법을 다루었다. Flutter 프로젝트의 표준 디렉토리 구성, 애플리케이션 진입점의 구조, 그리고 의존성 관리 설정의 핵심 내용을 이해할 수 있다.