【wasm】ブラウザでC++。Emscriptenを語ろう

■ このスレッドは過去ログ倉庫に格納されています
1L
垢版 |
2019/01/15(火) 19:50:48.94ID:cXSiB+ud
タイトル通り。

・canvas への描画が可能なことを確認。
・emscripten_sleep() でその場で停止できることを確認。
・付属の emrun や mongoose などで Local Server を作れば、local だけで
 wasm の起動が出来ることを確認。
・mongoose からは、cgi も起動でき、XmlHttpRequest()でローカルファイルを
JSから読み込め、cgi も自由に起動できることを確認。
・ローカル・ファイルアクセス、clipboard の読み書きの他、Local OS の
 全ての機能を自由にできる可能性有り。
・これを使えば、Java の JVM に変わる新たなローカル仮想環境ができる。
2020/04/14(火) 01:07:56.72ID:tGjJf6XN
>>157
確かにFireFoxのMozillaもGoogle傘下にあるようなものだし。
でも、SafariやEdgeもあるので、今まで動いていた古い仕様が動かなくなる可能性は割と低そうという希望的観測がある。
2020/04/14(火) 01:12:20.23ID:tGjJf6XN
でも、実行プログラムがindex.htmlとmain.wasmなどの1種類で、
プラットフォームごとにビルドし直さなくて良いというのは安心感はある。
2020/04/14(火) 19:22:31.95ID:42R+WK0w
>>156
write once, run anywhere といわれていた Java JVM も、蓋を開けてみれば write once, debug anywhere となってしまった現実をご存知ですか?
2020/04/14(火) 19:23:13.73ID:42R+WK0w
>>159
でもデバッグは各ブラウザ毎にしないといけませんね…
2020/04/15(水) 14:42:27.93ID:mfdeAm0A
>>161
やはり、「XX OS対応」と書くためには、XX OSでテストする必要はあるでしょう。
ただ、ビルド回数が少なくて済むことは時間の節約になりますし、
他の事で手一杯の忙しいときに、あるプラットフォーム向けのビルドだけ
(起きるはずも無い)エラーが起きてその対応に追われる心配も無いです。
2020/04/15(水) 14:46:20.72ID:mfdeAm0A
>>162
1. Win/Android/iOS/Mac/Linuxで最終テストは必要。
2. しかし、ソース修正後、ビルドは一度だけでよい。
3. 2.により、仕上げの段階で1箇所修正するだけで5つのプラットフォームごとに
 5回ビルドして5回テストする、という効率の悪い事態は起きない。
164デフォルトの名無しさん
垢版 |
2020/05/25(月) 03:25:23.82ID:Q3BVyDlx
あがれ
165デフォルトの名無しさん
垢版 |
2020/05/28(木) 17:15:51.05ID:1yt8qEqJ
懸念事項だったローカルファイルシステムへのファイル保存について、
今後の Edge Browser では何か進展が有るらしい。

Native file system access
Up until now websites were not allowed to save files in a specific location on the user device.
This meant that online photo editors required users to upload the photo they wanted to edit and then download it to their device, while a native one would have just given the option to replace the existing one.
Starting from Edge 86 (version 83 is the latest one at the time of writing) developers will be able to replace all files the user selects in a session, thus enabling productivity apps on the web to even more useful.
166デフォルトの名無しさん
垢版 |
2020/05/28(木) 17:47:36.62ID:1yt8qEqJ
>>165
どうやら、PWAアプリを起動時に指定したファイル群に、ユーザーにファイルダイアログで毎回選択させること無くいつでもアプリがプログラム的に書きこめるようになるらしい。
167デフォルトの名無しさん
垢版 |
2020/07/14(火) 00:20:51.75ID:cduOb3hQ
age
168デフォルトの名無しさん
垢版 |
2021/03/11(木) 04:16:55.67ID:+SL5WZRG
wasmからGPU使うにはWebGL呼び出しになりますか?
2021/03/20(土) 23:25:10.94ID:j+8OkN/E
>>168
WebGPU は使ったことは無いが、WebGL 以外に WebGPU もある。
Wasmはそれ自体では副作用や入出力は行えないので、やりたいときはJSを
使うことになるので、GPUを使いたい場合は、JSでGPUを使う方法を調べる
ことになる。Wasmは、EM_ASM 文などの中に書いた JS コードを呼び出す
ことで副作用や入出力を行う。
2021/07/10(土) 01:15:43.14ID:dgZojN/o
Wasm ならどんな言語でも同じだろ
171デフォルトの名無しさん
垢版 |
2021/09/14(火) 18:18:01.42ID:Wng5bteL
age
172デフォルトの名無しさん
垢版 |
2022/02/04(金) 02:46:38.22ID:tMDf8XuC
age
2022/06/21(火) 12:20:06.79ID:TERGIQkG
WebAssemblyを普及させたい

