패키지, 저장소 및 앱 카테고리 검색

패키지 상세v0.4.0

service_worker

Service Worker API용 JavaScript 바인딩.

Web
30일 다운로드
4.3천
좋아요
26
Pub 점수
80

패키지 설치

flutter pub add service_worker

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

service_worker 패키지는 Flutter 웹 애플리케이션에서 Service Worker API에 대한 JavaScript 바인딩을 제공합니다. 이는 개발자가 고급 오프라인 기능, 백그라운드 동기화 및 푸시 알림을 위해 서비스 워커를 활용할 수 있도록 합니다. 브라우저의 서비스 워커 라이프사이클과 통합함으로써, 이 패키지는 Flutter 앱이 자산을 캐시하고 네트워크 요청을 가로채며 오프라인 상태에서도 데이터 지속성을 관리할 수 있게 해줍니다. 캐싱 전략을 통해 강력한 오프라인 기능과 성능 향상을 필요로 하는 프로그레시브 웹 앱(PWA)을 구축하는 데 특히 유용합니다.

사용 사례

  • 오프라인 우선 웹 애플리케이션 빌드
  • 푸시 알림 구현
  • 빠른 로드 시간을 위한 자산 캐싱
  • 백그라운드 동기화 작업 관리
  • PWA 성능 향상
  • 네트워크 요청 가로채기 및 수정

주요 기능

  • JavaScript의 Service Worker API와의 상호 운용성
  • 오프라인 자산 캐싱 지원
  • 백그라운드 동기화 통합
  • 푸시 알림 처리
  • 이벤트 기반 서비스 워커 라이프사이클
  • 웹 전용 호환성

적합한 대상

  • 웹 플랫폼을 대상으로 하는 Flutter 개발자
  • 오프라인 지원이 필요한 PWA 빌더
  • 백그라운드 동기화 또는 푸시 알림이 필요한 앱
  • 사용자 정의 캐싱 전략을 구현하는 개발자
  • 웹 성능 최적화에 중점을 둔 프로젝트

고려 사항

  • 웹 플랫폼에만 제한됨
  • 자바스크립트 서비스 워커 개념을 이해해야 합니다
  • 복잡한 사용 사례를 위해 추가 구성이 필요할 수 있습니다
  • 모바일 또는 데스크톱 플랫폼과 호환되지 않습니다
  • 브라우저의 서비스 워커 지원 여부에 따라 다름

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Service Worker API for Dart

Dart-y wrappers for the ServiceWorker APIs.

Warning: the API is experimental, and subject to change.

Service Workers

A service worker is an event-driven worker registered against an origin and a path. It takes the form of a JavaScript file that can control the web page/site it is associated with, intercepting and modifying navigation and resource requests, and caching resources in a very granular fashion to give you complete control over how your app behaves in certain situations (the most obvious one being when the network is not available.)

A service worker is run in a worker context: it therefore has no DOM access, and runs on a different thread to the main JavaScript that powers your app, so it is not blocking. It is designed to be fully async; as a consequence, APIs such as synchronous XHR and localStorage can't be used inside a service worker.

Quickstart

Register the Service Worker from your application script, like in example/web/main.dart:

import 'package:service_worker/window.dart' as sw;

void main() {
  if (sw.isSupported) {
    sw.register('sw.dart.js');
  } else {
    print('ServiceWorkers are not supported.');
  }
}

Write the Service Worker in a separate script, like in example/web/sw.dart:

import 'package:service_worker/service_worker.dart';

void main(List<String> args) {
  onInstall.listen((event) {
    print('ServiceWorker installed.');
  });
}

Limitation

You need to force dart2js compilation for service worker to work during debug mode. See build.yaml in the example folder.

카테고리

의존성

의존성 목록 1 개

  • js>=0.6.1 <2.0.0

소스 저장소

이 패키지를 사용하는 프로젝트