[ Dart&Flutter ] Dart Native & Web 개발 심화 학습

⭐ Dart Native & Web 개발을 하는 방법에대해서 학생들이 Dart의 다양한 활용 범위를 쉽게 이해하고, 직접 실습을 통해 CLI, 서버, 웹 개발을 체험할 수 있도록 구성했습니다.


[ Dart&Flutter ] Dart Native & Web 개발 심화 학습
 [ Dart&Flutter ] Dart Native & Web 개발 심화 학습



⭐. Dart Native & Web 개발 심화 학습

Flutter만이 아니다!
Dart로 콘솔 앱, 서버, 웹까지 만드는 법!




✅ 1. Dart CLI 앱 개발 (Command Line Interface)

📘 개념 설명

  • Dart CLI 앱은 터미널(명령어 창)에서 실행되는 간단한 프로그램이에요.

  • 계산기, 텍스트 게임, 파일 관리 도구 등을 만들 수 있습니다.


Dart 파일은 .dart로 저장하고, 터미널에서 실행해요.
dart run 파일이름.dart





🏆 실습 예제 1: 간단 계산기 CLI 앱

void main() {
  int a = 10;
  int b = 5;
  print('합: ${a + b}');
  print('차: ${a - b}');
}

✅ 출력:

합: 15
차: 5




🏆 실습 예제 2: 사용자 입력받기

import 'dart:io';

void main() {
  print('이름을 입력하세요:');
  String? name = stdin.readLineSync();
  print('안녕하세요, $name님!');
}

✅ 실행 예시:

이름을 입력하세요:
지훈
안녕하세요, 지훈님!



✅ 2. Dart로 서버 개발 ( dart:io )

📘 개념 설명

  • Dart는 간단한 웹 서버도 만들 수 있어요!

  • dart:io 라이브러리를 사용해서 HTTP 요청을 처리할 수 있습니다.

  • Node.js처럼 Dart로도 백엔드 서버 개발이 가능해요.



🏆 실습 예제 1: 간단한 웹 서버 만들기

import 'dart:io';

void main() async {
  var server = await HttpServer.bind(InternetAddress.loopbackIPv4, 8080);
  print('서버 실행 중: http://localhost:8080');

  await for (HttpRequest request in server) {
    request.response.write('안녕하세요, Dart 서버입니다!');
    await request.response.close();
  }
}

✅ 실행 후 브라우저에서 http://localhost:8080 접속:

안녕하세요, Dart 서버입니다!




🏆 실습 예제 2: 요청 URL에 따라 다른 응답

import 'dart:io';

void main() async {
  var server = await HttpServer.bind(InternetAddress.anyIPv4, 8080);
  print('서버 시작: http://localhost:8080');

  await for (HttpRequest req in server) {
    if (req.uri.path == '/hello') {
      req.response.write('Hello Page');
    } else {
      req.response.write('Welcome!');
    }
    await req.response.close();
  }
}




✅ 3. Dart Web 개발 ( dart:html )

📘 개념 설명

  • Dart는 웹 프론트엔드 개발도 가능해요!

  • dart:html을 사용해서 브라우저에서 실행되는 웹앱을 만들 수 있습니다.

  • 다트 코드를 **JavaScript로 변환(compile)**해서 사용합니다.


주로 Flutter Web이 대세지만, 순수 Dart Web도 학습 가치가 있어요!




🏆 실습 예제 1: 버튼 클릭 이벤트 (Dart 웹)


📄 web/index.html

<!DOCTYPE html>
<html>
  <body>
    <button id="btn">클릭하세요!</button>
    <script defer src="main.dart.js"></script>
  </body>
</html>

📄 web/main.dart

import 'dart:html';

void main() {
  querySelector('#btn')?.onClick.listen((event) {
    window.alert('버튼이 클릭되었습니다!');
  });
}

✅ 실행 결과:

  • 버튼 클릭 시 팝업 알림!


🔧 빌드 명령어:
dart compile js web/main.dart -o web/main.dart.js




🏆 실습 예제 2: HTML 요소 변경하기

import 'dart:html';

void main() {
  ParagraphElement p = ParagraphElement()..text = '처음 인사!';
  document.body?.append(p);

  p.onClick.listen((event) {
    p.text = '클릭했어요!';
  });
}

✅ 결과:

  • 문구 클릭 시 텍스트가 변경됨




🎓 마무리 요약

분야

설명

Dart CLI

터미널에서 실행되는 콘솔 앱

Dart Server

간단한 웹 서버 구축 (REST API 가능)

Dart Web

브라우저에서 동작하는 웹앱 개발



💡 실전 활용 예시

  • CLI: 텍스트 기반 툴, 자동화 스크립트

  • Server: 간단한 API 서버, 채팅 서버

  • Web: 인터랙티브 웹페이지, Dart로 작성된 SPA


댓글 쓰기