パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v1.1.0

universal_platform

Webおよびデスクトップ、モバイルでも動作する dart:io.Platform クラスの代替です。ビュー/モデル層でのプラットフォームチェックを簡単に実行できます。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
181万
いいね数
313
Pub ポイント
150

パッケージをインストール

flutter pub add universal_platform

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

universal_platform パッケージは、Dart の Platform クラスのクロスプラットフォーム代替を提供し、Web、モバイル、デスクトップ環境間で一貫したプラットフォーム検出を可能にします。開発者はビジネスロジック層(ビューおよびモデルなど)でプラットフォームチェックを実行でき、プラットフォーム固有の実装に依存しなくなります。これにより、ターゲットランタイムに関係なく信頼性のある動作が保証され、下位プラットフォームに基づいてコードを適応させる必要がある場合に、コードの簡素化が実現されます。

用途

  • クロスプラットフォームアプリ開発
  • プラットフォーム固有のUI/動作論理
  • 複数プラットフォーム間でビジネスロジックを共有
  • 複数のターゲットでテストする
  • プラットフォーム固有のインポートを避ける

主な機能

  • 統合プラットフォーム検出
  • Web、Android、iOS、macOS、Windows、Linuxで動作します
  • 条件付きインポートの必要はありません
  • dart:io.Platform に似たシンプルな API
  • isAndroid、isIOS、isWeb などをサポートしています。

適している対象

  • 複数のプラットフォームをターゲットにする開発者
  • 一貫したプラットフォームチェックを必要とするアプリ
  • プラットフォーム固有のコード重複を回避するチーム
  • 複数プラットフォーム間で共通のロジックを使用するプロジェクト
  • 信頼できるウェブサポートが必要なユーザー

注意事項

  • dart:io.Platform の代わりに明示的なインポートが必要です
  • すべてのニッチなプラットフォーム機能をカバーするとは限りません
  • 基本的なプラットフォーム識別に限定
  • dart:io 機能の完全な代替ではない
  • 外部の依存関係管理に依存しています

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Universal Platform - A Web-safe Platform class

pub package

Currently, if you include the dart.io.Platform anywhere in your code, your app will throw the following error on Web:

Unsupported operation: Platform._operatingSystem

With this plugin you can perform platform detection on all platforms, including Web, without errors.

🔨 Installation

dependencies:
  universal_platform: ^1.0.0+1
⚙ Import

Remove any usages of dart.io.Platform, and replace with this:

import 'package:universal_platform/universal_platform.dart';

🕹️ Usage

This acts as a drop-in replacement for dart.io.Platform, with a different name for improved clarity.

//This will explode on Web
bool isIos = Platform.isIOS;

//This will not :)
bool isIos = UniversalPlatform.isIOS;
bool isWeb = UniversalPlatform.isWeb;

🐞 Bugs/Requests

If you encounter any problems feel open an issue. If you feel the library is missing a feature, please raise a ticket on Github and we'll look into it. Pull request are also welcome.

📃 License

MIT License

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト