Javaは"Write once, Run anywhere"というキャッチフレーズがあるのがJanaの利点の一つだと思います。
Pure Javaで書けばJVMが実装されているOS上では同じコードで同じ動作をします。。つまりJava VMが実装されているOSでJava APIのみの関数(メソッド)を使用することが前提で同じ動作をします。逆に言うとWindowsで言うdll、その他の外部モジュールを使用すると同一の動作を保証できません。
Javaだけの世界で構築したプログラムでJavaVMをサポートされているOS上では"Write once, Run any where"となります。
色々なサイトでこの利点を語っていたのですが、今世の中に出回っているデバイス上のほぼ全てJVMは実装されているのでしょうか?
有名所と言う条件なら全部ですが、組み込みの場合は全部ではなくJava言語自体サポートしていないほうが多いです。Javaの場合はOSありきなので、OSが存在しないマイコンなどではJavaでの開発ができません。
MacOS,WindowsOS,AndroidOS,iOSのこれら全てのOSにJVMは標準で実装されているのでしょうか?(要するに、買った当初から、製造された時から、JVMが実装されているのかということです)
MacOS,WindowsOSにはJVMが実装されていますが(標準インストールではなく、個人でインストールが必要)、Android、IOSにはJavaVMは存在しません。スマートフォンなど存在しない時代に開発された言語ですのでAndroid、IOSには"Write once, Run any where"は適用されないです。
Androidの開発にはAndroid Studio(Android SDK.ほぼJavaだがPure Javaではない)で開発し、IOSではSwift言語で開発がメインになります。
"Write once, Run any where"が適用される条件
OSがJVMをサポートしており、Pure Javaで開発された条件では"Write once, Run any where"となります。
過去のブログや記事が間違っているのではなく、時代とともに新しいOSやデバイス・需要がでてきて"Write once, Run any where"の範疇を超えてしまったと言えるのではないでしょうか。
Javaが覇権を握っていた時代ではWindowOS、MacOS、LinuxOSがシェアを独占してたので全てのデバイスでどこでも動くと言うように言われてたように感じます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/11/27 10:53
退会済みユーザー
2018/11/28 11:24
2018/11/29 02:15
退会済みユーザー
2018/11/29 11:26
2018/11/29 11:48