r/webdev🔥 62
💬 34

Webアプリがネイティブアプリ超え!?その進化の秘密に迫る

OrganicAd1884
9日前

ディスカッション (35件)

0
OrganicAd1884OP👍 62
9日前

かつてWebアプリはデスクトップアプリに比べて動作が重かった時代がありましたよね?しかし今や、ネイティブアプリよりもスムーズに感じるWebアプリも登場しています。インタラクションは滑らかで、トランジションもスムーズ、全体的な体験が洗練されています。一体何が変わったのでしょうか? ブラウザの性能向上、JavaScriptの高速化、CSS機能の強化などが考えられますが、もしかすると、開発者がWeb UIパターンをより洗練させただけかもしれません。

MobbinでアプリのWeb版とネイティブ版を比較してみると、Web版の方が実際にはよりレスポンスが良く感じられることがあります。これは未来の兆候なのでしょうか?それとも、ネイティブアプリが常に優位に立てる根本的な制約がまだ存在するのでしょうか?

1
Soft_Opening_1364👍 64
9日前

正直、JSエンジンが速くなったり、ブラウザがGPUで加速されたり、開発者がUIパターンにめっちゃ詳しくなったり、色んな要素が混ざってるんだよね。それにReact/Vueとか最新CSSが加わって、ウェブアプリがもっさりしたページじゃなくて、ちゃんとしたソフトウェアって感じになったんだ。OSの深い部分ではまだネイティブが強いけど、ほとんどの用途では差はほぼなくなったんじゃないかな。

2
MyDespatcherDyKabel
👍19日前

Webアプリはまだ起動時間が遅い。ネイティブアプリはすぐに開くけど、Webアプリはまだ1、2秒かかる。

3
j0holo
👍79日前

そうだといいんだけど、デスクトップアプリって起動時に数秒かかるスプラッシュスクリーンが表示されることが多いんだよね。メモ帳みたいなシンプルなアプリは一瞬で起動するけど、複雑なアプリはローダーのバナーで隠してるだけ。

4
TimeToBecomeEgg
👍29日前

まあ、そうだね。でも、それはバックグラウンドで大量のデータをロードする必要があるアプリの話でしょ。それでもWebアプリよりはマシ。

5
MyDespatcherDyKabel
9日前

> 複雑なアプリはローダーバナーの裏に隠れてるだけ。

そんな必要全然ないのにね。MacのBetter Touch ToolsとかAndroidのTaskerは、どっちもめちゃくちゃ複雑なアプリだけど、一瞬で起動するじゃん。その一方で、クソみたいなオフラインのHello Worldウェブアプリが、ロードに最低2秒かかるんだよ。一瞬でロードされるウェブアプリを見せてくれよ。絶対無理だと思うけど。

何が問題なのかはっきりとはわからないけど、ブラウザのせいだと思う。Electronアプリが肥大化するのも同じ理由でしょ。

6
mastap88
👍29日前

えーっと、それについてはちょっと自信ないな。ロード時間が3〜6秒かかるネイティブアプリ持ってるし。

7
rjhancock
👍99日前

ウェブアプリは良くなったけど、デスクトップアプリは悪くなったよね。マシンが速くなったから、デスクトップの開発者が怠けて、効率的なソフトウェアを書くのを気にしなくなったんだよ。

8
sssanguine
9日前

そうは思わないな(Electronで書かれたもの全部って意味じゃないなら)。そう感じるのはiPhoneのせいだと思う。あれが出た時に、「プログラム」から「アプリ」へと文化的に移行したんだ。

アプリは1、2回タップすればすぐ使える。プログラムは複数ページの設定手順が必要で、それでもうまく動かないこともあった。つまり、UXが段違いに良くて、それがユーザーが求めてたものだったんだ。それにモバイルネットワークの普及とウェブブラウザの超進化が加わった。あとは技術が技術らしく進化しただけだよ。

9
rjhancock
👍149日前

30年前のExcelが、今のExcelよりずっと速くロードされるってことに気づけば、君の主張は的外れだってわかるよ。昔は66MHzのシングルコアだったのが、今は8コア4GHzのマシン、RAMは16MBから16GB、IDE HDDは33MB/sだったのが、NVMeは5GB/sだよ。

開発者は余ったパワーのせいでデスクトップアプリで手を抜いて、効率的なソフトウェアを作るのをほとんど気にしなくなったんだ。

10
HelloMiaw
👍19日前

ビジネスソフト、ソーシャルメディア、コンテンツとか、多くの種類のアプリにとって、高品質なウェブアプリは間違いなく未来だよ。Progressive Web Apps (PWA) が、オフライン機能、プッシュ通知、ホーム画面への「インストール」機能みたいなネイティブっぽい機能を追加して、最後の溝を埋めてるんだ。

