Windowsストアアプリ版について
ツイート去年からWindowsストア版のBattenXを用意しようと作業していましたが、思いのほか難しく、Microsoft社員と何度もメールのやり取りをして、今月ストア版のテストをやっとできるようになりました。
しかし、そのテストをして分かったことは、Windowsストア版上ではアプリケーションごとの定義が機能しないということでした。これはストアアプリが別アプリの情報を取得できない仕様となっているためです。技術的な詳細を言えば、グローバルフックが無効になっているためです。
この制限により、事実上ストアアプリ版を登録する意味合いは大幅に減ってしまいました。大事な機能が全く機能しないのですから。
非常に残念な事なのですが、ストアアプリ版の登録は断念することに決定しました。
フリーソフトのX Button Makerも同様に登録する意味合いはないので登録はしません。
将来規制が緩和される可能性はなくはないとおもいます。というのは、最初に説明したとおり、既存のWin32などのレガシーアプリをストアアプリ版にするにはあまりにも難しく、それが足かせとなり、ストアに登録されるアプリが増えるとは到底思えないからです。つまり膨大な過去資産がいつまでもストアアプリ化されない事態のままになるとしか思えないのです。その上、私が今回出くわしたストアアプリの技術的制限があり、単にツールを使ってストアアプリ化すればいいだけという単純な話ではないのです。
実際に作業を経験した人ならわかると思いますが、レガシーアプリのストアアプリ化作業は、複数のコマンドラインツールを駆使してXMLファイルを手直しする作業が必要となる煩雑な作業です。いったん分かればそんなに難しいものではないのですが、それを順序だてて説明しているドキュメントが見当たりません。内部の人間でしか知らない挙動や使い方を知っていない限り、まともに動作するものではないのです。
Microsoftが強く開発を推奨するWinRTアプリなら、ストアアプリ化の作業はすべてGUI化されているようですが、レガシーアプリの場合はサポートがおざなりになっているとしか思えません。開発リソースを多く投入しているとは思えません。外部の開発者は、Microsoft社内の各個人がほとんど何の連携もなしに勝手に作り上げたコマンドラインツールを使わされているように感じます。
アプリ申請自体もWeb上で完結しておらず、メールでやり取りしなくてはならないことがあり、まるで個人が運営しているかのようです。。
初めから大きな期待をしていませんでしたが、アプリの改ざんリスクをMicrosoftが負ってくれるからとやり始めたわけなのですが、想定以上の酷さで、労が多いばかりで実りは全くないと言う散々な結果になってしまいました。
WinRTアプリに移行できればストアアプリ化にそんなに苦労はしなかったでしょう。しかし、WinRTアプリは、ストアアプリ化されたWin32アプリ同様セキュリティを大幅に上げているためにWin32と比べて機能を大幅に削っているので、移行することはできないのです。例えば、プロセスさえも起動できないのです。
気の利いたユーティリティ類は大概そのセキュリティ制限ではじかれ、ストアアプリ化されないと思います。この傾向はWindowsVistaから始まったと認識していますが、Microsoftは自らの首を絞めている事に気付いてないようです。代替案を提示できなくて機能削減するのなら、バージョンを重ねていく毎にWindowsは使いにくくなってしまいます。また開発者のモチベーションもなくなり膨大な過去のソフト資産を活用できずWindowsの利用価値をMicrosoftが自ら削減している事になります。
事実上Windowsの自殺としか思えないのですが、現在のソフトウェア会社はサーバー関連ビジネスを儲けの柱にしているため、土台となるOSがセキュリティのリスク要因となる機能拡張はしたくはないのでしょう。
あまりにもWindowsがMicrosoftによる完全統制されたものになってしまうのなら、個人だけではなく企業も離れていくのではないのかと思います。いずれサーバー関連ビジネスもコンピュータという性格上、誰でも同じような環境を安価に苦労なくできてしまうでしょう。そうなるともう現在の中央集権型のソフトウェアビジネスは終了になります。せいぜいサーバーを間借りするための料金を徴収するだけのアパート経営のようなものなってしまうでしょう。
要するにソフトウェア産業の終わりです。多分そうなるでしょう。ソフトウェアはカップ麺を調理するぐらい簡単なものになり、誰でもその場で作って消費する手軽なものになり、ほとんどビジネスにはならなくなっていくと思います。
Posted: 2017 年 8月 22 日, カテゴリー BattenX, X Button Maker.