コアコンセプト / プラグインを使う

プラグインを使う

NativeScriptプラグインは、いくつかのネイティブ機能が追加されたnpmパッケージです。 したがって、NativeScriptプラグインの検索・インストール・削除は、Node.jsやフロントエンドWeb開発で使用する可能性のあるnpmパッケージを扱うのとよく似ています。

ヒント:NativeScript Sidekickを使用してプラグインを検索、インストール、削除することもできます。 Sidekickは、スターターキット、単一ページのテンプレート、iOSおよびAndroid用のクラウドベースのビルド、およびApp Storeでの公開も提供しています。

プラグインを探す

NativeScriptチームは、公式マーケットプレイスを管理しています。 このマーケットプレイスには、npmからのNativeScript関連プラグインのリストがフィルタリングされて表示されます。 市場に掲載されているすべてのプラグインには、品質を説明するメタデータが付属しています。 例えばマーケットプレイスで「accelerometer」を検索すると、必要なプラグインが表示されます。

あるいは、NativeScriptプラグインはnpmパッケージなので、npmのサイトで「nativescript-plugin-name」を検索してNativeScriptプラグインを見つけることもできます。 たとえば、「nativescript accelerometer」を検索すると、NativeScript加速度計プラグインがすぐに見つかるでしょう。

プラグインが見つからない場合は、Stack Overflow(英語)で助けを求めてみてください。 NativeScriptチームとコミュニティはあなたが探しているものを見つける手助けをすることができるかもしれません。

また、すべてのNativeScriptアプリの依存関係として配布されているNativeScriptコアモジュールをよく見てください。 必要な機能が既に組み込まれている可能性があります。 それでも必要なものが見つからない場合は、NativeScriptコミュニティフォーラムでアイデアとしてプラグインをリクエストするか、 自分でプラグインを構築することができます。

プラグインのインストール

必要なプラグインが見つかったら、tns plugin addコマンドを使用してプラグインをアプリにインストールします。

tns plugin add <plugin-name>

たとえば、次のコマンドはNativeScriptカメラプラグインをインストールします。

tns plugin add nativescript-camera

もし望むなら、NativeScript CLIコマンドplugin addの代わりにNPMコマンドnpm installを使用することもできます。

npm i nativescript-camera --save

NativeScriptプラグインのインストールは、npmパッケージのインストールに似ています。 NativeScript CLIは、npmからプラグインをダウンロードし、プロジェクトのルートにあるnode_modulesフォルダにそのプラグインを追加します。 この中で、NativeScript CLIはプロジェクトルートのpackage.jsonファイルにプラグインを追加し、プラグインの依存関係(もしあれば)も解決します。

開発時依存関係としてのプラグインのインストール

上記のように、コマンドtns plugin addは実際にはnpm i --saveを実行しています。 プロジェクトに開発時依存関係をインストールする必要がある場合(たとえば、tns-platform-declarationsnativescript-dev-webpackなど)、 明示的にdevDependencyとして保存する必要があります。 これを実現するには、npm installコマンドに--save-devフラグを付けて使用します。

例:

npm i tns-platform-declarations --save-dev
注釈:通常の依存関係と開発時依存関係(devDependencies)の違いは、通常の依存関係は実行時に必要なのに対し、devDependenciesは開発中にのみ必要であるということです。 通常の依存関係の例は、nativescript-cameraプラグインです。 これは、ハードウェアカメラを使用できるようにする際に必要なランタイムです。 一方、tns-platform-declarationsは、開発プロセス中にintelliSenseのためにのみ必要な依存関係です。 devDependnciesは、大きな出力ビルドファイル(大きなアプリケーションサイズ)を避けるために(通常の)依存関係としてインストールしないでください。 通常の依存関係(Dependencies)とdevDependenciesの両方を使用したpackage.jsonファイルの例は、こちらにあります。

プラグインのインポートと使用

必要なプラグインがインストールされたら、プロジェクトで使い始めることができます。 それぞれのプラグインは、必須の設定を持つ場合がありますので、常にプラグインのドキュメントとREADMEファイルを注意深くチェックしてください。 以下のコードスニペットは、nativescript-cameraプラグインの基本的な使い方を示しています。

const camera = require("nativescript-camera"); // Requiring the plugin module
camera.requestPermissions();

// Or import only a specific class/method/property of the plugin
const requestPermissions = require("nativescript-camera").requestPermissions; // Requiring the needed code
requestPermissions();
import * as camera from "nativescript-camera"; // Requiring the plugin module
camera.requestPermissions();

// or import only a specific class/method/property of the plugin
import { requestPermissions } from "nativescript-camera"; // Requiring only the needed code
requestPermissions();

プラグインを削除する

プロジェクトからNativeScriptプラグインを削除するには、コマンドラインから次のコマンドを実行します。

tns plugin remove <plugin-name>

たとえば、次のコマンドはNativeScriptカメラプラグインを削除します。

tns plugin remove nativescript-camera

インストールと同様に、NativeScriptプラグインの削除はnpmパッケージの削除に似ています。

NativeScript CLIは、プロジェクトのルートにあるアプリのnode_modulesフォルダーからすべてのプラグインファイルを削除します。 CLIはプラグインの依存関係も削除し、プロジェクトルートのpackage.jsonファイルからもプラグインを削除します。

入門

コアコンセプト

ユーザーインターフェース

ツール

ハードウェアアクセス

プラグインの開発

リリース

アプリテンプレート

パフォーマンスの最適化

フレームワークモジュール

ガイド

サポートを受ける

トラブルシューティング

Siedkick