• jqueryオワコン説に関して

    jQueryオワコン説がよくネットで目にすると思うのですが、
    実際どうおもわれますか?

    オワコンと言われる理由として、
    ❶jQueryファイルの読み込みスピードが無駄
    ❷ECMAScriptの進化により、できること増えた
    ❸vueやreactがあるから

    とあると思うのですが、
    腑に落ちない部分があります。

    ❶現在の通信環境で、問題になる秒数とはとても思えない
    ❷たしかに増えたが、jQuery使った方がまだ工数ぜんぜん抑えれる気がする
    ❸用途違くない?なぜwebサイトやLP制作と、アプリ制作が混合されるのかわからない(知識不足だったらすみません;)

    などです。

    当方は、普通にjQuery使うべき派なのですが、
    実際のところ、どうなのでしょうか?

    よろしくお願いいたします。
返信の受付は終了いたしました。
  • ❶現在の通信環境で、問題になる秒数とはとても思えない
    君の普段の通信環境だけが全てじゃないよ。
    5Gじゃなかったりする地域もまだまだあるし、
    帯域制限受けてても普段使いしたいスマホユーザーもいるし。
    災害などの緊急事態で、帯域制限受ける可能性だってあるし。
    いろんなこと考えたら、ソースコードは1KBでも少なくすべき。
    あと、閲覧者側だけじゃなくて、コンテンツホルダーとしても考えないといけない。
    レンサバで中小零細のほぉむぺぇじを管理してたら気にならんが、
    例えば大手交通機関のサイトとか、大型施設(デパート)とか、
    大手チェーン店のサイトとか。
    こういうのは大量のアクセスがあるので、サーバーの転送量による料金も結構な額になる。
    某大手バス会社の公式サイトに関わったことがあるが、それはもう
    キュンキュンに容量削減施策実施してたよ(ただ、jQueryは使ってたが)
    ファイル1つ削減するだけで、ガクッと転送量減らせたりする。

    ❷たしかに増えたが、jQuery使った方がまだ工数ぜんぜん抑えれる気がする
    気がする、だけの話に答えようがないんだが、
    たとえばjQueryはイベント複数設定できたりして便利なんだけど、
    Vanillaでもイベントを配列にしてforEachで回すとかそういう力技もある。
    工数というのもこの文脈ではとても曖昧だが、
    その曖昧さで答えていいなら「ぜんぜんそんなことないよ」が回答。

    ❸用途違くない?なぜwebサイトやLP制作と、アプリ制作が混合されるのかわからない(知識不足だったらすみません;)

    それはそう。だから「jQuery要らない」の文脈が、WebアプリかWebサイト制作のどちらかで語られてるのかは、読み手がしっかり理解しないといけない。

    とはいえ、Webサイトでも、リアルタイムにグラフを表示したり、
    料金シミュレーターみたいなコンテンツはReactやVueがあると便利。
    個人的には、コロナ関連の医療系サイトで、当該県の患者数を
    県のオープンデータから引っ張ってきてグラフ化したい、という要望でVueを使った。
    あとは、税理士事務所のサイトで、相続税シミュレーターを作るのにもVueを使った。
    今だったら、Alpine.js使うかな。

    個人的には、Webサイト制作→Vanilla.js、必要に応じてAlipine.js
    Webアプリ→ReactかVue。(実質的には、Next.jsかNuxt.js)

    という感じ。
  • ❶現在の通信環境で、問題になる秒数とはとても思えない
    →これに関しては正直、そうだと思います。すごい限定的な話をするなら意味はあるんでしょうが


    ❷たしかに増えたが、jQuery使った方がまだ工数ぜんぜん抑えれる気がする
    →コーポレートサイトレベルの話ならそうですね、大体WordPress入れるので
    また、WordPressで無理くりreact、Vanillaで書いているのたまに拝見しますが正直意味がないと感じます。
    フロント側のプラグインでもjqueryに依存しているものが存在しますからね

    逆にWordPressをHeadless化して使うっていうのはメリットがありますが、WordPressの良いところを全部殺して、劣化MTみたいにしかならなかったので微妙でした。
    (案件レベルではやってなくて勉強でやった程度なのでもしかした違うかもしれませんが)



    ❸なぜwebサイトやLP制作と、アプリ制作が混合されるのかわからない
    はい、用途が違います。
    Reactベースで作られたRetoolとか触ってみるとReactの凄さを実感しやすいかなとは思います。
    Reactでちゃんとしたものを作るのは結構大変なので。
  • > jQuery使った方がまだ工数ぜんぜん抑えれる

    jQueryとバニラJSの両方とも使える見地から言えてる?
    jQueryしか知らないとしたら、比較なんてできるわけないよね。
    個人的には、jQuery使いたいという人の根拠は、せっかく覚えたjQueryを手放したくない(新しくJS覚えるのめんどくさい)以外の理由はないと思うよ。
  • 返信先: @自分 追記:
    jQueryはバニラと比較して、すべてにおいて遅いんだよ。
    それが通常Webサイトにおいてクリティカルな問題になるかといえば、ならないケースの方が多いと思うけれど、それとこれとは問題は別。
    やることは同じで、どちらを使ってもいいケースで、わざわざパフォーマンスの悪い方を選択しないよね。それでも、パフォーマンスの悪い方を選択する理由があるとしたら、「使い慣れているから」以外の理由なんてあるの?
    それって、ユーザーファーストの真逆の、自分ファーストだよね。
  • 返信先: @hKlgMsさん WPのHeadless化は、WP単体でそのままサイトとして動かすのだと旨味ほとんどないかも。

    賢い使い方としては、他のデータソースと絡めたりとか。天気予報APIと為替API組み合わせて、リゾート地のホテルのサイトで情報表示したことあるけど、そういうのとか。逆にWebサイトのお知らせ記事をデジタルサイネージにも表示させたいとか、そういう時に有効。

    それでも、単にデータソースの保管庫として考えるなら、HeadlessCMSの方が、シンプルでまだ使いやすいかもね。
    WPの持ってる良さ(カテゴリー機能とかオーサー機能とか)を使わない、ってことになっちゃうんで。
  • 返信先: @自分 あと、WPでjQueryだけど、管理画面側にはjQuery依存が残ってるので致し方ないが、フロント側(テーマによる公開側の閲覧者が見る画面って意味)は、wp_deregister_scriptでjQuery外せるから、外した上でVanillaで書けばいいよ。
    さてはお主、大したWordPressスキル持ち合わせておらんな?
  • 返信先: @dWwgjUさん それはしっていますが、フロント側に表示するプラグインでもjqueryやjquery uiで表示変更しているものありますよ?
    なので敢えて、外していません1個1個確認するのも手間なので
  • 返信先: @hKlgMsさん プラグインが依存してるとこだけjQuery出せばいいじゃん。
    >1個1個確認するのも手間なので
    この手間を惜しむのが信じられない。
    それを確認するのが大変なほどプラグイン入れてるってこと?
    それも悪手だね〜 保守大変じゃない?
  • vanilla の関数はどれもこれもスペルがクソ長くてめんどくさい。まぁエディタの補完機能使えばいいんだけどもなんだよ addEventListener って。jQuery なら on で済む。
  • 返信している人全員、デメリットを述べてるに過ぎないです。
    jQueryを使う大きな理由として2つ、
    ・クロスブラウザ対応
    ・コード短縮(write less,do more)
    があります。
    オワコンと言われる真の理由は「jQueryでクロスブラウザ対応する必要が無くなった」が一番大きいです。ただしかなり昔に言われていたことなので、今は後発言語やフレームワークと比較され、虐げられています(笑)
  • 返信先: @vNbJ.cさん や、だからデメリットじゃなくて、コード書く側の都合でjQuery押し付けんなよ、って話してるんだよ。
    自分達の書く文字数が減るからって、1回のリクエストと減った文字数よりもはるかに大きな量のライブラリ(80KBとかだっけ?)をユーザーに押し付けてんの。
  • 返信先: @vNbJ.cさん みんなそれは、わかってるはずで、クロスブラウザ以外に使う意味があるとしたら、何なんだろうね、という話をしてるのよ
    そもそもクロスブラウザという言葉自体が死語だと思うよ
  • 返信先: @iAR2.vさん 最近jqueryのeachは配列だけじゃなくてオブジェクトそののまま入れてもループすることにビックリしたなぁ
    まぁObject.keysでforeachすれば良い話しなんですが
  • 返信先: @自分 考えてみたらjquery自体オブジェクトだから当然か
  • この話サイトの仕様次第すぎて答え出ないかもね。
    今関わってるプロジェクトでNG出てないならjQueryも有用なライブラリって事でよろしいのでは。