スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 新製品は何時だろう? | トップページ | 人生の無駄遣いではある »

どれだけかかる?

今はmacOS用AGMPlayerの開発フェーズで、まずは、macOS用AG-ムービーカッターを開発する必要がある。にも関わらず、その前に、色々とリリースしたのだが、これは、macOS用AG-ムービーカッターの開発には時間がかかるかもしれない、という危惧があるからだ。

何度も書いてきた様に、macOS用AG-ムービーカッターの開発で、問題となるのは、GUI部分のみなのだが、macOSの場合、このGUI部分の開発が、他OSの何倍も、困難となる可能性がある。

これは何故なのか、というと、macOSというのは、Apple製のクローズドOSなので、その仕様の全てはAppleが決めているし、それを利用可能なマシンも、Apple製のMacに限られる。

そして、Macには、Apple純正ソフトが同梱されて出荷されるのだが、これはつまり、Appleという企業は、ハードウェアと共に、OSも、そして、その上で動作するアプリも、開発している訳だ。

これが何を意味するのか、というと、Apple製のOSというのは、長い間、OS単体を商品にしてきたマイクロソフト製のWindowsとは、その立ち位置が異なる、という事だ。

と、いう事なので、OSを商品にしていたマイクロソフトの場合、そのOSをユーザーを無視したシロモノにしてしまったのでは、商売にはならなかった訳なのだが、Appleの場合、OS開発の第一目的は、Macの動作環境を提供する事、なので、極端な話、その上で動作する第三者製ソフトなんか、相手にしなくても良い訳だ。

このため、Apple製のOSというのは、一応、最低限必要となるAPIの情報は公開されているのだが、公開されていないAPIが山の様にあって、Appleだけが、そのAPIを利用できる格好にされている事は知っている人は多い筈だ。

更に、OSのバージョンが上がる度に、APIの仕様がコロコロと変更されるので、Macでは、第三者製ソフトの多くは、その内、動作しなくなる訳だ。

つまり、macOSには、プライベートAPIというモノが存在し、これについては、Appleは仕様を公開していないので、何処かの誰かがリバースエンジニアリング等で得た情報を使わないと使えないのだが、これを使わないと、実現できない機能も多い。

実際、作者製ソフトでも、Mirror-DTC/TiExtenderの双方で、それぞれ異なるプライベートAPIを利用していて、そのAPIを利用しないことには、その機能の根幹部分を構築できないにも関わらず、プライベートAPIを使ってしまうと、Appストアの審査には、自動的に不合格になる訳だ。

と、いう事で、macOSというのは、厄介なOSなので、ちょっと普通じゃない事をやろうとすると、色々な意味で、大変になる訳なのだが、iOSアプリと比べると、まだ、Appストアの審査で落とされるアプリでも、自前サイトにアップできる分だけ、マシではあるかもしれない。

ちなみに、今日の表題は「どれだけかかるか?」にしたのだが、これは、嫌味みたいなモノで、作者的には、今週中には、とりあえずの目処を付けるつもりだ。

当然の事ながら、今週中に完成させるのは無理があるのだが、必要なAPIの調査だとか、コア部分の開発だけなら、1週間もあれば何とか出来ない筈はない訳だ。

しかし、この場合に、プライベートAPIというモノの存在が問題になる訳だ。

何故なら、既存ソフトでやれている事なら、作者製ソフトでも出来る筈、と、思って開発を始めても、その既存ソフトがプライベートAPIを使っていた場合、APIに関する情報集めで頓挫する可能性まであるからだ。

と、いう事で、macOSの最大の問題は、コロコロ変るが為に、パブリックAPIについても、今現在使えるモノに関する情報を集めるのは困難を伴う上に、少し普通じゃない処理を行おうとするとプライベートAPIを利用する必要が生じ、このAPIに関する情報を集めるのは、更に何倍も困難を伴うことになる、という事だ。

« 新製品は何時だろう? | トップページ | 人生の無駄遣いではある »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/64887829

この記事へのトラックバック一覧です: どれだけかかる?:

« 新製品は何時だろう? | トップページ | 人生の無駄遣いではある »

2017年10月
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 31        

広告

プライバシーポリシー

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

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

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google