|
WebCFace 3.2.0
Web-based Communication Framework & Dashboard-like UI
|
以降、このドキュメントではクライアントの仕様変更された機能は
C,C++のwebcface:
webcface-js:
webcface-python:
の画像で示します。
C/C++のライブラリはREADMEにしたがってwebcfaceをインストールすれば使うことができます。 MesonまたはCMakeを使用する場合は、subproject/subdirectoryとしてWebCFaceを追加してソースからビルドすることもできます。
Meson
インストールしたWebCFaceを使用する場合の例
PKG_CONFIG_PATH(またはmesonの引数-Dpkg_config_path)に (webcfaceのパス)/lib/pkgconfig を追加する必要があります。PATHに (webcfaceのパス)/bin を追加するか、 mesonの引数-Dcmake_prefix_pathにwebcfaceのパスを追加する必要があります。webcfaceです。subprojectにする場合は以下のようなwrapを書き、
インストールしたWebCFaceを使う場合と同様にdependency()で使用することができます。 またはwebcfaceのgitリポジトリ(https://github.com/na-trium-144/webcface.git )を直接subproject/ディレクトリに置いても使えると思います。
-Dcpp_std=c++17 のように指定するか、 project() に ‘default_options: ['cpp_std=c++17’],` のように記述するとよいです。CMake インストールしたWebCFaceを使用する場合の例
PATHに (webcfaceのパス)/bin を追加するか、 webcfaceのインストール場所をCMAKE_PREFIX_PATHかwebcface_ROOT, webcface_DIRなどに設定してください。FetchContentを使う場合
またはwebcfaceのgitリポジトリ(https://github.com/na-trium-144/webcface.git )を直接どこかのディレクトリに置いてadd_subdirectory()でも使えると思います。
sudo apt install meson(ubuntu24.04以降) または pip install mesonbrew install meson または pip install mesonpkg-config 環境変数PKG_CONFIG_PATHに (webcfaceのパス)/lib/pkgconfig を追加し、
$(pkg-config --cflags webcface)$(pkg-config --libs webcface)を渡せばよいです
(webcfaceのパス)\include(webcfaceのパス)\lib-lwebcface でリンクできるはずです。(webcfaceのパス)\bin を環境変数のPathに追加するか、 その中にある webcface-20.dll / webcfaced-20.dll ファイルを実行ファイルのディレクトリにコピーして読み込ませてくださいC++のソースコードでは<webcface/webcface.h>をincludeするとwebcfaceのすべての機能が使用できます。
1.10 <webcface/client.h>, <webcface/value.h>など必要なヘッダファイルだけincludeして使うこともでき、コンパイル時間を短縮できます。
1.5 C++ではなくCからアクセスできるAPIとして、wcf〜 で始まる名前の関数やstructが用意されています。 (C++ライブラリのうちの一部の機能しかまだ実装していませんが)
<webcface/c_wcf.h> をincludeすることで使えます。
1.7 <webcface/wcf.h> をincludeすることで使えます。(c_wcf.hも一応使えます)
ほとんどの関数は戻り値が int 型 2.0 enum wcfStatus 型で、 成功した場合 0 (= WCF_OK)、例外が発生した場合正の値を返します。
C++20のmodulesとしてWebCFaceをimportすることもできます。
#include <webcface/webcface.h> と同様 webcface:: 以下のすべての機能が使えるようになります。
include/webcface/modules/webcface.ccm として module interface unit のソースファイルがインストールされるので、それをプロジェクトのソースに追加してコンパイルすることで利用できます。 ビルド済みのBMIはインストールしないので、コンパイラのバージョンの互換性を気にする必要はありません。
.ccm をモジュールのファイルとして受け付けますが、本来の module interface unit のファイル拡張子はコンパイラごとに異なります。(参考: https://stackoverflow.com/questions/75733706/what-is-the-file-extension-naming-convention-for-c20-modules ) WebCFaceでは以下の3つのファイルをインストールするので、使用できる拡張子に制限がある場合はいずれかを利用してください。内容はどれでも同じです。CMake CMakeのバージョンが3.28以上の場合、webcface::webcface の代わりに webcface::webcface_modules をリンクすることで、 module interface unit が自動的にターゲットのソースに追加されます。
Pythonで利用したい場合は pip install webcface でライブラリをインストールしてください。 Python3.6以上で動作します。
importは
で webcface.Client のように使うか、
のように使います。
使い方はC++のライブラリとだいたい同じです。 次ページ以降のドキュメントとともに webcface-python APIリファレンス も参照してください
npm install webcface でライブラリをインストールできます。 Node.jsでもブラウザー(webpackなど)でも動きます。
Node.jsの場合、ESMで
のようにして使うことができます。 CommonJSでrequires("webcface")のように使うこともできると思います。
1.7 ブラウザー上で使う場合はCDNも利用できます。
で読み込むとグローバルに webcface.Client などが使用できるようになります。
使い方はC++のライブラリとだいたい同じです。 次ページ以降のドキュメントとともに webcface-js APIリファレンス も参照してください。