WebView vs ネイティブ vs WASM【モバイルUI】
モバイルUIフレームワークはいっぱいあるけど、結局どれが覇権を取るんだろうね?
WebView(ガワアプリ)→ React, Vue
ネイティブクロスプラットフォーム→ Flutter, ReactNative, Compose, (Xamarin)
ネイティブ→ SwiftUI🍎, Compose🤖, (Flagment🤖)
WASM(WASMランタイムで実行可能なUI)→ Flutter, Compose
単にWebブラウザ→ React, Vue
・プログラム言語別
JavaScript→React, Vue
Dart→Flutter
Kotlin→Compose
Swift→SwiftUI おい!我らが.NET MAUIがねえぞ!
ふざけてんのか! >>2
え、maui?
他モバイルフレームワークと比較した新技術もなく、製品に使われてもいないじゃん、、、 いずれすべてのアプリがWebView + WASM に集約するよ
やはり Flutter はオワコン WasmGCに対応したDartとKotlinが今後期待できるフロントエンド向けプログラミング言語だね
一方WasmGC対応時期不明なフロントエンド向け言語C#さんは出遅れた模様 ブラウザがHTMLに縛られ続ける限りWebAssemblyでDOMを直接操作できる未来は来ないし、JavaScriptが天下を取り続けるよ
せいぜいJavaScriptの高度演算がWebAssemblyで高速化されるくらいしか使われどころがない
UI付きWebAssemblyなんてハナから終わりよ モバイルアプリなんてReactNativeするまでもなくガワアプリで十分 Googleブラウザを使ったアプリなんて10年後にはピクリとも動かないだろうからネイティブしかない >>9
Googleブラウザ?WebViewじゃなくて? サービス終了で使えなくなるWebアプリのことを言いたいのでは
Googleが出てきたのは多分ホスティング関係
まあGoogleに限らず規約変更⇒サービス終了の流れはありがち Webアプリじゃなくてガワアプリならサービス終了でサーバーを閉じてもHTMLセットをアプリに同梱させて動かせられるんじゃないの?知らんけど サーバーサイドに依らないクライアントサイ ドで完結するならの話だけど ガワアプリをPWAかなんかと勘違いしてそうだな
ガワアプリはブラウザじゃなくてアプリストアから配信されてるアプリのこと
例えばこのガワアプリは、
https://techblog.finatext.com/technology-stack-fintech-solution-6bae02917359
UIはWebページまんまのVueをWebView内で動かして、プッシュ通知とかだけネイティブで実装してるらしいよ >>14
なことはない
ガワでPWAをホストするパターンもある
この場合外部のサーバーも不要 そういやPWAの技術、だいぶ昔からあるけど全く普及しないね Webアプリは間違いなくオワコンだよ
誰もブラウザからインストールしてくれないから
みんなアプリをアプリストアからしかインストールしてくれないから WebView使う主な理由ってブラウザのレンダリングエンジンやWeb資産を使いたいって認識でいいのかな ネイティブのUIが糞過ぎるので
UIは全部webviewでやるようにして
はや7、8年になろうとしてる PWAは連携するサービスワーカーの占有サイズが馬鹿デカくてユーザー権限で勝手に入ってくる辺りも普通のアプリと比べて気持ち悪いというか受け入れ難い
PC糞重いと思ったらこれが原因だったとかで印象も悪い >>18
PWAに対応させたサイトをアプリストアから配布したいからとか? TIOBE Index によると、CとC++は合計するとトップの評価となる
つまり、WASM を使うなら C++がベスト
Dart は COBOL や VB に負けるゴミ以下であり、オワコン中のオワコン WASMはオワコン
JavaScriptだけで十分 wasmやるならGoでいい
C/C++/Rustでないといけない理由がない PWAなのにワーカーつかわないんだ
ありっちゃありだけど PWAはプッシュ通知機能をうまく実装できなくて諦めた プロの労働市場は、Ruby vs Java。
多重請負構造のIT 土方 vs ベンチャー企業
米国年収でも、Rubyは、Go/Rust/Elixir の3大言語を超えた!
Ruby, Elixir : 9.3 万ドル
Go : 8.9
Rust : 8.7
多くの言語 : 6.5〜7
PHP : 5
Dart : 4.4
PHP, Dart は、コンピューターサイエンスを勉強していない高卒用言語。
大学の修士号を持っていなくて、門前払いされた人がやる
フレームワークは、
Ruby on Rails : 9 万ドル
Django : 6
Laravel : 3.8
YouTube で有名な雑食系エンジニア・KENTA が推奨する、
初心者向けキャリアパスは、Rails → Go のみ
PHP, Scala はオワコン認定したので、やらないように! >>28
それサーバーサイドの話だろ
クライアントサイドの話をしてや バックエンドは高年収。膨大な勉強量だから。
AWS Solution Architect の米国年収が、
13万ドルと高いのは、システム設計・構築運用ができるから
データベースの設計も難しい。
データベース・スペシャリストは難しい資格
だから、一人でバックエンド/フロントエンドをこなす、Ruby on Rails は高年収。
フロントのみの人は、Firebase が多い
Rails 6 では、API モードでJSON で通信するから、React。
でも、KENTA は日本では、Vue, TypeScript の方が転職しやすいと言ってる
Rails 7 からは、Hotwire に変わった。
HotwireはHTML Over The Wireの略で、
SPAの開発において、JavaScriptのコーディングを極力必要としない。
脱node.js, webpack
JSONではなく、HTMLベース。
サーバーサイドでHTMLを生成し、WebSocketでWebブラウザへ送信する
https://techblog.gmo-ap.jp/2022/07/05/rails-7-hotwire/
https://zenn.dev/shita1112/books/cat-hotwire-turbo/viewer/abstract
Elixir のPhoenix も、LiveView で、websocket によるリアルタイム通信に変わった。
これは、HTTP2 で通信速度が速くなったから
ここ数年、SPAでReactに奪われたシェアを回復すべき戦略。
JSONでややこしい事をしなくても、そのままHTMLを入れ替えるだけで済ます WASMのためにRUSTが必要って言うよりRUSTのGUIが貧弱だからJSの力借りたほうが良いっていう言い方できるかも JavaScriptでないとDOM操作を直接できないからJavaScriptでGUIを書くしかないんよ
WebサイトがJavaScriptからの脱却を不可能にするように作られてるからWASMでGUIなんてオーバーヘッドがひどすぎて使えたもんじゃない
WASMのGUIはまだまだ前途多難
DOM操作無しでGUIを触りたいがためにWASIなんてものも出てきてるしどうなるか全くわからん WASIはGUI用じゃなくね
POSIX(UNIXのシステムコールなどを標準化したもの)を呼び出すための仕様でサーバーアプリを作るためのものてはないか >>33
それも正しい、WASIはブラウザの外でWASMを使うっていうコンセプトだから多種多様な使い道がある
その使い道の中に、レンダリングエンジンを丸々WASM化してGUIアプリを作っていいじゃない!ってことを言いたかった
もちろんサーバーアプリでも一般的なCLIでも使われることになると思う
WASI実装のwasmerはLinuxだけでなくWindowsやDarwinにも対応、POSIX実装?のWASIXはよう知らんがWASMがさらに拡張されそうで楽しみね WindowsやMac向けのGUIアプリがWebViewで作られる時代だから厳しそう >>35
Tauriいいよね
いかんせん素材の豊富なReactやVueを差し置いてわざわざWASMでGUIを作る意味が本当にない ゲームのGUIを作るに限るならDOMへのアクセスができなかろうがほぼ関係ないからWASMは良い選択肢
昔のアドビのFlashみたいなもんだね
問題は今どきブラウザでゲームなんざやろうと思わないことだ(笑) WASMは、ちゃんとWebでニーズに応えてシェアを取らないと始まらない
DOM操作がない時点で一部のマニアしか相手にしないから、すでにオワコン WebViewをJS/TS以外から操作したいとはおもわんし
WebGLの初期化と操作をWASIで規定してくれれば十分
そこに薄く乗る共通GUIもできれば
JSでブリッジするコードはすでにあるけれど 一般ユーザーとして質問です
アプリ作成・配布者がWebViewで自社サイト閲覧させているのですが、画面スクロールやピンチイン/アウトに対応していないのでまともに見れません。
変なところで見切れて尻切れトンボです。
ユーザー側でなにか工夫して普通のブラウザのように閲覧できる方法はありますか? >>42
アプリ作成・配布者にお問い合わせください