- ベストアンサー
PCでスマホやiPhoneのアプリが使えない理由?
PCでスマホやiPhoneのアプリが使えないのはなぜでしょうか?また、使えるようにするためにはどうすればよいのでしょうか?どなたか詳しい方教えてください。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
質問自体が、なんでOSが違うと動かないのか?と言っているのと同じだと思いますけどね。 WindowsやMacのユーザーはOSが違うから動かないという概念を持っているかもしれませんが… LinuxやFreeBSDのユーザーだと、あまりそういう感覚がありません。 より単純に、APIやライブラリーが揃わないから…とかそういう理由を挙げるでしょう。 GIMPは、有名な画像処理のツールだと思いますが、これはOSが違っても Windows,MacOSX,FreeBSD,Linux,OS/2などで動いたりしています。 これはオープンソースソフトウェアであるがゆえに、必要と感じた人が 自分が使いたいOS環境で動くように、移植作業を行なった成果です。 これはOSの違いだけでなく、CPUのアーキテクチャーの違いも乗り越えます。 WindowsRTでは、ストアアプリしか動かないという話がありますが… これは、ARMのCPUの問題ではなく、単なるMicrosoftの方針か限界です。 実際に、Android端末にUbuntuなどのOSを導入した事例では ARMのCPUで、GIMP,LibreOffice,Scribusなどたいていのものが動いています。 では、なぜAndroidでは動かないのか? 同じLinuxカーネルをコアとするAndroidとUbuntuで、なぜ事情が違うのか? それは、そこに整っている環境が大きく違うからです。 Androidの場合は、アプリはDalvik仮想マシンの上で動いています。 WindowsはNTカーネルの上でWin32APIやWinRTAPIなどのAPIが提供されています。 .NETフレームワークも、そういった環境のひとつですし、FLASH Playerも含めてもいいかもしれません。 これらには、まったく互換性が無いのですから、動かないのがあたりまえです。 転職したのに、前の職場の休日届けを総務に出しても突っぱねられるでしょ? CPUの違いは、日本の会社に英語で申請するくらいに論外ですが… CPUが同じでも、同じ言葉でも、その書式形式の違いで、要望は通らない…だから動かないのです。 (Dalvik仮想マシンはCPUの違いを吸収するために、Androidのために設計されました) オープンソースのソフトウェアであれば、その形式の違いを修正し、同じ言葉に変換した上で 異なる環境で動くようにすることもできます。 でも、AndroidやiPhone向けのソフトの多くはプロプライエタリーソフトウェアで… 簡単に言えば、開発者がPCで動くようにしようとしないのであれば、第三者が介入することができません。 一応は、Android用ソフトを開発するために WindowsやLinuxの上で、Dalvik仮想マシンを動かすことはできます。 ただ、実用的な速度で安定して動くのかといえば、そういうわけでも無いようです。 逆にAndroidの上で、QtやgtkやX Window Systemを動かすことは困難です。 だから、同じCPUと同じカーネルでも、UbuntuのソフトをAndroidで動かすことは現実的ではありません。 ただ、管理者権限を得て、大きなリスクのもと、大幅なカスタマイズをすれば Android端末に、Ubuntuなどのデスクトップ向けLinuxや、サーバー向けLinuxを動かすこともできます。 実際に、そんなことをやる酔狂な人が、あまりにも少ないというだけです。 iPhoneの場合も、iOSの根幹はMacOSXと共通の部分がありますが OSXのオープンソースの部分はともかく、Appleが権利を持っている部分については iPhoneやiPadに組み込む方法が提供されておらず、Mac用ソフトはiPhoneでは動かせません。 CPUがIntelとARMという違いを持っていることも重要です。 逆に、質問にあるiPhone用のソフトがPCで動かないのは iOSのApple社が権利を持っている部分が、非公開であるがゆえに PC上で動かす方法が無い。また同等の代替環境を作ることも困難なのです。 もちろん、iOS向けアプリの開発者がPC用を作らないことも大きな理由です。 技術的な問題というよりも、単に 開発者がやらないからできないというのが現実です。 逆に、実現のコストに見合う利益が無いから、開発者ができないというのも現実です。 スマフォ用の、マンガやアニメや芸能人に関わるアプリについては 開発元がそれらの権利元との契約上、スマフォ用としてしか作れないという場合もあるでしょう。
その他の回答 (8)
- katsu_naka46
- ベストアンサー率47% (358/756)
色々と詳しく説明すると、とても難しくなりますので、 端折って説明するとすれば、 PCやAndroidスマホやiOSスマホ(iPhone)では それぞれ理解できる言語が違うという事です。 日本語しか判らない人に英語で話しかけても 言葉が通じないのと全く同じ意味だと考えれば良いです。
お礼
お返事ありがとうございます。
- mrkato
- ベストアンサー率47% (1008/2121)
iOS版アプリはMacOSの本体違いとして開発環境が配られているので (マイコンの中身が別で、アプリを動かすには意味を伝える為のソフト一式ごと、 用意を入れ替えて使う、という負担がいります。 紙の箱を作るのに、木材をくだいたパルプで洋紙を漉いて用意するのか、 和紙の楮こうぞ、サトウキビを搾ったバガスパルプで紙を漉くのが、的な差です) Macブランドの本体だと、自分で作ったiOSアプリを試すことができます。 今有るiOSアプリをiTunesからMacで貰ってくることは無理です。 アップル日本語、Xcode と iOS SDK のダウンロード、配布手段の説明ホーム https://developer.apple.com/jp/ipad/sdk/ アンドロイド版アプリは実際使う手は有りますが、ちょっと難しいです。 アンドロイドの中身のマイコン自体は複数ブランドで供給されていて スマッチャ、2011年2月記事 いろいろありすぎて分からん!!最新のモバイル向けCPUをまとめてみました。 http://smarter-jp.net/newsetc/17677/ パソコングラフックのGeForceを持つNVIDIAも供給していますが、 そのライバル品RADIONや、インテルでないPCプラットフォームを持っている会社 が、ブルーステークスという「アンドロイドのエミュレータ」を支援して、 その普及含め自社の高機能部品入りパソコンメーカーを販売促進しています。 AMDジャパン、AMD AppZone日本語サイトを開設 http://www.amd.com/jp/press-releases/Pages/amd-appzone-brings-2012sept27.aspx AMD AppZone http://www.amd.com/jp/vision/shop/cool-apps/Pages/cool-apps.aspx ブルーステークス、英語ベータ版としての扱いだが ウィンドウズ7/Vista/XP用、SuefacePro限定Win8用、MacOS用あり http://www.bluestacks.com/ ウィンドウ表示動作中の導入アプリ一覧画像を添付してみますが、 AMD AppZone 日本語版は一応インテルだけのパソコンでも動作します (3Dゲームが何とか動く程度な性能と、各種ランタイム導入設定は必須) 配布アプリのファッション分類にプリセットされたZOZOTOWNアプリが、 アップデート取得出来ないものの商品データ読み込んで回遊できたり、 GooglePlayStoreから「NHK時計」を取得動作させる事まで確認できました。
お礼
お返事ありがとうございます。
- nijjin
- ベストアンサー率27% (4811/17778)
1.OSが異なります OSが違えば動作するプログラムが違います 2.CPUが違う CPUの命令に互換性が無ければOSが同じでも同じプログラムは動きません 3.ハードウエア(デバイス)が違う デバイスを制御するプログラム(ドライバー)が異なります グラフィックやサウンドの命令や機能にiPhonにはあるがスマホには無いとなると正しく機能しません これらをクリアしないと動きません。 いってみればPS3でwiiやXBOXのゲームを動かすようなものです。
お礼
お返事ありがとうございます。
- s_c01
- ベストアンサー率38% (24/63)
CPUが違う、ハードが違う、OSが違う。 CPUが違えば、バイナリコードの解釈が異なりますので、同じプログラムモジュールを動作させても、正常に動く道理がありません。 ハードが違えば、周辺回路の動作ロジックが異なり、たとえプログラムがCPUで同じように処理されたとしても、周辺回路を正しくコントロールすることが出来ません。 最後に、OSと言うのは、ハードに違いをある程度吸収するためのものですが、その為には、そのOS独自のプログラムの組み方というのがあるのですが、当然、OS毎に、そのスタイルは異なってきますので、OSが異なれば、同じロジックで作られたプログラムモジュールでも、同じ動作をすることはありません。まぁ、違うOS用に作られたプログラムが、正常な動作をすることはありません。 そういったことを踏まえて、動作させようと思えば、それぞれの違いを吸収するプログラム上で動かすと言うことになります。これがいわゆる、エミュレータというものです。まぁ、完全に同じ動作をするわけではありませんので、用途は限定的にならざる終えませんが…
お礼
お返事ありがとうございます。
- te2kun
- ベストアンサー率37% (4556/12165)
スマホってスマートフォンの略であり、スマートフォンってiPhoneって呼ばれるApple社が作っている携帯電話も含まれますけどね iOS用のスマートフォンアプリで、iPhoneで使えないとすればOSのバージョンが違うか、Apple社が配布を認めていないから。 WindowsとLinuxとUnixはすべてOSが異なります よって、OSが異なりますから動作しません LinuxやUnixでも、それぞれOSの仕様が異なりますから動作しません よって、動作させるには、それぞれの環境をエミュレートさせて動作させるしかないでしょう 開発環境を持っている人なら、ある程度エミュレート出来るので、作れる場合があります。 ただし、実際環境と異なるので、必ずしも動作するという物ではありません
お礼
お返事ありがとうございます。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
OSが異なるので・・Mac用やUNIX用のソフトがWindowsで使えないのと同じ。 オープンソースでソースが公開されていたりするとWindows用にコンパイルしなおすとか、javaなど仮想OSで動くものを探すとか・・
お礼
お返事ありがとうございます。
- mpascal
- ベストアンサー率21% (1136/5195)
基本ソフトのOSが違うから。 PCはWindows、スマホはAndoroid、IiPfoneはiOS。
- hirama_24
- ベストアンサー率18% (448/2473)
プログラミングって言葉を知っていますか? iPhoneとPCやAndoroidでは、その内容が違うので動きません。 プログラムの内容を両方で使えるように書き換えれば、使えるようになります。 そんな知識も技術も無いでしょうから、あなたには出来ません、それが出来るようにするソフトもありませんし。
お礼
お返事ありがとうございます。
お礼
詳しい説明ありがとうございます。