1. 余談ですが.fm
  2. 26. jQuery の評価
2020-05-15 14:53

26. jQuery の評価

第26回は、何かと叩かれる(可哀想…本当に素晴らしいライブラリなのに)jQuery について改めて思うところをお話ししました❗️

私もだいぶお世話になったし、今でもたまになっており、学生の頃からもう8年くらい共に歩んできていますが、それでもまだ全世界で使われ続けるライブラリってなかなかないですよね。

特に栄枯盛衰が激しいフロントエンドの、特に変化する JavaScript のライブラリとしては、異例です。時点では lodash とかになるのかな?

まぁ、あくまでライブラリ・ツールですので良い悪いはあっても、叩く事はないと思います。それがあって、現代の素晴らしいツールができているのであって、リスペクトすべきかなと思います(o^^o)

もしまだ使った事ない方も、プラグインが大量にあるし、例えば Bootstrap などの CSS フレームワークでも使われていますので、是非一度知っていただくと良いかなと思います!


収録中にお勧めした書籍はこちら!
JavaScript Ninjaの極意 https://www.amazon.co.jp/dp/B00ESXY9MA/ref=cm_sw_r_cp_api_i_4DEVEbKJYX2K6

ではでは(=゚ω゚)ノ

#jQuery #web #フロントエンド #JavaScript
---
stand.fmでは、この放送にいいね・コメント・レター送信ができます。
https://stand.fm/channels/5e70dd5881d4e84e1ff1cab4
00:16
はい、株式会社ゆめみのキースことくわはらです。
この番組では、凡人エンジニアの私がどこまでいけるか、
という挑戦の過程で学んだこと、感じたことをお届けしていきたいと思います。
第26回は、jQueryについての評価をお話しします。
はい、たびたびTwitterとかで、どこでもですけど話題に上がっている、
jQueryですね。今週もなぜか話題になりましたけども、
おそらくですけど、最近聞いたね、jQueryを使って記事を書いた方がいらっしゃいまして、
その記事がバズったからではないのかなと思っておりますが、
私も読みましたけども、すごく面白い記事で、
jQueryの特徴とか、良し悪しのところをしっかり書かれているなというふうに思いました。
設定としてはですね、jQueryという名前のバーを経営している人みたいな設定ですね。
そのセンス、締め方があったんですよ。締め方がセンスがあったんですけども、
支払い方法がですね、最後そのお客さんが決済するんですけど、
その決済する時の通貨が円ではなくてドルだというところですね。
それはjQueryなので、それはドラっていうところで締めているのがなかなかセンスあったなというふうに私は感じました。
ですけどもね、というところで、
jQueryの評価ですけども、最近ですね、株式会社2Rファンっていうところの代表の西畑さんという方がいらっしゃって、
その方がjQueryについてツイートされてたんですけど、
これが素晴らしいなと思って、一回それをそのまま読ませていただきたいと思いますが、
jQueryしか使えない人のjQuery最高というのは説得力に欠けるんですよね。
僕はリアクトもVueもAngularも案件に使っているので、その立ち位置で言わせてもらうと間違いなくjQueryは素晴らしいですよというふうにツイートされていて、
僕もこれ全く同意だなというところですね。
ちょっと余談を2つぐらい喋りますけど、
リアクトとAngularとVueっていうのは、現代のJavaScript三大フレームワークというふうに言われていますね。
じゃあ昔はというと、昔はですね、バックモンJSとAngularJS、いわゆるAngular1とKnockout.jsっていうこの3つが三大JavaScriptフレームワークだったんですね。
もう1つ余談をすると、Angular1とかAngular2とかたまに呼んだりする方いらっしゃいますけども、
こういう言い方するとちょっとAngular警察に怒られるんで気をつけてください。
というのも、AngularというのはそもそもGoogle社が作られたJavaScriptのフレームワークなんですけども、
その開発チームがすでに言及をリポジトリにしているんですけども、
現代、今のですね、いわゆるAngular2と言われているフレームワークをAngularというふうに呼ぶと。
じゃあ以前のものはというと、以前のAngularものをAngularJSというふうに呼ぶというふうに明確に分けているんですね。
実際公式サイトも違いますし、公式サイトのドメインもちゃんとAngularJSとAngularというふうに分けて取得されているんですよ。
03:07
というぐらいなので、名前はすごく大事ですのでそこはしっかり認識していただければと思います。
やっぱりね、人の名前もそうですし、物の名前もそうですけど、
共通認識とか誰が何をしているのかというところの認識としてそこがないようにするという意味もあって、
名前というのはすごく重要ですので、しっかり覚えていただくといいのかなというふうに思いました。
僕もこれ言われて初めて知ったんですよね。
確かに書いてあるわと思って。
ところで、AngularとAngularJSの違いがありますよというところですね。
そういうふうになっているように、やっぱりちゃんとこれも別物と別のフレームワークなんだよというところが本当に大きかったなと思いますね。
というところで、感は雄大ですけども。
本題に戻りまして、僕もですけど、JQueryを最高とは思わないですね。
どのフレームワークもそうかもしれないですね。
ライブラリとかも。
本当にその案件とか自分の好みにとっての最高はもちろんあると思うんですけど、
ベストなものというか、銀の弾丸的な素晴らしい完全なるものっていうのはなかなかないんじゃないのかなというふうに思いますね。
そういう意味でJQueryが最高とはなかなか個人の好みとか利用用途でもJQueryを最高とはちょっと思えないですけども、
ただ素晴らしいっていうのは本当に完全同意ですね。
これがあったからこそ今のJavaScriptの世界があったと言っても過言ではないですね。
一個一個ちょっと言及していきますけども、
一つ目ですよね。
JavaScriptっていうのを少しでも簡単に扱えるようにしたっていうのが功績の一つかなと思いますね。
JavaScriptそのものもちゃんときちゃ言語であるんですけど、
言語はそのまま自由度が高すぎるし、カオスになりがちなので、
そこに関しての少しでも共通言語化したっていうところが大きいのかなって感じですね。
例えば一つプロジェクトをやってて、それがJQueryで使われてたんですけど、
別のメンバーとか誰か違う方をアサインするときに、
JQueryで開発してるよって言ったとき、
JQueryで使ったことあるような開発者を探すと、
そんなに少なくないというか、
大体みんな一回触ってるでしょみたいなところがあって、
そういう意味での共通言語化っていうふうができたのが一つ大きいのかなと思いますね。
それはそれだけ世界中で流行ったっていうのが大きいんですけどね。
また、いくつかの処理を少し短くかけるようにしたのも大きいですね。
もうちょっと後で言及するんですけど。
その次に、JavaScriptの世界にちょっとでもカオスだったところを、
通常を入れてきたっていうのが一つ大きいのかなと思いますね。
それはライブラリに沿った書き方、仕様に乗っからなきゃいけないので、
共通言語化っていうか、通常が作られるのはもちろん当然のことではあるんですけど、
そういうところで、ライブラリーですのでそこまで通常が入るかってわけではなく、
実際の現場で言うとなんだかんだカオスっていうのは変わらない気がしますし、
スパゲッティコードになるっていうのもありがちなのかなともちろん思いますけども、
それでもないよりはマシかなという感じはしますね。
次ですね、JQueryって簡単にプラグインが作れちゃうんですよ。
06:03
私も1個、公開してないですけど作ったことがあって、
こんなに導入簡単なんだなというふうに思いましたね。
実際にですけど、毎年、今年も多分作られてるのかなと思いますが、
プラグインが作成されて、そのプラグインが実際現場で合う合わないとか、
使える、使えないっていうのは一旦置いておいて、
豊富なプラグインがJQueryの世界にあって、
自分たちが思いつくものって大体誰かが作っていると思います。
なので探してみると、見つかると思いますので、
自分たちでゼロベースで作らなくてもいいよっていうことになりますね。
あとはですね、個人的にJQueryの良かったのは、
結構当たり前の話というか、皆さん使ってもらう人なら同じことを言うかもしれないですけども、
AJAXメソッドというのがJQueryには実装されていて、
そのAJAXメソッドによる非同期通信というのが少し簡単になったのと、
あとアニメーションですね、やっぱり。
僕はアニメーション当時すごい苦手で、CSS今も得意ではないですけど、
少なくとも前よりは少しは書けるようになったんですが、
でもアニメーションをするときに、JQueryを使うと簡単に書けるというところが本当に大きかったんですね。
例えばアコーディオンメニューで、オンマウスオーバーもしくはクリックするとそのメニューが開くと、
開くと開閉するんですけど、その開閉のときにアニメーションをしたいときにJQueryを使うというのをよくやってましたね。
ものすごく楽だったし便利だったなと思います。
一方でですね、さっきも申し上げましたけど、
JQueryって誰でも知っているみたいなとか、入門の敷居が低いというふうに僕は思っていたし、
いろんなところでも喋ってきたんですけど、これがちょっと違ったなというのが昨年身に染みた感じですね。
昨年ですけど、今年の新卒入社の子の一人がアルバイトで来てたんですけど、その子と一緒にお仕事してたんですね。
その子はビューにはものすごく強くて、僕は彼からビューを学ぶことが結構多かったなと思います。
それぐらいの子なんですけど、その代わりJQueryっていうのは知ってはいるし、名前は聞いたことあるんですけど、
触ったこととか、それで仕事したことなんか一度もないですよっていう話を彼はしていて、
そこは僕の中でちょっと意外だったんですよね。
やっぱりJavaScriptとかフロントエンドの開発をしたことある方なら、JQueryって一度は触ったことあると勝手に思ってたんですけど、
そうでもないんだなっていうのが痛感しましたね。
なおかつその子がしょうがないね、JQueryを使うっていうのは技術的選定、いろいろ考慮した上で入れたんですけど、
結果としてはそれはちょっとミスで、お客さんの後出し条件で結局最初からビュー入れて、
SPAでちゃんと作るのが良かったんじゃないのっていう感じはありましたけど、
まあもう今更しょうがない感もあって、
ちょっと案件状況的にもこのまま走り切ってしまおうっていう判断にしたんですけどね。
その時に彼がJQueryを初めて触って開発したんですけど、
そもそもJQueryの入門そんな簡単じゃなくて、使ってみると結構難しいですねっていう風に意見をもらって、
09:01
そこが僕の中で一番の衝撃というか意外だったんですね。
っていうのもJQueryの言語そのもの、ライブラリですね。
そのものの機能とかメソッドっていうのもキャッチアップ多分できると思うんですけど、
実際のJQueryの難しさって何らかのDOM操作であって、
あとはイベント処理のタイミングとかもあると思うんですけど、
なのでちゃんとWebとかJavaScriptを知ってる人じゃないと扱いにくいとか、
そのDOM操作って割と勘どころがいっぱいあったり落とし穴もたくさんあって、
結構職人芸というか経験値がものを言うライブラリなんだなっていうふうにちょっと思いましたね。
というところで、やっぱJQueryってそんなに敷居低くないし、
誰でも知ってるってのはもうそろそろ違うのかなっていうふうに。
やっぱりJQuery使いたくないっていうか、JQueryから離れようっていう流れがずっと言われ続けてきてるんですけど、
それが本当にもう来てるんだなってことを身に染みたっていうのがエピソードになりますね。
さっきも言いましたけど、少しの秩序をJQueryが入ったところで導入されると思ってたんですけど、
そんなとこは言ってもあくまでやっぱりJQueryってライブラリでアプリケーション開発のサポートをするものではあって、
それがメインになることはまずないので、基本的にはそうすると自由度が高い世界などの変わりがないんですよね。
なのでしっかり開発ルールとかをがっつり設計とかをしない限りはもうカオスになるのはしょうがないですね。
各開発者が自分たちの頭で開発をするので、その頭すら統一するっていうのは無理な話ですのでね。
ところでJQueryがカオスになるっていうのはある程度しょうがないところはありますね。
あとは自由度高いけどサポートをしてくれたおかげで、よくも悪くもですけど、
JQueryで頑張ったらすべて作れてしまうよねっていうふうになってきているんですね。
それでも素のJavaScript、ピュアなJavaScriptでもそこは同じなんですけども。
JQueryをフレームワークっていうふうにおっしゃる方もいるぐらいにはJQueryで何でもできちゃうんですよね。
便利なので。
というところで、JQueryがよくも悪くもこんだけ素晴らしいっていうことをある意味象徴しているような感じではありますね。
怖いですけど、こんだけ全世界で何年も何年も使われているライブラリってそうそうないんですよね。
特にフロントエンドってすごく英語精髄が激しく変化しているっていうふうに、
変化っていうか使われているライブラリとか流行っているものがどんどん変わってくるっていう話なんですけど、
世界で特にその中のJavaScriptなんて最大のものなんですよ。
先ほども三大フレームワークも昔と現代では変わってきましたよっていう話もありますし、
今使われているものもここ数年先使われ続けるのかっていうのはまだ分からないですからね。
たぶんそのUIコンポーネントというかコンポーネント志向のUIライブラリっていう流れはそこはあんまり変わらないと思ってますし、
あとはそのFlux Baseとかそのストア概念っていうところもそもそも単行項なのはあんまり変わらないのかと思っていますけども、
大きく変わることないとはいえ、でもライブラリの世界は変化が激しいんですよね。
12:04
ところで、JQueryっていうのは僕も学生の頃から使っていて、
7、8年彼に、彼というかJQueryにはお世話になっているんですけども、
そのJQueryがまだまだ生き続けているし、全世界でまだ使われているっていうのはやっぱすごいですし、
その功績というか事実は否定しようがないんですよね。
なのでみんな全世界で、良き、悪き、良し、悪しはあると言えとでも、
なんだかんだ使う用途としてはまだ用途あるんだよっていうことが証明されてもいますよねっていう話です。
あとはブートスラップとかCSSフレームワークいっぱいあると思うんですけど、
それらでもなんだかんだ裏見てみるとJQuery使われてますよねっていうのがいくつかあって、
そういうところもまだに使われている理由の一つに入るのかなと思いましたね。
それぐらいJQueryって使い勝手良く、汎用性も高いっていうライブラリですので、
そうなるよねという気はします。
あとはですね、JQueryってもっと言うとJQueryの開発者のジョン・レシグさんですね。
やっぱりやられた功績ってのはすごく大きい感じですね。
ウェブの世界、JavaScriptをまずそのものからちょっと拡張することができたし、
大量のプラグインが生まれる土壌にもなったJQueryを作ったというのは本当に大きく、
それのおかげでやっぱりウェブの拡張とか変化、表現の幅が広がったというのは本当に大きいので、
それの大元となるJQueryを作ったジョン・レシグさんっていうのはやっぱり、
ウェブの世界ではもう避けては通れない人なんだと思いますね。
あと最後ですけど、彼が執筆したJavaScript Ninjaっていう本がありまして、
僕がこのJavaScriptを勉強するときにこの本を読んで勉強したんですけど、
これすごくよく書かれていて、
やっぱりJSの勘どころというか、こういうところにミソがあるというか、
逆にこういうところを気をつけなきゃいけないみたいなところが、
やっぱりJQueryというライブラリを一度作ったことがあるだけあって、
ものすごい経験と知見の宝庫なんですよね、彼の。
それを吐き出されたのがそのJavaScript Ninja、通称Ninja本っていうのがあるんですけど、
これすごくおすすめですので、もし興味ある方は読んでみていただければと思います。
あとはですね、最近出版されたAZさんという方のJS Primerっていう入門書があるんですけど、
こちらもすごく素晴らしくて、
こちらのほうはES Nextとかも考慮された、
そのモダンなJavaScriptの世界の入門書になりますので、
こちらもすごくおすすめですので、ぜひ読んでいただければと思います。
はい、というところで、今回の収録は以上となります。
はい、また何かございましたら、レターなりご質問いただけるとすごく嬉しいですし、
もし弊社、株主会社ユメミのこのエンジニアのお話を聞いてみたいという方がいらっしゃいましたら、
言っていただけると、コラボ配信でまた読んで一緒に配信していきたいと思いますので、
はい、よろしくお願いいたします。
はい、というところで、今回の収録は以上となります。
バイバイ。
14:53

コメント

スクロール