スポンサーリンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« ブログは今週もお休み | トップページ | イベントの処理とか »

GUI部品の作成とか

この二週間くらい、このブログは休んでいたのだが、その間にも次バージョンのMirror-DTC開発は進めていた。もっとも、進捗状況的には芳しくないのだが、これは、現行バージョンは既に完成度が高いので、次バージョンでは、パラダイムシフト的な変更を行おうとしているからだ。

何度も書いてきた様に、作者的には、現行バージョンのMirror-DTCの機能・性能には満足しているのだが、これは、Mirror-DTCをリモートデスクトップソフトとして使おうと考えた場合だ。

つまり、クライアントからサーバーに接続して、そのサーバーのデスクトップを操作しようとする場合には、現行版で、もう十分、という感じがしているのだが、そもそも、このブログのカテゴリーには、MasterReversiやWaveClipperやAmuseGraphicsはあっても、Mirror-DTCはない。

これは一体、何故なのか、というと、作者的には、そもそもは、Mirror-DTCではなく、リモートアプリケーション環境を開発しようとしていたので、その名称としては、リモートデスクトップソフトらしくない名称を選んでいた訳だ。

しかし、その初版の開発時には、AmuseGraphicsの開発に時間がかかり、MirrorCommanderを真面目に開発している時間が無くなったので、MirrorCommanderについては、とりあえず、普通のリモートデスクトップソフトである所のMirror-DTCを、そのカテゴリに属するソフトの一つとして開発してお茶を濁しておく事にした訳だ。

で、上記は、もう10年も前の話になるのだが、初期バージョンのMirror-DTCというのは、現行版と比べれば、処理性能等については、大したモノでもなかったのだが、2009年度の窓の杜大賞にノミネートされてしまった訳だ。

その後も、作者的には、単なるフリーソフトでしかないMirror-DTCのバージョンアップは、あまりやりたくは無かったのだが、バージョンアップの度に、窓の杜に紹介記事が掲載されてしまったので、致し方なく、という所もあり、バージョンアップは続けていたのだが、Ver1.3.1のタイミングで、窓の杜の紹介記事も無くなったので、作者的にも、Mirror-DTCのフリー版は終了させてシェアウェア化した訳だ。

と、いう事で、作者製のシェアウェアである所の、MasterReversiとAmuseGraphicsとTiExtenderについては、作者的にも、それなりのモノを開発してきている自負があるのだが、Mirror-DTCについては、上記の様な経緯があるソフトになる訳なので、あまり自慢する気はない訳だ。

もっとも、何度も書いてきた様に、Mirror-DTCというのは、作者が最も常用している作者製ソフトにはなる訳なので、実用性という面においては、上記の三つに優るとも劣らない筈だ。

しかしまあ、巷には、作者の様に、複数台/複数OSのPC/Mac環境を常時使っている、なんて人は少ないだろうし、そもそも論としては、リモートデスクトップソフトなんてのは、MasterReversiの様に、その分野ではトップクラス、というのが重要になるソフトなのか、と言えば、多分、そんな事はなくて、利用形態によっては、20年前のVNCで十分、という場合も多いかもしれない訳だ。

と、いう事で、Mirror-DTCというのは、作者製ソフトの中では、結構、特異な存在になっているのだが、その最も顕著な特徴としては、発展の余地が少ない、という事になるかもしれない。

つまり、これ以上、高機能・高性能にしてみても、リモートデスクトップソフトの範疇に存在させる限り、殆ど意味はないので、次バージョンの開発ネタについては、悩んでいた訳だ。

で、結論としては、リモートデスクトップソフトの範疇を脱する格好にする事にしたのだが、最初に書いていたMirrorCommanderというのは、判り易く言えば、自製HTTPサーバーとHTMLクライアントを使ったWebシステムを想定していた。

そんなものを個人で作れる訳がない、と、思っている人は、MasterReversiをダウンロードして使って見れば良いのだが、MasterReversiには、その初版の頃から、MRWorkerというのが同梱されていて、これの設定は、ブラウザからアクセスして行う様にしてある訳だ。

つまり、2007年の暮にMasterReversiをリリースした時点で、作者的には、既に、自前のHTTPサーバーを開発済みだったので、これをもっと有効活用できる様なシステムを作ろうかなあ、と、思ったのが、MirrorCommanderの開発動機だった訳だ。

で、既に、世の中はHTML5の時代になっているので、当時と比べて、クライアントの作成は何十倍も楽になっているのだが、Mirror-DTC的には、既に、Windows / macOS / Ubuntu / Android用にクライアントが存在している訳だ。

なので、何も、Webブラウザにクライアントをやらせなくても、作者的には、各種OSから利用可能なリモートアプリケーションの構築は可能になっている。

そして、今はどうなっているのかは知らないのだが、一時期、Webブラウザで操作可能なリモートデスクトップソフトというのがリリースされていたのだが、それを使って見た作者の感想としては、とてつもなく、処理が重い、という事だった訳だ。

そうなった理由としては、Webブラウザ側の処理はJavaScriptになる訳だし、データ転送にはHTTPプロトコルを使わなければならないから、だった筈なので、そういった意味からも、リアルタイム性が要求される様なリモートアプリケーションというのは、HTTPベースにしない方が良さそうな訳だ。

具体的には、MirrorCommanderの構想時には、自宅のPCに接続されたWebカメラの映像を出先の携帯電話で見れる様にする、みたいなアプリケーションも想定していたのだが、そういった用途で使おうとする場合、静止画を一々エンコードしてクライアントに送ると、前述の様に、とてつもなく重くなる訳だ。

まあ、HTML5では、動画の転送が可能になっているので、上記の様な場合には、動画を転送すれば良いのかもしれないのだが、そのコーデックである所のVP8/VP9なら、まだ、特許料を支払わなくても利用可能なものの、より一般的なH.264/H.265で動画をエンコードして転送しようとすると、実際の所、個人開発者では、そのライセンスを取得する事は不可能に近い訳だ。

と、いう事で、クライアントにHTML5を使って動画を転送する、なんてのは、個人開発者としては、現実的ではないので、前述の様に、Webカメラの映像を転送したければ、自前のコーデックを使ってエンコードし、クライアント側でそれをデコードして表示する、みたいな感じにしなければならなくなるのだが、そうすると、前述のWebブラウザベースのリモートデスクトップソフトの様に、とんでもなく重いシステムになってしまう訳だ。

それに比べて、クライアントソフトとしてMirror-DTCクライアントを使う事にすれば、Webカメラ映像の転送なんかを行うリモートソフトを構築しようとしても、処理負荷的には、全然、軽くできる訳だ。

と、いう事なので、Mirror-DTC的には、次バージョン以降では、そもそも、MirrorCommanderでやろうとしていた様な、リモートアプリケーション環境を構築可能にしていく予定なのだが、その為には、Mirror-DTCサーバーが、デスクトップと同様な感じで扱えるソフト環境を構築していく必要がある。

で、理屈の上では、それは簡単な事なのだが、実際には、ボタンだとかチェックボックスだとかラベルの様なGUI部品は自前で用意しなければならなくなるので、ここの所は、まず、それらを開発してみている今日この頃になる訳だ。

« ブログは今週もお休み | トップページ | イベントの処理とか »

2019年11月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google