본문 바로가기
Dart/Dart Server

[중급] Dart 서버 프레임워크 이해하기/ 각 프레임워크의 설치 및 기본 사용법

by Maccrey Coding 2024. 9. 9.
반응형

 

Dart는 강력한 서버 사이드 프로그래밍을 지원하는 프레임워크들을 제공하여 서버 애플리케이션을 쉽게 개발할 수 있습니다.

대표적인 Dart 서버 프레임워크로는 Aqueduct와 Shelf가 있습니다.

이번 포스트에서는 이 두 프레임워크의 설치 방법과 기본 사용법을 초보자도 이해하기 쉽도록 설명하겠습니다.

1. Aqueduct 설치 및 기본 사용법

Aqueduct 설치하기

Aqueduct는 Dart로 작성된 서버 사이드 프레임워크로, 복잡한 웹 애플리케이션을 쉽게 구축할 수 있도록 도와줍니다.

Aqueduct를 설치하기 위해서는 Dart SDK가 필요합니다. Dart SDK가 설치되어 있지 않다면, Dart SDK 설치 가이드에서 설치 방법을 참고하세요.

 

Aqueduct를 설치하려면, Dart의 패키지 관리자 pub을 사용하여 Aqueduct 패키지를 글로벌로 설치합니다.

터미널(명령 프롬프트)을 열고 다음 명령어를 입력하세요.

pub global activate aqueduct

이 명령어는 Aqueduct를 글로벌 환경에 설치합니다. 설치가 완료되면 aqueduct 명령어를 사용할 수 있습니다.

Aqueduct 프로젝트 생성

Aqueduct를 사용하여 새로운 프로젝트를 생성하려면, 터미널에서 다음 명령어를 입력합니다.

aqueduct create my_project

my_project는 생성할 프로젝트의 이름입니다. 이 명령어를 실행하면, 기본적인 Aqueduct 프로젝트 구조가 생성됩니다.

Aqueduct 애플리케이션 실행하기

생성된 프로젝트 디렉터리로 이동한 후, 애플리케이션을 실행하려면 다음 명령어를 입력합니다.

cd my_project
aqueduct serve

이 명령어는 기본적으로 localhost:8888에서 애플리케이션을 실행합니다.

웹 브라우저에서 http://localhost:8888에 접속하여 Aqueduct 애플리케이션이 잘 작동하는지 확인할 수 있습니다.

간단한 Aqueduct 애플리케이션 코드 예제

lib/channel.dart 파일을 열어 기본적인 라우팅을 설정할 수 있습니다. 예를 들어, 다음과 같이 작성할 수 있습니다.

import 'package:aqueduct/aqueduct.dart';

class MyChannel extends ApplicationChannel {
  @override
  Future prepare() async {}

  @override
  Controller get entryPoint {
    final router = Router();
    
    router.route('/hello').linkFunction((request) async {
      return Response.ok('Hello, Aqueduct!');
    });
    
    return router;
  }
}

2. Shelf 설치 및 기본 사용법

Shelf 설치하기

Shelf는 Dart로 작성된 서버 사이드 프레임워크로, 간단하고 모듈화된 웹 서버를 구축할 수 있도록 돕습니다. Shelf를 사용하려면 Dart SDK가 설치되어 있어야 합니다.

Shelf를 설치하려면, pubspec.yaml 파일에 다음과 같이 Shelf 의존성을 추가합니다.

dependencies:
  shelf: ^1.2.0

이후, 터미널에서 다음 명령어를 입력하여 패키지를 설치합니다.

pub get

Shelf 애플리케이션 코드 작성

Shelf를 사용하여 간단한 웹 서버를 만드는 예제입니다. bin/server.dart 파일을 생성하고 다음과 같이 작성합니다.

import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart' as io;

void main() async {
  final handler = const Pipeline()
      .addMiddleware(logRequests())
      .addHandler((Request request) {
        return Response.ok('Hello, Shelf!');
      });

  final server = await io.serve(handler, 'localhost', 8080);
  print('Server running on http://${server.address.host}:${server.port}');
}

Shelf 애플리케이션 실행하기

위의 코드를 작성한 후, 터미널에서 다음 명령어를 입력하여 애플리케이션을 실행합니다.

dart bin/server.dart

이 명령어는 localhost:8080에서 Shelf 애플리케이션을 실행합니다.

웹 브라우저에서 http://localhost:8080에 접속하여 Shelf 애플리케이션이 잘 작동하는지 확인할 수 있습니다.

 

Dart에서 Aqueduct와 Shelf는 각각 다른 특성을 가진 서버 프레임워크로, 웹 서버나 API 서버를 구축하는 데 유용합니다.

Aqueduct는 기능이 풍부하고 복잡한 애플리케이션에 적합하며, Shelf는 간단하고 모듈화된 구조를 통해 기본적인 웹 서버를 빠르게 구축할 수 있습니다.

 

이 블로그 포스트가 Dart의 서버 프레임워크를 설치하고 사용하는 데 도움이 되길 바랍니다!

 

구독!! 공감과 댓글은 저에게 큰 힘이 됩니다.

Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

 

 

반응형