概要
Rust というプログラミング言語をご存じでしょうか?
Rust は 2006 年に開発が始まった比較的新しいプログラミング言語で、その処理速度や性能の高さから Microsoft や Google でも新サービスの開発に利用しているほどの注目を集めている OSS になります。
Rust は独自の言語設計によるメモリ安全性が実現されており、ほかの名だたる企業なども採用を進めているなど近年非常に注目を集めています。
そんな注目を大いに集めている Rust において、クロスプラットフォームのユーザーインターフェースを構築することが可能な OSS を見つけましたので、ご紹介したいと思います。
今回ご紹介する OSS は、ウェブアプリ、デスクトップアプリ、静的サイト、モバイルアプリ、ライブビューなどの数多くのマルチプラットフォームに対応したアプリを作成することができる「Dioxus」になります。
公式サイトなどを見るとデザインなども凝っており、とても力を入れていることがわかります。
それでは早速詳細についてみていきましょう!
目次
特徴
「Dioxus」の特徴としては以下の点が挙げられていました。
- 10 行以下のコードでネイティブに動作するデスクトップアプリが開発可能(Electron は不要)
- 人間工学に基づいたパワフルな状態管理
- 包括的なインラインドキュメント、すべての HTML 要素、リスナー、イベント周りのガイドを完備
- 驚異的な実行速度とメモリ効率を実現
- 高速開発を行うことが可能なホットリロード機能
- コルーチンとサスペンスによるファーストクラスの非同期サポート
ほかにも素晴らしい特徴はたくさんありますので、より詳細を把握したい方は以下の公式ドキュメントを参照ください。
対応プラットフォーム
Web |
|
デスクトップ | |
モバイル | |
ライブビュー | |
ターミナル |
利用手順
前提条件
「Dioxus」は プログラミング言語 Rust がインストールされている前提になりますので、まだインストールされていない方は以下の公式サイトからインストールをお願いします。
手順
ここでは「Dioxus」を使用して、Hello, world! を表示させる簡単なアプリ作成の方法について記載します。
プロジェクトのビルドや最適化、開発サーバの立ち上げなどアプリ開発時に必要なツールをインストールします。
cargo install dioxus-cli
また、以下のビルドターゲットを Rust のターゲットとして追加します。
rustup target add wasm32-unknown-unknown
その後はプロジェクトを作成します。
cargo new --bin demo cd demo
その後、「Dioxus」を使用したアプリを作成するのに必要なライブラリを追加します。
cargo add dioxus cargo add dioxus-web
その後、main.rs
を以下の内容に書き換えます。
#![allow(non_snake_case)] // import the prelude to get access to the `rsx!` macro and the `Scope` and `Element` types use dioxus::prelude::*; fn main() { // launch the web app dioxus_web::launch(App); } // create a component that renders a div with the text "Hello, world!" fn App(cx: Scope) -> Element { cx.render(rsx! { div { "Hello, world!" } }) }
保存後、「Dioxus」を実行すると Web アプリとしてブラウザ上に「Hello, world!」が表示されるようになります。
dx serve
Hello, world!
上記のような方法で、「Dioxus」のアプリを簡単に作成することが可能です。
今回上げた手順や公式サイトを参考に、「Dioxus」を使ったアプリの構築を行ってみるとよいでしょう。
まとめ
fn app() -> Element { let mut count = use_signal(|| 0); rsx! { h1 { "High-Five counter: {count}" } button { onclick: move |_| count += 1, "Up high!" } button { onclick: move |_| count -= 1, "Down low!" } }) }
今回は、ウェブアプリ、デスクトップアプリ、静的サイト、モバイルアプリ、ライブビューなどの数多くのマルチプラットフォームに対応したアプリを作成することができる OSS「Dioxus」についてご紹介いたしました。
今とても注目を集めているプログラミング言語 Rust 向けのマルチプラットフォームアプリ開発 OSS になりますので、今後ますます注目を集めること間違いないです。
Rust を業務で普段使用されている方などは、こちらの「Dioxus」を使用されてみてはいかがでしょうか。
Web アプリ開発はもちろん、モバイルアプリやその他個人的なツールまでも簡単に作成することができるため、まずは少しだけでも触ってみると新しい発見につながるかもしれません。
ぜひ一度見てみてください!
ライセンス
https://github.com/DioxusLabs/dioxus/blob/main/LICENSE-MIT