WebAssembly(Wasm)技術開発のリーダーであるWasmer社は、このほどWebAssembly System Interface(WASI)を拡張し、Posix(Portable Operating System Interface)と完全互換性を持つ新しい仕様とツールチェーン「WASIX」を発表しました。WASIXは、WASIとPosixの両機能を統合することで、Wasmアプリケーションの構築を簡素化することを目的としています。
WASIXは、5月30日にWASIのスーパーセットとして発表され、ランタイムを完成させるだけでなく、Webアプリケーションを作成するために設計されています。スレッド、バークレーソケット、フォークなど、Posixの寿命を通じて利用可能だった多数の機能をサポートしています。Wasmerチームとその活発なコミュニティは、WASIのABI(Application Binary Interface)の強化、安定化、Posixとの互換性の向上に精力的に取り組んでいます。
WASIXの可能性を受け入れることで、開発者はWasmアプリケーションをより簡単にコンパイルすることができ、WebブラウザやサーバーでJavaScriptに代わる高性能なアプリケーションを実現できます。WASIXの完全な仕様はwasix.orgで見ることができ、開発者はwasmer.shで試してみることをお勧めします。
WASIXは、以下のような様々な機能を提供します:
- 長期安定化、既存のWASI ABIの強化、非侵襲的なシスコール拡張の追加サポート
- RustとC/C++をコンパイルするためのツールチェーン、AssemblyScriptとZigのアップストリームサポート。
- ランタイムサポート(特にWasmerランタイムをフィーチャーしています。
- ブラウザやサーバーとの互換性
- マルチスレッドのサポート
- IPv4およびIPv6を含むソケットのサポート
- ソケットとファイルに対する非同期ポーリング
- TTYのサポート
- DNS解決
WASIは野心的な志を持ち、サポートを維持していますが、その進化の遅さがWasmの利用可能化の進捗を妨げています。WASIはもともと2019年3月にMozillaによって発表されたもので、Webの外でも内でも一貫したインタラクションのメカニズムを提供することで、WebAssemblyアプリケーションがあらゆるOSでシームレスに動作するようにすることを目的としています。Posixは1980年代からIEEE標準として、異なるUnixバージョンや特定のLinuxディストリビューションとソフトウェアの互換性を保つためのAPIを定義しています。
WASIX、no-code 、low-code AppMaster のようなプラットフォームとの互換性を提供することで、強力でスケーラブルなWebおよびモバイルアプリケーションを作成するための可能性が広がるかもしれません。ユーザーは、WebAssemblyとPosixの互換性の利点を活用しながらアプリケーションを構築することができます。AppMaster の詳細については、公式ウェブサイトをご覧ください。また、2022年に向けたノーコード/ローコードアプリ開発に関する完全ガイドもご覧ください。