【Wasm】ブラウザをOSとみなすとシェアはTOP
ブラウザをOSとみなすと、Windows/Mac/Linux/iOS(iPad OS)/Android のどれよりもシェアが大きい。
というか、これら全ての native OSを統括するUniversal OSの位置になってきた。歴史から学べば、
・PC-9801/PC・AT互換機 と Windows
・native OS と OSとしてのブラウザ
には対応関係が有り、Windowsの登場でPC-9801とPC/AT互換機で同じアプリが動作することから、敢えてPC-9801を使う必要が無くなり、価格の安いPC/AT互換機に流れて行った。
それと同様に、OSとしてのブラウザの登場により、どんな native OS でも同じ Webアプリが動作することから、敢えて特定の native OS を使う必要が無くなり、より価格の安い OS が使われるようになっていくと予想される。
・シェアの大きさからエコシステムがどの native OSよりも上になる。
・Wasm によってロジック部分の実行速度が native コードに近付いて来た。
・WebGLを使えば、CPUパワーをほぼ使うことなく 3Dグラフィックが描けるので、OpenGLと同等の速度が出る。GLSL 言語でシェーダを使えばブラウザの速度に依存することなく高速にレイトレーシングすることすら可能。
・WebAudio を使えば、PCM再生も FM音源の模倣も出来、ゲームの効果音も出せる。
・だからゲームにも適する。
・PWAを使えば、デスクトップやホーム画面にアイコンが出来、URL欄が消えてnativeアプリとよく似た操作感になる。
・アプリやゲームがインストールすることなくすぐに起動できる。
・ウェブページにリンクを張れば、ゲームシーンを世界中で共有できる。
・ブラウザのサンドボックス内で実行されるので強力なセキュリティーを得られる。
WasmとPWAをウェブアプリの使った例:
https://yutakaaoki.github.io
https://yutakaaoki.github.io/demo_tennis/ :初歩的なゲーム。起動が速い。
https://yutakaaoki.github.io/demo_Mountain/index.html :山岳地形。
https://yutakaaoki.github.io/demo_land_Polygon/index.html
https://yutakaaoki.github.io/demo1/index.html :Widgetの例。
https://yutakaaoki.github.io/demo2/index.html :画像読み込みの例。 >>1
参考:
1. デスクトップOSアプリケーションは、一般にブラウザーベースのアプリケーションに置き換えられますか?
https://www.researchgate.net/post/Are_desktop_OS_applications_going_to_be_generally_replaced_by_browser_based_applications
2. ブラウザは新しいオペレーティングシステムです:
https://www.techdirt.com/articles/20080530/0022021266.shtml
3. ブラウザがユニバーサルOSになりつつある10の理由:
https://www.infoworld.com/article/2609165/10-reasons-the-browser-is-becoming-the-universal-os.html
リンク先 1. の回答を抜粋:
[A2]
Tom, look back at the testimony regarding the Consent Decree between the US Governmentand Microsoft.
One of the fears that Microsoft had was that Netscape's browser would make the Operating System irrelevant.
It is why they implemented IE to use a library that was also integrated into the Windows kernel.
Any changes to the browser also required changes for the OS.
[A3]
Yes..It is already replaced. CloudOS is running in browser and capable of operating all the applications.
One good example is 'EyeOS' which operates more than 67 applications such as Adobe , Word , Excel , PowerPoint , Paint, and Media-players Etc just on browser itself !!! >>2
・WebアプリならAppStoreやGooglePlayに登録する必要が無いので審査も登録料も
年会費も要らない。審査のやり取りに煩わされることも審査に時間をとられることも無く迅速に対応できる。
・このようなことから、PWAのアプリは必然的に増加していくと考えられ、
PWAやWebアプリのエコシステムは自然に Windows/iPhone/Android よりも
大きくなっていくと考えられる。
・速度面でも問題なく、コスト面でも安く、特定企業の支配も受けない。その上、エコシステムが他のどんなOSよりも大きくなるので必然的に、ブラウザとしてのOSは、他の全ての native OS に必ず勝って行く。
・この流れは OS王者の Microsoft にも GAFA にも止められない。
・Intel すら、Wasm Aliance に参加した。これは、Wasmコードが、native CPUでサポートされていく可能性があることを示し、そうなれば、native アプリは完全に時代遅れとなろう。
・Intelがやらなければ、AMDや、日本のNECなどがやれば良い。これは半導体メーカーにとって商機である。 >>3
誤:ブラウザとしてのOS
正:OSとしてのブラウザ
誤:Wasm Aliance
正:Bytecode Aliance >>3
・iOS用のnative アプリを開発しようとすると、XamarinやQtなどを使っても、Mac実機上の xcodeで再コンパイルする必要がある。
・Andorid用のnativeアプリを開発しようとすると、Android SDKやNDKが必要となり、開発環境のダウンロードとインストールやコンパイル時間が多くかかる(コンパイルが遅めなので)。
・その点、ウェブアプリなら、現存するほぼ全てのプラットフォームで同じバイナリを再コンパイルすることなく実行することが出来、開発も管理も楽になる。
この場合、マルチプラットフォームライブラリを使う必要すらない。好きな開発マシンで一回だけコンパイルすれば、理論上は同じバイナリが対応ブラウザが走るどんなOS上でも動作する。
・同じバイナリで Windows/Mac/Linux/iOS/Android の全てでアプリが動作することは、動作不良が発生した時、問題の切り分けがし易い。
つまり、動作不良時の責任の所在がブラウザの非互換性にあることが明確となる。
・「Write once, Run Anywhere」を謳った Java の理想が、Browser+Wasm+WebGL+WebAudio+PWA にて復活することになる。 そういう定義にしないと勝てないとか、涙ぐましいな(笑) AppleやGoogleが1円の儲けにもならない機能に力を入れてくれるんだったらその通り >>8
GAFA や MS は以前は、お互いに済み分けてきたが、最近ではクラウドや検索エンジン、OS、言語、ゲームなどで競合・侵食が起きるようになってきているので、今までのように自社の都合の良いようにコントロールするのは難しくなっていく。
また、そもそもPWAを推進しているのはGoogleであり、ChromeOSやCloudOS、ChromeBookを作ったのもGoogleである。
また、第9世代の Fire HD 10など、Googleに敵対するようなOSを積んだデバイスの標準ブラウザである SilkBrowser(GoogleBrowser) も Wasm に対応済みである。
なお、GoogleBrowserは、AndroidOS標準ブラウザであるが、Chromeとは異なる。
海外の掲示板から小耳に入れた情報だとGoogleはMicrosoftからOS支配力を奪おうとしているとされる。
それがPWAであり、ChromeOS、ChromeBookである。
これは Webアプリによる nativeアプリののっとり計画であり、WindowsOSの位置をブラウザが奪う計画に他ならない。 MS「クラウドの時代にまだWindowsとか言ってるの?w」 【直近で起こるWebの変化の話】
https://alis.to/superparanoid/articles/3Qj6pWpBgG8x
「WASMはどのような環境であれ、ブラウザ上で動きます。これは、WebあるいはブラウザがWindowsやMac OS X、Linuxのような一種のOSとなることを意味しています。
さらにWASMでは既存のブラウザ+JSにない並列化やI/Oの実装が可能であるため、現OSで行われている低レイヤーの処理をブラウザ上で動かすことをコード可能にすることができるかもしれません。簡単に言えば、※JSではOSを書けませんが、WASMではOSを書くことができます。
当然、ブラウザで今まで仕事ができていたように、ブラウザの中にある開発ツールで、ブラウザで動作するソフトウェアを作ることが出来るようになるでしょう。」 Wasmは悪意あるプログラム仕込まれたらヤバイからGDPRで許可されない可能性大
つまり実質的に実務で使えず流産するかもしれない技術 >>13
アメリカの技術で有名なタイプのほとんど全てのIT企業が参加している使い方によって良くも悪くもなる単なる基礎的な道具に対してEUが許可しないなんて事があるだろうか。 >>12
>WASMでは既存のブラウザ+JSにない並列化やI/Oの実装が可能であるため
ここは間違っていて、Wasmは、JSの「サブセット(部分集合)」なので、
Wasmで出来ることはJSでもできる。
実際、Wasmは、asm.js というJSのサブセット規格に変換することが出来て、
それを使えば、WasmをサポートしていないがJSをサポートしている古い
ブラウザでも動かすことが出来る。
逆に、JSで出来てもWasmで簡単には出来ないことは結構有って、例えば、async, await
などは、Wasmを生成するコンパイラ側が対応しない限りは利用することが出来ない。 一行目しか読んでないけど、ブラウザはOSじゃないから OS別に開発しなければならないスマホアプリやデスクトップアプリの時代が終わりつつあるのは事実
両者ともにブラウザベースで動くPWA (Progressive Web Application)化されつつある なんど同じ話を聞いたことか...
古典としてはLISPでも似た事言ってたし、Javaもずーーとそれを謳っていたし
ゲームフレームワークとかも色んなものが「我こそは」と
勿論少なくない簡単なアプリなら可能だろうが
ちょっとでも規模が大きくなったら途端にそんな甘い話は煙のように消える ApacheやSQLやphpがブラウザで動くようになったら>>1を認める 動かすだけなら随分と昔からbrowserでOSエミュレートレベルからモノはあるからなぁ
実用性は皆無だし、チューリング完全なんだから動かすだけなら出来て当たり前でもあるが >>20
WASMで動くようになった
ブラウザ上でもブラウザ外でも Linuxカーネル内にWebAssemblyランタイムを実装し、ネイティブバイナリよりも高速に実行可能にする「Kernel-WASM」登場 https://www.publickey1.jp/blog/23/linuxwebassemblykernel-wasm.html >>26
これ何気にヤバくね?
Javaが目指した世界のさらにその先をWASMで実現しようとしている なのにやっててガッカリした年はともかくインスタライブできるならコロナのせいにしてよ >>30
wasmはバーチャルマシンだからコケない