Native SDK icon

Native SDK

Native SDKは、宣言的マークアップ、メッセージベースの状態モデル、ネイティブレンダラーでネイティブデスクトップアプリを構築するためのSDKです。ブラウザやWebViewなしで動くUIを求める開発者向けです。

Native SDK

Native SDKはブラウザ実行環境なしでネイティブデスクトップアプリを構築します

Native SDKは、宣言的マークアップ、メッセージベースの状態モデル、ネイティブレンダラーでネイティブデスクトップアプリを構築するためのツールキットです。ブラウザやWebViewをバンドルせずに、実際のOSウィンドウ内でUIを動かしたい開発者向けです。

このシステムは明示的なメッセージと状態更新を中心に設計されているため、インターフェースの変更を追いやすく、デバッグしやすくなっています。また、このサイトではデスクトップ優先のプラットフォーム対応が文書化されており、iOSとAndroidでは実験的なモバイル対応が提供されています。

主な機能

型付き更新を備えた宣言的マークアップ

インターフェースはネイティブマークアップで記述され、型付きのメッセージハンドラーによって更新されるため、状態変化がアドホックなイベントロジックに隠れず明示的に保たれます。

ネイティブレンダラーとOSウィンドウ

このツールキットは実際のOSウィンドウに直接描画し、ネイティブ描画アプリにブラウザやWebViewを必要としません。

予測しやすいメッセージベースの状態モデル

イベントがメッセージを生成し、メッセージが状態を更新し、状態がインターフェースを描画するため、アプリの動作変更が適用される単一の場所ができます。

プラットフォーム固有のネイティブ動作

ランタイムは、プラットフォームが対応している範囲で、スクロール物理、メニュー、ダイアログ、ファイルドロップイベント、IME合成、HiDPIレンダリングなどのネイティブ動作を保持します。

自動化とデバッグのツール

Native SDKには、スナップショット、アサーション、シンセティック入力、スクリーンショット、記録/再生を行う自動化サーバーに加え、環境確認用の`native doctor`コマンドが含まれています。

パッケージングとリリースビルド

ドキュメントでは、このツールキットの一部としてパッケージングが紹介されており、デスクトップワークフロー向けにプラットフォーム固有の出力と静的なリリースバイナリが説明されています。

代表的なユースケース

  • デスクトップ製品UI

    ブラウザエンジンを組み込まずに、標準的なウィンドウ、メニュー、ダイアログ、応答性の高い操作が必要なネイティブデスクトップアプリケーションを構築します。

  • ツールと社内アプリケーション

    予測可能な状態変化と軽量なランタイムが重要な、ダッシュボード、エディタ、ユーティリティなどの業務向けインターフェースを作成します。

  • AI支援のアプリ生成

    宣言的マークアップと型付き更新モデルを、エージェントが確実に作成・確認・自動化できる対象として活用します。

  • ホスト対応のクロスプラットフォームアプリ

    macOS、Linux、Windowsにプラットフォーム固有の動作を保ちながら配信し、必要に応じてiOSとAndroidの実験的なモバイル対応も評価します。

  • 自動テストと検査

    組み込みの自動化サーバーを使って、スナップショットの取得、入力の実行、開発中やCI形式のワークフローでの実行中アプリ状態のアサートを行います。

Pros and Cons

Pros

  • ネイティブ描画アプリにブラウザやWebViewは不要です。
  • 状態変化は明示的で、暗黙的なUI動作よりも把握しやすくなっています。
  • ランタイムは、メニュー、ダイアログ、スクロール物理など、いくつかのネイティブプラットフォーム動作を保持します。
  • プラットフォーム対応は段階的に文書化されており、制限が暗黙ではなく明示されています。
  • 組み込みツールには、環境確認と自動化ワークフローが含まれています。

Cons

  • ネイティブ描画アプリ向けのモバイル対応は、完全に成熟したものではなく実験的と説明されています。
  • サポートされていない操作はランタイムエラーを返すため、一部の機能は意図的にホスト側で制限されています。
  • プラットフォーム対応ページでは、いくつかのデスクトップ/ウェブエンジンの組み合わせやモバイルの詳細にまだ注意点があると記載されています。

FAQ

Native SDKは何を構築しますか?

ネイティブレンダラーでネイティブデスクトップアプリを構築するためのSDKです。iOSとAndroid向けの実験的なモバイルキャンバスアプリにも対応しています。

Native SDKにブラウザやWebViewは必要ですか?

ネイティブ描画のアプリにブラウザやWebViewは必要ありません。ドキュメントでは、OSウィンドウに直接描画するネイティブレンダラーが説明されています。

どのプラットフォームがサポートされていますか?

ソースでは、デスクトッププラットフォームとしてmacOS、Linux、Windowsが、実験的なモバイルプラットフォームとしてiOSとAndroidが記載されています。

`native doctor` は何のためのものですか?

`native doctor` は、ホストプラットフォームの詳細、関連する場合のWebViewの利用可否、マニフェストの妥当性、ログディレクトリの書き込み可否、Chromium構成向けのCEFの有無、署名ツールなどの問題について、ローカル開発環境を確認します。

Native SDKには自動化サポートがありますか?

はい。ドキュメントでは、スナップショット、アサーション、入力、スクリーンショット、記録/再生をサポートする組み込みの自動化サーバーが説明されています。

Quick Facts

カテゴリ
開発者向けツール
主要プラットフォーム
デスクトップ
デスクトップ対応
macOS、Linux、Windows
モバイル対応
iOSとAndroidの実験的対応
実行モデル
メッセージベースの状態更新を伴う宣言的マークアップ
主なツール
native doctorと組み込みの自動化