ハイエンドなモバイルゲーム、プロ向けのビデオ編集、複雑な3Dレンダリングとかは、Metal (Apple) とか Vulkan (Android) みたいなネイティブAPIが提供するGPUへの直接的なローレベルアクセスが、WebGLとかWebGPUみたいなウェブベースの代替手段よりまだ優れてるけどね。

11
Snapstromegon
👍19日前

ビジュアルソフトウェアとWebGPUに関する補足:

WebGPUは非常に優れていて、RustコミュニティではWGPU(基本的にブラウザ外で使用するWebGPU)が主要なグラフィックスライブラリの一つであり、多くのUIプラットフォームのベースラインとなっている。Metal / Vulcan / DirectXなど、プラットフォームに必要なものの上に構築され、オーバーヘッドが最小限に抑えられるから。

個人的には、WebGPUを使わない主な理由、またはプロフェッショナルなアプリがまだWebに移行していない理由は、WASMからWebGPUにデータを転送するために、まだ「遅い」JSブリッジが必要なこと。WebGPUはGPUが持つすべての機能(AIアクセラレータ、CUDAなど)をサポートしていないこと。そして、Photoshop自体にはWeb版があるけど、プラグインはまだWeb上にないと思う。なぜなら、プラグインはPhotoshop APIを経由するのではなく、外部アクセスを自分で処理すると常に想定されていたから。

12
TheRNGuy
👍89日前

新しいタブでリンクが開く? 特定のページをブックマークできる? もしダメなら、サイトの方がマシだね。

(これらはウェブアプリでよくあるアンチパターンだよ)

13
Zealousideal_Dot7041
👍499日前

スマホにアプリをインストールするのが昔から嫌いなんだよね。どうしても必要な時(例えば銀行とか)しかやらない。

ウェブアプリがあるなら、アプリストアからアプリをダウンロードするより、スマホのブラウザを開いてログインする方がずっといい。

個人的には、アプリストアがなくなって、すべてがブラウザでできるようになる未来を願ってる。

ただのわがままかな。

14
Impressive_Star959
👍39日前

同じく。最近のスマホはブラウザで直接スムーズに動くくらいパワフルだよね。アプリストアを使うのが嫌い。

15
TrickyAudin
👍129日前

企業がアプリを通じてコントロールできる範囲が大きいから、すぐにはなくならないと思うな。ブラウザが厳しく管理されてた時代(拡張機能なしとか)に戻らない限り、企業が進んでブラウザに戻るとは思えない。

俺も同じ意見で、できる限りブラウザを優先してるよ。

16
thecaspg
👍39日前

どうして?プライバシーの問題?
俺はアプリ(よく使うやつ)の方がWeb版より便利だと思うんだけど。

17
Pachari
👍39日前

個人的には、ブラウザでできることなら、一度しか使わないサービスのために150〜500MBもある最適化されてないアプリをダウンロードするよりマシだわ。

18
KaiAusBerlin
👍29日前

だよねー。でもローカルにデータを保存する機能がもっと改善されないと。

何百ものログイン情報、設定、ショッピングカートの中身とかが、ブラウザのせいで消えたりクラッシュしたりしたら…全部パーだよ。

でも夢があるんだ。

Web技術ベースのOSが欲しい。AndroidとiOSのアプリをネイティブに扱えて、URLと連携した基本的なデータシステムを持ってるやつ。セキュリティとか、周辺機器へのアクセス、データ保存とか、OSに必要なものが全部揃ってるような。ブラウザごとに挙動が違うとか、もう勘弁。OS全体がW3C標準に準拠してて、プラグインシステムがあれば、ファイルのダウンロードとか、input type=searchの使用とか、ログインとかのイベントをフックできるAPIが使えるし、OSのCSSテーマを上書きしたりもできる。npm、pnpm、yarnとかもネイティブサポート。

そうすれば、Webアプリをネイティブアプリにするんじゃなくて、ネイティブアプリをWebアプリにする時代が来るかも。

WebAssemblyがあれば、OSのパフォーマンスも気にしなくて済むし(Rustで書けばさらに良いかもね /s)。

技術は全部揃ってるのに、GoogleとAppleが利権を手放さないから、絶対に実現しないんだろうな。

19
oculus42
👍19日前

今は境界線がめっちゃ曖昧になってるよね。デバイスが速くなるにつれて、_労力1時間あたりの_パフォーマンスの差が小さくなってるんだ。

ウェブアプリは今やデスクトップでも使われてるし。WindowsのスタートメニューにはReactのコンテンツが含まれてるよ。

20
Daniel_Herr
9日前

いや、そんなこと覚えてないな。もっさりしてるのは当たり前で、ネイティブGUIはずっとそうだったよ。Mac OSでは違ったのかもしれないけど、まずありえないと思う。理論的には、Web、ネイティブ、Flutter、ゲームエンジンとか、何を使っても素晴らしいGUIを作れるよ。ただ、Web技術を使う方が普通は簡単なんだ。

21
ScaleElectronic6695
👍19日前