☆WebAssembly総合
・Wasmer - The Universal WebAssembly Runtime
https://wasmer.io/
-> WASI(WebAssembly System Interface)とEmscriptenに準拠したWASMを実行できるランタイム

・WAPM - WebAssembly Package Manager
https://wapm.io/
-> WebAssembly製ツール/ライブラリのパッケージマネージャー


☆C/C++
・wasi-sdk - WASI-enabled WebAssembly C/C++ toolchain
https://github.com/WebAssembly/wasi-sdk
-> WebAssemblyのLLVM、clangコンパイルサポート
Emscriptenとは異なりWASMバイナリのみ生成する


☆Rust
・wasm-pack - your favorite rust -> wasm workflow tool!
https://github.com/rustwasm/wasm-pack
-> WebAssemblyのrustcコンパイルサポート

Yew - Rust / Wasm framework for building client web apps
https://yew.rs/ja/
-> WebAssembly によってマルチスレッドな Web アプリのフロントエンドを作ることができる、モダンな Rust のフレームワーク
174デフォルトの名無しさん
垢版 |
2022/06/21(火) 12:28:27.45ID:TERGIQkG
最近のWebAssemblyのニュース

Publickey - Enterprise IT × Cloud Computing × Web Technology / Blog より
https://www.publickey1.jp/programming-lang/webassembly/
2022/06/23(木) 17:39:28.38ID:fwy13iz2
WebAssemblyが気になるので調べてみた - Qiita
https://qiita.com/t_katsumura/items/ff379aaaba6931aad1c4
2022/06/23(木) 18:38:00.25ID:fwy13iz2
WebAssembly活用プロジェクト
https://madewithwebassembly.com/
2022/06/23(木) 21:37:11.74ID:fwy13iz2
WebAssembly Powered Augmented Reality Sudoku

This project makes use of the WebAssembly build of OpenCV (a C++ computer vision library), Tensorflow (a machine learning library) and a solver written in Rust. It neatly demonstrates how WebAssembly allows you to write performance-critical web-based applications in a wide range of languages.

https://github.com/ColinEberhardt/wasm-sudoku-solver
Solverhttps://raw.githubusercontent.com/ColinEberhardt/wasm-sudoku-solver/master/sudoku-solver.gif
178デフォルトの名無しさん
垢版 |
2022/06/24(金) 00:36:37.46ID:LDIZz9eS
WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史
https://zenn.dev/koduki/articles/c07db4179bb7b86086a1
179デフォルトの名無しさん
垢版 |
2022/06/24(金) 00:38:27.46ID:LDIZz9eS
Typescriptの次はRustかもしれない
https://zenn.dev/akfm/articles/81713d4c1275ac64a75c
180デフォルトの名無しさん
垢版 |
2022/07/03(日) 14:38:54.59ID:y5Z2gZOd
WASMのビルド作業はやたら面倒臭いが、何かビルド用ツールが出てるのかな
Linux環境じゃないとconfigureが生成できないから、プロジェクトのビルドなんてやってられないだろ
ところでWASMに64bitメモリが実装されれば可能性が大きく広がる予感
181デフォルトの名無しさん
垢版 |
2022/07/03(日) 15:41:32.49ID:2unnqsUi
>>180
Linuxの話題は、あわしろを召喚しちまうから、やめとけ。
182デフォルトの名無しさん
垢版 |
2022/07/03(日) 16:58:00.23ID:y5Z2gZOd
あわしろって誰?w
WASMのroadmapを見ると、Firefoxが一番進んでるみたいだ
何だかんだFirefoxは開発者向けとしては最先端を走り続けているんだな
183デフォルトの名無しさん
垢版 |
2022/07/03(日) 17:11:46.18ID:6NN4RBvO
Linuxの掟とか唱えてる人じゃなかったっけ?
184デフォルトの名無しさん
垢版 |
2022/07/03(日) 20:06:52.80ID:SwvkPEGK
age
2022/07/03(日) 20:29:55.44ID:o4Z3tiIf
>>182
あわしろ氏って誰?QZ より頭いいの?
2022/07/03(日) 23:33:33.23ID:C1pvOjRy
あわしろは、Linux 総帥

