Top  上へ  目次


 Ver.12の話

 そろそろ、先のことを考える時期かなと思い立って、つらつら書いてます。
 長パス対応があれほど手間がかかるとは思ってなかっただけに、バージョン番号がここまでジャンプアップするとは・・・


●Visual studio 2019へ移行

 今までVisual studio 2015を使用していましたが、Visual studio 2019へ移行します。
 ランタイムは2015〜2019までは名前が違っても中身は一緒らしいので、おそらく既存のユーザーさんは何も困らないと思いますし、何が変わったのか気づかれるような点はないと思います。
 強いて言えば、コンパイラがちょっと利口になったおかげで、言われなきゃ分からない程度の速度アップがチラホラあるくらいでしょう。

 ただ作り手側には、かなり致命的なデメリットを抱えてまして、Visual studio 2017の終盤に「ActiveXからクラスのソースを自動生成する機能」が非推奨になりまして、とうとうVisual studio 2019から機能がなくなりました。
 今までD&Dによるコントロールの配置と、コードの自動生成で動画再生やブラウザ機能を持ったアプリケーションの雛形が5分もかからずに作れてたのですが、今後はそういったことができなくなります。
 つまり、Windowsの標準コントロール以外、新規アプリではそう簡単には使えないということです。

 もちろんActiveX自体が古い技術に分類されているので時代の流れだとは思いますし、IEとかメディアプレーヤーとか時代遅れなのは分かっていますが、簡単にこれらの機能が組み込めていただけに非常に残念な機能削除です。

 今後はすさまじく面倒というか、Nugetで適切なライブラリから探すところからのスタートになるので、どれくらい時間がかかるか予想もできません。
 例えば、動画再生でOpenCVを使うとして・・・パッケージが大量にあって(50個までは数えた(-_-;)、どれを使えばいいのやら、ライブラリに親子関係があるし、これじゃない、C++のプロジェクトなのに.NET専用を混ぜるとか整理する気なさげ感が酷い(元々Nuget自体が.NET用)、最新のOpenCVのバージョンは・・・CPU依存もあるのか・・・こっちも違う、とまぁ適切なパッケージの選択ですら時間がかかり過ぎて・・・やーめた、になります(苦笑)
 時間を掛けて本格的なものを作るのは大差ないかもしれませんが、私には「簡単なモックやお手軽ツールの類の新作はもう作れない」レベルですね。
 というわけで、今後の新型のSeekerとBrwsの開発計画が白紙に、検討中だったプレビュープラグインが複数消えてます。もちろんOFRのリニューアルにも飛び火してます。
 .NET使えって事なんでしょうけど、生産性はともかく出来上がるものの性能が・・・ねぇ。

 ちなみに事の経緯の詳細はこちらに記載があり、アンケートも掲載されています。
 ActiveX コントロールからクラスを追加する
 一応、撤回要望は出してますが・・・無理くさいですね。



●初回設定ツールと、アップデートツール

 単なるファイルコピーツールであるこの2つですが、今となっては2つに分かれている意味は薄いです。
 中身がほとんど同じですし。
 というわけで統合する方向で考えてます。
 あと上書きコピーに失敗したら、そのプロセスを強制的に殺すインターフェイスも可能ならやってみようかなと思ってますが、できたら多少は省力化できると思います。
 システムフォルダのスクリプト生成しなおしとか、別の場所にインストール、x86版、x64版と、AVX版の併用をするには従来のほうが便利なんですけど、これからテスト環境が悩ましいところです。

 さて、ぶっちゃけた話をすると、As/Rは開発構想の初期段階から「終わり」を意識し続けているソフトです。
 というのも、15年くらい前からファイラーの開発に飽きてまして、作る前からいつやめるか?という着地点を想定していました。
 予定していた機能もVer.5〜6くらいで収束するように見積もっていましたし、実際に予定機能はそのあたりで収束しています。

 今後はもうそんなに機能が増えることもないだろう・・・と思いつつ、ダラダラと惰性で続いちゃってるのが現在の偽らざる状況です。
 着地点を探し続けて迷走して、迷走しまくってるわけですが、うちのソフトの考え方が肥やしになって、似たような新しいソフトや考え方が生まれてるのは、何というかほっこりした気分になります。
 ここのところ既存のソフトにない機能を立て続けに載せているのも、この辺りが影響しています。

 余談ですが、主要なファイラーの作者さんって私と同年代の人が多いわけで、定年を迎えるであろう時期も同じくらいのタイミングなわけですよ。
 当然、リタイアのタイミングも重なるわけで、同じようなタイミングで続けて終了していくような気がしてなりません。

 そういう背景があって「更新ツールをあまり多機能にしてもなぁ」と考えていたわけです。
 あと、ここを強化しちゃうと、今後のアップデートが止まってしまうフラグを立てるような気もしますし、妙な心理的な抵抗もありますし(苦笑)
 とまぁ、くだらないことを考えつつも、まだしばらく続きそうですな感じになってしまっているので今回のテコ入れとなってます。


 他に検討したプランとしては、Inno Setupを使ってVCランタイムがインストールされていなければインストールする、という配布パッケージも試作してみたのですが配布サイズが現状の約10倍になります。
 ランタイムがでかくて、削減方法もありませんし、圧縮してもサイズ減らないし。
 残念ながらウチのサイトで配布できるサイズではないので断念せざるをえません。
 生臭い話をすると、運営にかかる固定費が今より月額4,500円くらい上げたプランに変更する必要があるわけなのですが・・・サラリーマンの私の小遣いから捻出って無理すぎ・・・ん、今年の世間のサラリーマンの小遣いの平均は4万越えそうだと!?
 いや確かに少なめな自覚はあったけど、世間のサラリーマンの戦闘力は私の2倍なのか・・・はぁ(遠い目)



 メジャー番号が上がるときにしかいじれない項目を優先するとこんなもんですかね。
 SeekerやBrwsの代替とか、モチベーション落ちててやる気が出ません。
 Finとかリメイクを考えたい気持ちはあるんですが、半端に規模が大きくて悩ましい上に、技術課題が何年も解消できてません。
 ナニ困ってるか具体的に例を挙げると
 C:\test1\hoge.txt
 C:\test2\hoge.txt
 検索結果は、親フォルダーが異なる場所に格納されている複数のファイルが並ぶわけで、これらまとめてコピペする方法が思いつかないです。
 当たり前といっちゃなんですが、デスクトップルートにしても上手いこと行かないんですよね(-_-;