no versions found for ApplicationFrameworkReferences / Appendix/index / en

アプリ全体を制御する関数やシステムオブジェクトを集めたオブジェクトです。

グローバルオブジェクト

モジュールパス: /alier_sys/_AlierCore.js

概要


Alier フレームワークではアプリケーション開始時に Alier という名前のグローバル変数を作り、その配下に主要なオブジェクトを割り当てます。

それらのオブジェクトには Alier のプロパティから参照でき、アプリケーション全体で利用できます。

関数

Alier.registerFunction()

  • JavaScript の関数をネイティブ側のコードから実行できるようにします。

Alier.getEnv()

  • Alier の環境変数を取得します。

Alier.setEnv()

  • Alier の環境変数を設定します。

プロパティ


  • Alier.View --- アプリケーション画面全体です。
  • Alier.Model --- アプリケーションのモデル層の機能のインターフェースです。
  • Alier.Native --- ネイティブ関数呼び出しのためのインタフェースを持つオブジェクトです。
  • Alier.SysEvent --- システム通知をキャッチする MessagePorter オブジェクトです。

Alier.View

アプリケーション画面そのものです。

AlierView

詳細

Alier.ViewViewLogicattach() することで ViewLogic に関連付けられた表示要素を表示できます。

このプロパティはAlierFramework.js モジュールの初回インポートの時にグローバルオブジェクト Alier に定義されます。


Alier.Model

アプリケーションのモデル層の機能のインタフェースです。

object

詳細

アプリケーション内に作成されたモデルクラスのインスタンスは Alier.Model のプロパティとして参照されます。

このプロパティは setupModelInterface() 関数呼び出しによってグローバルオブジェクト Alier に定義されます。


Alier.Native

ネイティブ関数呼び出しのためのインタフェースを持つオブジェクトです。

object

詳細

ネイティブコードで実装された関数を JavaScript 側から呼び出します。

ネイティブコード側から ScriptMediator::registerFunction() を呼び出すことでこのオブジェクトに関数が追加され、JavaScript 側から実行できるようになります。

Alier グローバルオブジェクトの初期化が完了した時点で以下の関数が Alier.Native のメソッドとして登録されます:

  • Alier.Native.fetch()
  • Alier.Native.loadText()
  • Alier.Native.saveText()

Alier.Native はネイティブアプリ版でのみ定義され、Web アプリ版では定義されません


Alier.SysEvent

システム通知をキャッチする MessagePorter オブジェクトです。

MessagePorter

詳細

システムイベントではライフサイクルイベントが通知されます。

ライフサイクルイベントを受け取るためには、プラットフォームごとに事前準備が必要になる場合があります。

Android では特に必要ありません。

iOS アプリでライフサイクルイベントを受け取るためには @UIApplicationDelegateAdaptor を用いて UIApplicationDelegateUIWindowSceneDelegate クラスのインスタンスを生成する必要があります。基本的には App protocol に準拠している構造体かクラスで生成します。

@UIApplicationDelegateAdaptor (LifeCycle_UIApplication.self) var anyName

addListener() メソッドでコールバックを登録することでライフサイクルイベントを処理できます。引数 message はプロパティ id, code, param を持つオブジェクトです。

Alier.SysEvent.addListener((message) => {
    if (message.id === "onLeaveForeground") {
        console.log("App leave foreground!");
    }
});

Alier で取得できるライフサイクルイベントとその名称の一覧です。

id code イベントのタイミング 備考
"onCreate" "0" アプリケーションが起動され画面作成を行なった時 JS に通知しない
"onAwake" "1" 初回起動時の Main 生成後、外部アプリやシステム通知から起動された時 JS に通知する
"onLeaveForeground" "2" 画面がアクティブな状態から非アクティブな状態に移行する時 JS に通知する
"onEnterBackground" "3" 画面がフォアグランドからバックグランドに移行した時 JS に通知する
"onEnterForeground" "4" 画面作成後フォアグランドに移行した時 バックグラウンドのアプリがフォアグラウンドに移行した時のみ JS に通知する
"onActive" "5" 画面が非アクティブ状態からアクティブ状態に移行した時 バックグラウンドのアプリがフォアグラウンドに移行した時のみ JS に通知する
"onDestroy" "6" 画面が破棄される時 JS に通知しない

Alier.SysController

ハードウェアから送られる通知をキャッチする MessagePorter オブジェクトです。

MessagePorter

詳細

システムコントローライベントではハードウェアボタンの押下イベントが通知されます。

addListener() メソッドでコールバックを登録することでライフサイクルイベントを処理できます。引数 message はプロパティ id, code, param を持つオブジェクトです。

Alier.SysController.addListener((message) => {
    if (message.id === "onBackPressed") {
        console.log("Back button pressed");
    }
});

Alier で取得できるライフサイクルイベントとその名称の一覧です。

id code イベントのタイミング 備考
"onBackPressed" "0" Androidのバックボタンが押された時 JS に通知する