UWSCというWindowsデスクトップのオートメーションに特化したソフトをご存知でしょうか?日々の反復作業やウェブブラウザ操作の自動化、開発中のウィンドウアプリケーションの自動テスト、はたまた(あまり褒められたものではありませんが)オンラインゲームのマクロ用途でお世話になった方もいらっしゃるのではないかと思います。
しかし、数年前に作者のumiumi氏が消息不明となりUWSCの開発も停止してしましました。
後続を求める声があったこと、また僕自身UWSCのヘビーユーザーであったことからじゃあもう新しいの作っちゃおっか!ということで生まれたのがUWSCRです。
目標として
- UWSCのスクリプトがほぼそのまま動く
- 構文を拡張してコードをより書きやすくする
- IE依存の脱却
- モダンブラウザ自動操作の実装
- WebView2によるフォーム
- これがあったらよかったのに!という機能の追加
あたりをね、目指しつつがんばって開発を続けています。そして結構実現できています。
開発言語はRustです。当時僕がRustに興味津々だったためそうなりました。見切り発車もいいとこだったのですがwindows-rsのおかげでWin32 APIが簡単に扱えたことと、Rust自体が素晴らしい言語でやりたいことがわりとすんなり実現するのは良かったです。
しかしまぁ、UWSCって機能がめちゃくちゃ多くて、下手すると一つの組み込み関数が軽いアプリケーションいっこぶんくらいのボリュームあるんですよ。そこを見誤ってて当初は1年で完成させるとか言ってましたが3年経っても終わってません。やべぇ。
ちなみにUWSCはDelphiで出来てて、あれCOMとの親和性が高そうなのが羨ましいですね。COMはつらい。
UWSCRはこのアドベントカレンダー執筆時点でバージョン0.14.0
です。もしかしたら期間中に0.15.0
がリリースできるかもしれませんが、0.14.0
の内容でやっていきます。
UWSCから拡張された構文や組み込み関数、そして新機能についての記事を公開していく予定です。