よく雑誌に記事を書いている
2022/07/04(月) 01:35:21.33ID:nNTJcKgT
マナーにうるさい
おまえはLinuxを使う資格がないが口癖
188デフォルトの名無しさん
垢版 |
2022/07/04(月) 02:35:19.54ID:hEC4WOUu
>>177
えぐ
2022/07/04(月) 07:02:36.02ID:E8MuawGm
>>173
>wasi-sdk
GLESやSDL2の対応はどうなんだろ
誰かちゃちゃっと準公式サイトを作ってくれないかなw
2022/07/05(火) 08:37:06.79ID:HXH2KDmV
WASMではまだ並列処理が弱いのが悲しい所だな
Web Worker使えるけど、window配下オブジェクトが共有できないからな
2022/08/05(金) 10:52:36.47ID:WoKhwB7u
>>189
対応してないはず。
192デフォルトの名無しさん
垢版 |
2022/08/27(土) 20:19:41.17ID:XRehdZ+z
wasm
193デフォルトの名無しさん
垢版 |
2022/09/08(木) 11:41:23.34ID:KAp1CvD8
現在、Rubykaigi で、Ruby の Wasm 対応についての話しになっているらしい。
Ruby3.2から正式にブラウザでRubyが使えるようになる予定なので、
Rubyのインストールが難しい初心者にとっても楽になるとの事。
また、irb(インタラクティブRuby?)がブラウザでも動いて、対話的に計算
できるらしい。
Rubykaigiは、9/8から9/10の三日間の予定らしい。
194デフォルトの名無しさん
垢版 |
2022/09/08(木) 14:13:55.50ID:2tFquaAS
Rubyは、おわこん
とKENYAも言っている
2022/09/08(木) 21:16:10.23ID:EF/qt7ve
Ruby on Rails 7 で、Rubyの検索数が増えているらしい。
新しい変更があると、検索数が増えるみたい

JavaScript(JS), Python の検索数が多いのは、素人が多く、難しいからかも。
逆に、Rubyの検索数が増えないのは、プロが多く、簡単だからかも

Rails 7では、Hotwire などの新機能が出たので、プロも検索したのかも

米国年収では、JSが6万ドル、Railsが9万ドルと、かなりの差がある。
素人とプロの開発者の違いかも

JSは素人や個人開発が多く、
Railsは小企業から大企業まで、プロが多いのかも
2022/09/09(金) 01:00:16.49ID:NUzzWOKg
rubyのwasmに需要があるかどうかは置いといて、新技術を積極的に取り入れる姿勢は評価できる
これでもっとwasmが普及するといいな
2022/09/09(金) 01:26:40.60ID:OjVwznsu
ブラウザ上でWasmを使うサービスやアプリならばRuby利用は遅くて重くて大きくて不利だね
だからどうしてもRubyをブラウザ上で動かしたい遊び目的だけかな
Wasm使ってプログラミングしたいならC++かRustのどちらか
2022/09/09(金) 02:28:27.53ID:n8dQNxep
Ruby は遅くても、可読性が高くバグらないから、高品質でプログラミングしやすい。
C++, Rust などは難しさが桁違い

ビジネスでは、Rubyよりもかなり遅れる。
他社に市場シェアを取られてしまう

例えば、SASS がそう。
Rubyで作られて、C++ で作られるまで数年以上遅れた。
次に、C++で保守出来なくなって、Dart へ移った

