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

■ このスレッドは過去ログ倉庫に格納されています
0001L2019/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 に変わる新たなローカル仮想環境ができる。

0171デフォルトの名無しさん2021/09/14(火) 18:18:01.42ID:Wng5bteL
age

0172デフォルトの名無しさん2022/02/04(金) 02:46:38.22ID:tMDf8XuC
age

0173デフォルトの名無しさん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 のフレームワーク

0174デフォルトの名無しさん2022/06/21(火) 12:28:27.45ID:TERGIQkG
最近のWebAssemblyのニュース

Publickey - Enterprise IT × Cloud Computing × Web Technology / Blog より
https://www.publickey1.jp/programming-lang/webassembly/

0175デフォルトの名無しさん2022/06/23(木) 17:39:28.38ID:fwy13iz2
WebAssemblyが気になるので調べてみた - Qiita
https://qiita.com/t_katsumura/items/ff379aaaba6931aad1c4

0176デフォルトの名無しさん2022/06/23(木) 18:38:00.25ID:fwy13iz2
WebAssembly活用プロジェクト
https://madewithwebassembly.com/

0177デフォルトの名無しさん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

0178デフォルトの名無しさん2022/06/24(金) 00:36:37.46ID:LDIZz9eS
WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史
https://zenn.dev/koduki/articles/c07db4179bb7b86086a1

0179デフォルトの名無しさん2022/06/24(金) 00:38:27.46ID:LDIZz9eS
Typescriptの次はRustかもしれない
https://zenn.dev/akfm/articles/81713d4c1275ac64a75c

0180デフォルトの名無しさん2022/07/03(日) 14:38:54.59ID:y5Z2gZOd
WASMのビルド作業はやたら面倒臭いが、何かビルド用ツールが出てるのかな
Linux環境じゃないとconfigureが生成できないから、プロジェクトのビルドなんてやってられないだろ
ところでWASMに64bitメモリが実装されれば可能性が大きく広がる予感

0181デフォルトの名無しさん2022/07/03(日) 15:41:32.49ID:2unnqsUi
>>180
Linuxの話題は、あわしろを召喚しちまうから、やめとけ。

0182デフォルトの名無しさん2022/07/03(日) 16:58:00.23ID:y5Z2gZOd
あわしろって誰?w
WASMのroadmapを見ると、Firefoxが一番進んでるみたいだ
何だかんだFirefoxは開発者向けとしては最先端を走り続けているんだな

0183デフォルトの名無しさん2022/07/03(日) 17:11:46.18ID:6NN4RBvO
Linuxの掟とか唱えてる人じゃなかったっけ?

0184デフォルトの名無しさん2022/07/03(日) 20:06:52.80ID:SwvkPEGK
age

0185デフォルトの名無しさん2022/07/03(日) 20:29:55.44ID:o4Z3tiIf
>>182
あわしろ氏って誰?QZ より頭いいの?

0186デフォルトの名無しさん2022/07/03(日) 23:33:33.23ID:C1pvOjRy
あわしろは、Linux 総帥

よく雑誌に記事を書いている

0187デフォルトの名無しさん2022/07/04(月) 01:35:21.33ID:nNTJcKgT
マナーにうるさい
おまえはLinuxを使う資格がないが口癖

0188デフォルトの名無しさん2022/07/04(月) 02:35:19.54ID:hEC4WOUu
>>177
えぐ

0189デフォルトの名無しさん2022/07/04(月) 07:02:36.02ID:E8MuawGm
>>173
>wasi-sdk
GLESやSDL2の対応はどうなんだろ
誰かちゃちゃっと準公式サイトを作ってくれないかなw

0190デフォルトの名無しさん2022/07/05(火) 08:37:06.79ID:HXH2KDmV
WASMではまだ並列処理が弱いのが悲しい所だな
Web Worker使えるけど、window配下オブジェクトが共有できないからな

0191デフォルトの名無しさん2022/08/05(金) 10:52:36.47ID:WoKhwB7u
>>189
対応してないはず。

0192デフォルトの名無しさん2022/08/27(土) 20:19:41.17ID:XRehdZ+z
wasm

0193デフォルトの名無しさん2022/09/08(木) 11:41:23.34ID:KAp1CvD8
現在、Rubykaigi で、Ruby の Wasm 対応についての話しになっているらしい。
Ruby3.2から正式にブラウザでRubyが使えるようになる予定なので、
Rubyのインストールが難しい初心者にとっても楽になるとの事。
また、irb(インタラクティブRuby?)がブラウザでも動いて、対話的に計算
できるらしい。
Rubykaigiは、9/8から9/10の三日間の予定らしい。

0194デフォルトの名無しさん2022/09/08(木) 14:13:55.50ID:2tFquaAS
Rubyは、おわこん
とKENYAも言っている

0195デフォルトの名無しさん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は小企業から大企業まで、プロが多いのかも

0196デフォルトの名無しさん2022/09/09(金) 01:00:16.49ID:NUzzWOKg
rubyのwasmに需要があるかどうかは置いといて、新技術を積極的に取り入れる姿勢は評価できる
これでもっとwasmが普及するといいな

0197デフォルトの名無しさん2022/09/09(金) 01:26:40.60ID:OjVwznsu
ブラウザ上でWasmを使うサービスやアプリならばRuby利用は遅くて重くて大きくて不利だね
だからどうしてもRubyをブラウザ上で動かしたい遊び目的だけかな
Wasm使ってプログラミングしたいならC++かRustのどちらか