ブラウザがレベルアップして、開発者がやっと良いUXを理解した感じだよね。今じゃネイティブアプリの半分よりWebアプリの方がスムーズに動くし。

22
AwesomeFrisbee
👍19日前

AppleがやっとWebアプリに意味のある標準を適用することにした(または、ある程度強制された)。なぜなら、一部の機能がうまく動作せず、回避策が必要だったから。そうなると、それらの機能を本当に使いたい場合は、Androidでも使えるようにアプリを2つのバージョンで作る必要があった。ネイティブアプリではなくWebアプリを使う意味がなくなっちゃうよね。

23
haywire
👍19日前

タップの遅延がなくなったみたいだね。あの「機能」のせいで、Webアプリの操作感がめちゃくちゃ悪くなってたんだよ。

24
Sad_Impact9312
👍19日前

正直、いろんな要素が組み合わさってると思う。ブラウザがめちゃくちゃ速くなったし、CSSとJSが進化してGPUアクセラレーションアニメーションが可能になったり、Web Workersや非同期レンダリングも使えるようになった。開発者もネイティブのパターンをコピーするんじゃなくて、Web向けのデザインを学んだし。Next.js、Svelte、ReactのConcurrent featuresみたいなフレームワークも、インタラクションをデフォルトでスムーズにしてくれる。とは言え、OSレベルでのより深い統合や生のパフォーマンスでは、まだネイティブアプリが勝るけど、ほとんどのユースケースでは、Webアプリはついに「十分」なレベルに達して、違いが気にならなくなったって感じかな。

25
eyebrows360
9日前

バカで若い人たちが「ウェブサイト」の代わりに「ウェブアプリ」と呼び始めたとき。

26
r0ck0
👍39日前

それのどこがバカげてるの?

基本的な読み取り専用のWebサイトや、パンフレットみたいなWebサイトとは、かなり明確に区別できると思うけど。

目的も用途も違うじゃん。

27
eyebrows360
9日前

"brochureware(ブロシュアウェア)"サイトにはもう"brochureware"って言葉があるし、訪問者から見て"read only(読み取り専用)"のサイトだって、コンテンツを生成・修正する何らかの"app(アプリ)"コンポーネントがあるはずじゃん。WordPressは"read only content(読み取り専用コンテンツ)"を生成するけど、管理者にとってはやっぱり"an app(アプリ)"なんだよね。

ただのウェブサイトでしょ。区別する意味がマジでない。

28
r0ck0
👍19日前

MS Word onlineとかOutlook onlineを"web apps(ウェブアプリ)"って呼ぶのがバカげてるって思うってこと?

ウェブサイトって呼ぶべきだってこと?

29
dkopgerpgdolfg
👍29日前

ありえない。ウェブサイトをElectronと比較するんじゃなくて、完全にネイティブなものと比較するべきだ。ウェブテクノロジーを使わず、その方法を知ってる人が書いたやつと。

最後の点が重要。ゲームボーイのCPU/RAMスペックで動くGUIテキストエディタもあれば、起動するだけで16GBのRAMとGPUアクセラレーションが必要なものもある。

(アクセシビリティ、テーマ、その他のカスタマイズ、ローカル環境への統合などについては触れないでおこう…)

これは未来なのか、それともネイティブアプリの方が常に優れている根本的な限界があるのか?

何か質問したいのか、それともプロパガンダ記事を作りたいだけなのか?もちろん、Webには根本的な限界があるよ。

30
Ok-Fortune6391
👍29日前

正直、数年前は「Webアプリ」って言葉に全然納得してなかったんだよね。ロード時間が無限に続く、低パフォーマンスなWebサイトってイメージしかなかったから。

でも、Canvaみたいな(デスクトップソフトの競合)大型Webアプリもあるし、PCソフトの強力なライバルとして登場してるツールの多くが、ただのWebアプリだったりする。

この背景にある理由を知りたいな。

31
biggiewiser
👍29日前

CanvaとかFigmaって、どうしてあんなにWebアプリが速いんだろうっていつも不思議に思うわ。

32
Historical_Emu_3032
👍19日前

ここ10年くらいハイブリッドアプリとPWAの開発をたくさんやってきたけど、マジで改善されてるよね。

2015年くらいは、小さなアプリ、ポイントアプリ、リストアプリ、業界特化型アプリ(フォーム入力とか、NFCやQRコードの読み取りとかのシンプルなものが多い)を作ってた。

ハイブリッドアプリは、ネイティブアプリやReact Native/Flutterでできることの多くはまだできないけど、かなり近づいてきてるし、専門のデベロッパーを雇うより圧倒的に安いから、「自分のアプリに必要な機能で、本当にネイティブツールが必要なものって何?」って自問自答する必要があるよね。

33
Namarot
👍19日前

ネイティブアプリの方が悪くなってる。

34
LanceMain_No69
👍19日前

WebAssemblyとWebGLも貢献してるよね。それに、ネイティブアプリによくElectronが使われるようになったのも大きい。