Rubyは可読性が高いから保守できるが、
他の言語は無理で、最終的に放置されるだけ
2022/09/14(水) 08:03:14.57ID:ZrnGb3cN
>>198
ところがRustはRubyに似ていて可読性が高いよ
RustはRubyとクロージャ引数の記述方法も |x| で同じだし
RustはRubyと同じようにイテレーターのメソッドチェーンを多用できるし
もちろん遅延評価されるし
Rubyよりも改善されてる点も多いからRustはRubyよりも可読性が高いよ
2022/09/26(月) 11:00:46.19ID:NmZ8KQlQ
>>199
Rustは俺が知ってる言語の中で、実用的な言語の中では最も可読性が低い
部類に入る。
2022/09/26(月) 13:14:00.63ID:fgpUNuss
>>200
Rustは可読性の高さで気に入っている
ほとんどの言語と比べてイーブンか上

Wasm記述で現実的な言語の中だと更に
可読性の低いC++は論外だから
調査研究でもRustが最も使われている
2022/09/26(月) 14:28:49.61ID:TCGzsvbI
可読性という人によって解釈が異なる単語じゃなくてどういう要素が可読性を高めている/低めているか説明して欲しいな
2022/09/27(火) 16:07:51.55ID:vP3LfdbR
この板のRustのアンチスレにも、Rustの分かりにくさについてのサンプルコード
があがってる。
2022/09/27(火) 18:34:36.99ID:OwORQ6vn
下手くそに書かれたコードが読みづらいというのは言語の問題なのかね?
2022/09/27(火) 20:29:03.01ID:ltFhtHvy
>>204
それはウソで、Rustはどうせきれいに書けない。
2022/09/28(水) 00:49:27.76ID:JQpGo85s
>>205
あなたにとってはあらゆるRustコードは綺麗には見えないということですね
好みの問題では?
2022/09/28(水) 01:04:38.83ID:JQpGo85s
>>205
ここじゃ迷惑だから続きはアンチスレでよろしく
2022/09/28(水) 15:21:20.76ID:01v6ubok
>>206
長ったらしくて煩雑。
2022/10/02(日) 18:22:14.52ID:fl0K/H95
Rustは抽象化されたプログラミングによって分かりやすく短く書けるね
タイプ数を少なく短く書けるという意味ではなく
2022/10/15(土) 18:58:40.95ID:b3v/HVBd
>>209
そうは思えないが。
2022/10/16(日) 09:07:10.00ID:Xqqj3CSd
>>209 散々C++で痛い目をみた人が作っているからね。現実的なモノでしょうね。
2022/10/16(日) 17:14:42.25ID:Y43orZLw
>>211
そうでもなかろう。
213デフォルトの名無しさん
垢版 |
2022/10/30(日) 00:34:23.75ID:CRXE5x4x
オンライン FM シンセサイザ:
https://yutakaaoki.github.io/test_say/index.html
214デフォルトの名無しさん
垢版 |
2022/10/30(日) 16:23:33.75ID:tfYpbifo
age
215デフォルトの名無しさん
垢版 |
2022/11/08(火) 18:21:56.35ID:Rs+gm7Tf
age
216デフォルトの名無しさん
垢版 |
2023/01/06(金) 22:20:11.40ID:+u5r9Ozg
Rubyにおけるwasmランタイム実装のCRuby、バイナリサイズはstdlib込みだと25MB、brotli圧縮かけて5.0MBだってさ
微妙だけどキャッシュ込みなら5.0MBはギリ許せるのか、、?
https://logmi.jp/tech/articles/327679
2023/01/07(土) 16:27:35.31ID:/1wD2KzB
>>216
まだ大き過ぎる。
218デフォルトの名無しさん
垢版 |
2023/01/07(土) 16:34:06.31ID:St5PAkDm
>>217
だよねぇ、、うーん
219デフォルトの名無しさん
垢版 |
2023/02/10(金) 08:51:49.30ID:wdaGPD+T
キタコレ
wasmにgc搭載
https://www.publickey1.jp/blog/23/webassemblychrome_111dartwebassembly.html
220デフォルトの名無しさん
垢版 |
2023/02/12(日) 13:09:16.81ID:HnI2C6C6
>>219
これが標準化仕様になるんかね
2023/04/20(木) 11:24:36.10ID:rsMxrIXz
うおおおお

サーバサイドWebAssemblyに、かつてのCGIの仕組みを取り込んだ「WCGI」をWasmerが発表。すぐ起動し安全に分離されるWebAssemblyの特長が活きる
https://www.publickey1.jp/blog/23/webassemblycgiwcgiwasmerwebassembly.html
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況