0198デフォルトの名無しさん2022/09/09(金) 02:28:27.53ID:n8dQNxep
Ruby は遅くても、可読性が高くバグらないから、高品質でプログラミングしやすい。
C++, Rust などは難しさが桁違い

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

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

Rubyは可読性が高いから保守できるが、
他の言語は無理で、最終的に放置されるだけ

0199デフォルトの名無しさん2022/09/14(水) 08:03:14.57ID:ZrnGb3cN
>>198
ところがRustはRubyに似ていて可読性が高いよ
RustはRubyとクロージャ引数の記述方法も |x| で同じだし
RustはRubyと同じようにイテレーターのメソッドチェーンを多用できるし
もちろん遅延評価されるし
Rubyよりも改善されてる点も多いからRustはRubyよりも可読性が高いよ

0200デフォルトの名無しさん2022/09/26(月) 11:00:46.19ID:NmZ8KQlQ
>>199
Rustは俺が知ってる言語の中で、実用的な言語の中では最も可読性が低い
部類に入る。

0201デフォルトの名無しさん2022/09/26(月) 13:14:00.63ID:fgpUNuss
>>200
Rustは可読性の高さで気に入っている
ほとんどの言語と比べてイーブンか上

Wasm記述で現実的な言語の中だと更に
可読性の低いC++は論外だから
調査研究でもRustが最も使われている

0202デフォルトの名無しさん2022/09/26(月) 14:28:49.61ID:TCGzsvbI
可読性という人によって解釈が異なる単語じゃなくてどういう要素が可読性を高めている/低めているか説明して欲しいな

0203デフォルトの名無しさん2022/09/27(火) 16:07:51.55ID:vP3LfdbR
この板のRustのアンチスレにも、Rustの分かりにくさについてのサンプルコード
があがってる。

0204デフォルトの名無しさん2022/09/27(火) 18:34:36.99ID:OwORQ6vn
下手くそに書かれたコードが読みづらいというのは言語の問題なのかね?

0205デフォルトの名無しさん2022/09/27(火) 20:29:03.01ID:ltFhtHvy
>>204
それはウソで、Rustはどうせきれいに書けない。

0206デフォルトの名無しさん2022/09/28(水) 00:49:27.76ID:JQpGo85s
>>205
あなたにとってはあらゆるRustコードは綺麗には見えないということですね
好みの問題では?

0207デフォルトの名無しさん2022/09/28(水) 01:04:38.83ID:JQpGo85s
>>205
ここじゃ迷惑だから続きはアンチスレでよろしく

0208デフォルトの名無しさん2022/09/28(水) 15:21:20.76ID:01v6ubok
>>206
長ったらしくて煩雑。

0209デフォルトの名無しさん2022/10/02(日) 18:22:14.52ID:fl0K/H95
Rustは抽象化されたプログラミングによって分かりやすく短く書けるね
タイプ数を少なく短く書けるという意味ではなく

0210デフォルトの名無しさん2022/10/15(土) 18:58:40.95ID:b3v/HVBd
>>209
そうは思えないが。

0211デフォルトの名無しさん2022/10/16(日) 09:07:10.00ID:Xqqj3CSd
>>209 散々C++で痛い目をみた人が作っているからね。現実的なモノでしょうね。

0212デフォルトの名無しさん2022/10/16(日) 17:14:42.25ID:Y43orZLw
>>211
そうでもなかろう。

0213デフォルトの名無しさん2022/10/30(日) 00:34:23.75ID:CRXE5x4x
オンライン FM シンセサイザ:
https://yutakaaoki.github.io/test_say/index.html

0214デフォルトの名無しさん2022/10/30(日) 16:23:33.75ID:tfYpbifo
age

0215デフォルトの名無しさん2022/11/08(火) 18:21:56.35ID:Rs+gm7Tf
age

0216デフォルトの名無しさん2023/01/06(金) 22:20:11.40ID:+u5r9Ozg
Rubyにおけるwasmランタイム実装のCRuby、バイナリサイズはstdlib込みだと25MB、brotli圧縮かけて5.0MBだってさ
微妙だけどキャッシュ込みなら5.0MBはギリ許せるのか、、?
https://logmi.jp/tech/articles/327679

0217デフォルトの名無しさん2023/01/07(土) 16:27:35.31ID:/1wD2KzB
>>216
まだ大き過ぎる。

0218デフォルトの名無しさん2023/01/07(土) 16:34:06.31ID:St5PAkDm
>>217
だよねぇ、、うーん

0219デフォルトの名無しさん2023/02/10(金) 08:51:49.30ID:wdaGPD+T

0220デフォルトの名無しさん2023/02/12(日) 13:09:16.81ID:HnI2C6C6
>>219
これが標準化仕様になるんかね

0221デフォルトの名無しさん2023/04/20(木) 11:24:36.10ID:rsMxrIXz
うおおおお

サーバサイドWebAssemblyに、かつてのCGIの仕組みを取り込んだ「WCGI」をWasmerが発表。すぐ起動し安全に分離されるWebAssemblyの特長が活きる
https://www.publickey1.jp/blog/23/webassemblycgiwcgiwasmerwebassembly.html

■ このスレッドは過去ログ倉庫に格納されています