スポンサーリンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 少し甘かったものの | トップページ | 少しずつ実装中 »

内部コードの実装に入った

今は、Ubuntu版AG-ムービーカッター Ver1.4.1の開発フェーズで、やると決めていたGUI周りのコーディングが終わったので、内部コードの実装に入った。自前コードはコピーすればOkなのだが、そういうコードばかりでもない。

作者製ソフトの幾つかは、macOS / Ubuntu版もあるのだが、Windows版しかないものも多い。

これは何故なのか、というと、デスクトップOSのシェア的には、現状、Windowsが85%程度で、macOS / Ubuntuを合わせても、Windowsの半分にもならないからだ。

つまり、macOS / Ubuntu版を開発しても、そもそも、それらのOSを利用しているユーザー数が少ないので、作者製ソフトが使われる可能性も低くなる、つまり、労多くして益少なし、なので、あまり開発していない訳だ。

もっとも、既に書いてきた様に、WindowsやmacOSというのは、大昔のパーソナルコンピュータ、という感じではなくなってきている訳だ。

具体的には、大昔のパーソナルコンピュータというのは、プログラム電卓の拡張版、といった感じで、基本的には、プログラムは自分で書き、そのプログラムを走らせる事が出来る様なリソースを搭載した機器だったのに対し、最近のmacOSやWindowsというのは、それぞれが専用のアプリストアを持っている様に、ファミコンやプレイステーションの様に、買ってきたソフトを動作させるプラットフォーム、という感じになってきている訳だ。

なので、WindowsPCやMacは、その内、大昔の携帯電話の様に、プログラムは書けるのだが、そのプログラムを自分の携帯電話で使う事は許可されない、みたいな環境になっていく可能性もある訳だ。

そういう時代の到来を鑑みると、自分でプログラムを書いて動作させたい! という人は、Linux系のOSを使っておくのが安心だし、今現在でも、少なくとも、iOS / Android / macOS用にプログラムを組んで動作させるよりは、Linux向けにプログラムを書いた方が作業的には楽な筈だ。

その理由は、既に、iOS / Android / macOS用ソフトというのは、基本的には、商品扱いされているので、自分で作って自分で使おうとする場合には不必要な筈の、セキュリティ対策等を行わなければならなくなっているからだ。

と、いう事で、Ubuntu向けソフトの開発、というのは、その内、Windows / macOSで、自分向けソフトを開発して利用できなくなった場合に備えての保険、という意味もある。

なので、現時点で、開発したソフトのユーザーが少ないとしても、5年後には、上記の様になってしまったWindowsやmacOSを嫌って、Linux系OSに鞍替えする人も増えるかもしれない事も鑑みれば、現時点でWindows環境でやれる事はUbuntuでもやれる様にしておいた方が望ましいかもしれない訳だ。

と、いう事なので、作者的には、去年は、Ubuntu環境でも、Webカメラ / デスクトップレコーダーを開発したりした。

つまり、既に、WindowsでやれてUbuntuでやれない事は殆どない訳なのだが、例えば、Windowsではメモリ上に画像データを作成する場合には、GDIを使用したりするのだが、Ubuntuでは、Cairoを使う必要がある。

なので、OSのAPIを使っていない自前処理なら、Windows版のコードをそのまま持ってきてもUbuntuで動作するのだが、簡単な処理でも、OSのAPIを使っている場合には、Ubuntuで利用可能なそれ相当のAPIを探してきて、新たに、その処理を記述する必要がある。

その結果として、Windows版からUbuntu版への移植作業は、それほど楽でもないので、Windows版はあってもUbuntu版はない、みたいなソフトも存在する訳なのだが、作者的には、既に8年くらいUbuntu版ソフトを開発してきているので、Windowsで使うAPIの多くについては、既に、同様のAPIをUbuntuで利用してきている。

なので、そういった過去のコードを参照しながら開発して行けば、Windows版からUbuntu版への移植はそれほど難しい事はないのだが、作業量的には、まだ、フルコピーという訳には行かないので、AG-ムービーカッター Ver1.4.1の移植作業も、後、1週間くらいはかかる事になるのかもしれない。

 

« 少し甘かったものの | トップページ | 少しずつ実装中 »

2020年2月
            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

広告

プライバシーポリシー

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

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

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

    ポリシーと規約 - Google