はい.シーズン 4-40 では,最近感じている JS との距離感といいますか,JS を学ぶこと・使うことへの弊害みたいなものが自分の中でありまして…そのあたりをお話しています💁参考になれば幸いです!
ではでは(=゚ω゚)ノ
ーーーーー
📧 お便りはこちらから
https://forms.gle/utkE7JBKSReSdArPA
♫ BGM・SE
騒音のない世界「平成生まれ」
https://soundcloud.com/baron1_3/heysay
騒音のない世界「文明開化」
https://soundcloud.com/baron1_3/bunmeikaika
Anno Domini Beats「welcome」
https://youtu.be/947vwtHPFn4?si=Q7eeO_T3G-Bv_0rs
See Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.
サマリー
JavaScriptにはフロントエンド開発において多くの利点がありますが、一方で新しい言語を習得する意欲の低下や偏りが生じる可能性もあります。このエピソードでは、JavaScriptのメリットとデメリット、さらにウェブ開発の複雑化について考察しています。JavaScriptの学習には多くのライブラリーとその複雑さが影響し、初心者が取り組む際には高い学習コストが伴います。また、技術者は常に進化する環境に対応する必要がありますが、その中でJavaScriptの魅力や可能性も感じられます。
JavaScriptの利点
ウェブの世界には面白い小噺がたくさんあります。 雨宿りとウェブの小噺、パーソナリティのkeethです。
今回も一つ、興味深いお話をご紹介します。 今回はですね、
JavaScriptを身につけた良い面と悪い面、みたいなお話をしようかなと思います。 効果と弊害、みたいな話ですかね。
JSの良さっていうのは、やっぱりそのフロントエンドだと第一言語というか、これしかないよねっていう話がまず一つです。
HTMLとCSSもあるじゃんとか、それも言語でしょって言われたら、カテゴリーとしては言語ですけど、言語を認めたくないなっていう気持ちもちょっとありつつですけど、
そういうことを言うとなんか派閥から怒られそうなんで、僕はそういう感じ方をするよってだけです。 絶対そうだっていう原理主義者というわけではなくてです。
単なる捉え方ですね。実際なってHTMLなんて名前がHypertext Markup LanguageってすでにLanguage入ってますからね。
でもCSSはCascading Style Sheetでしょ。 いやーやっぱり言語っぽくはないなっていう。はいすいません、余談でした。
フロントエンドだと、まあ今TypeScriptで書くのが普通ですけど、結局はブラウザーが理解できるのはHTMLとCSSとJavaScriptですので、
TypeScriptは最終的にJavaScriptにトランスファイルされると。 今はそうですね、さっきも言った通りですけど、
バックエンドにのOJSがだいぶ前からありましたけど、あるので、JavaScript1本書ければフロントエンドも書けるし、API、バックエンドも書けるじゃんと。
ちゃんとデータベースとやり取りするようなライブラリーも存在するので、本当表から裏側までJavaScriptで一気通貫で作ると思ったら作れるんですよね。
なおかつ、ちょっとライブラリーの名前忘れましたけど、バックエンド用のライブラリーというフレームワークがあって、それを使うとフロント側とバックエンド側で同じ型定義を
使うことができるので、アプリケーション全体が一つの型定義ファイルで集約できるというのも結構メリットでありまして、そういうことができるようになったと。
なおかつ、今はJavaScript用のクロスプラットフォームのアプリケーションを作るフレームワークもあります。 React Nativeをしかり、
Ionicをしかり、それがいくつかサービスとして提供しているようなものもあった気がします。 昔は温泉UIとかあった気がしますね。
あとはアパッチコールドバーみたいなものもありますね。今もあるのかな? などなど、要はJavaScriptをかければ、今はネイティブアプリまで作れるし、ネイティブアプリ作れるってことはスマホもできるし、デスクトップアプリも作れるようになると。
つまり何でもできるねという感じです。思いつくものは大体JavaScriptで作れるようになるっていう世界線に今来てます。
今っていうか昔から来てるんですけど、これがすごく僕は魅力だったし、そういうふうな世界に今なってきたので、
生存戦略的にはJS一本できれば、できる度合いはもちろんノーターンはありますけど、エンジニアとしては生きていけるなっていうふうには今でも思っております。
JavaScriptの弊害
そのメリットはすごくあるしでかいんですけど、その代わりJavaScriptの界隈とか世界には割とまさかり投げるエンジニアの人はたくさんいらっしゃるし、
尖ってる方もいらっしゃると。そらそらその人がいるっていうだけの話なんですけど、やっぱりフロントエンドでちゃんとやる言語って
TypeScript、JavaScriptしかないので、いろんな思想とか考え方の人たちが出てくるのは仕方ないし、毎年毎年いろんなブログを皆さん書いていただいてますけど、
結局何が良いとか何がベストプラクティスなのかわからない。 そして毎年のように俺が作った最強のライブラリーだフレームワークだっていうのも出てくると。
これはもう仕方ないと思ってます。これはこの先も変わらなくて、一応フロントエンドのJavaScriptフレームワークはリアクトで板落ち着いてると思います。
ソリッドもあるし、まだまだVueも現役ですし、あとスベルトもありますね。 などなどいろんなライブラリーがありますが、ダウンロードとか使用されている、使用率の話でいけば
明らかにリアクトがもう頭一つも二つも抜け出ていて、その意味でフロントエンドはもうリアクトで収束したと言っても、まあまあ良いんじゃないかなと思いますね。
それをラップしているフレームワークとして、Nextがあったり、ソリッドだとソリッドスタートがあったり。
あと僕はQuickも好きですね。書きづらいけどやっぱスピード命な僕はタイプなので、速さこと正義ってなると、まあQuickもいいと思ってますけど。
VueだったらNextもありますし、Angularもありますね。Google禁制の。などいろいろありますけど、やっぱりリアクトですと。
まあそれはそれでいいんですけど、バックエンドはね、言語たくさんありますもんね。 Node.jsも近いですけど、PHP、Python、ゴーラン、Ruby
パッと浮かぶのでその辺かな。ラストも今は流行ってきてますしありますが、やっぱりNode.jsの存在があるので、JavaScriptさえ書ければ全然作れるなっていう現実は変わってないなと思ってまして。
その良さをずっと見てきたし、未だに僕はそれを良いと思っている派ですので、プログラミングの講師もやってるんですけど、学生さんたちにも
最悪困ったらJavaScriptを極めろと。 そうすると少なくともそんな食いっパグれることはないだろうというのは今も思ってますね。
ですけど、最近ちょっとねそのJavaScriptに偏りすぎたせいでちょっと弊害を僕は感じているんですよ。
何を感じているかというと、あんまりこう新しい言語を習得しようという気持ちは全然あるのに、頭に入ってこなかったり
これってJavaScriptだとこういう風な書き方をするよねっていう 翻訳機としてJavaScriptを使い始めている節が自分にはあって
これ正しい学び方なのかなっていうのがあります。 結果理解できればいいんでしょうけど
逆に言うと、JavaScriptを置き換えられるんだったら、じゃあJSで良くないっていう風に考えがち自分はですね。
それが良くなくて、 頭に入らないんですよ。その新しい言語をキャッチアップしようと頑張ってはいるんですけど
そこが良くなくて、ちょっとねJavaScriptから抜けるというか、離れなきゃいけない時もあるなっていうのがあるんですけど
それがなかなか僕の脳みそはしてくれなくて、ちょっと今ね苦労してます。 去年からもそうですけど、ゴーラン勉強してるんですけど
いや全然頭に入ってこないんですよね。 もちろんそのプライベートの方で子供がいるから子供を対応しなきゃいけなかったり、寝不足であったりとか
正直疲れもあったり、他にも勉強しなきゃいけないものたくさんある。 一応修飾は選択はしてるんですよ。その上でもやっぱりいっぱいあるなぁ
脳の余白がないっていうのもありますが、それ以上にやっぱJSがどんどん染み出してくるので
お前ちょっと隠れてくれとか落ち着いてくれみたいな気分で最近思ってます。
ウェブ開発の複雑化
JSで良くないっていうのは、作るだけならもちろん良いんですけど、やっぱJSという言語そのものはそんなにパフォーマンスが良くないんですよ。
だけど最近はウェブアプリケーションとしてユーザーの目もだんだん超えてきたので、 遅いアプリケーションって
やっぱり離脱率高いんですよね。 あとはウェブアプリケーション側の方に求めるものが結構増えてきた。
でそうなるとアプリケーションとした複雑化していくものなので、やっぱりそのさっきのスピードの遅さっていうのが結構
響いてくると。また表現力もねどんどんどんどん増してきていて、 アクセシビリティのことを考慮しなきゃいけないし
スタイリングもそうですし、体験を損なわないようになるべく起動機で何かをすると。
単なるローディングだけっていう話じゃなくなってきますし、FCP、ファーストコンテンツコンテンツフルペイントでしょ
みたいなそういう指標もありますもんね。 そういうのを満たしていかなきゃいけなかったりすると
どこまでフロント、JavaScriptだけでやるか。ある程度の処理はもうバックエンド側で計算して もらって、側はもう来たものをただただ色つけて出すだけみたいな風にするかとか
いろいろありますけども。JavaScriptだけだと選択肢がやっぱ狭まる。 他にこうやったらスパッと解決できるようなものがJSしかやってないと
その引き出しすらないわけなので。 エンジニアとして幅が狭いっていうのはあんまりよろしくないと思ってるんですよ
ですのでJSいっぺん通ってのは良くないですけど、僕はちょっとその人生をたどってきてしまった節がある。
PHPもやってたって言ってますけど、ちゃんとプロジェクトとしてPHP触ったのは5.6ですよね。
バージョン5の最後ですね。7以降も一応出てはいましたけど、ほぼ書いてないですね。 多少レビューしたりとかはしましたけど、その時はプロジェクトマネージャーとして動くことが
多かったんで、メンバーにも一任していたって感じですね。 僕はほぼ書いてないって。
今PHPもバージョンいくつかすら分かってないし。 今のチームだとエンジニアリングマネージャーしてるんで、やはりゴーランを勉強しておかないとか理解しておかないと
それはあかんでしょってなってるのでゴーラン勉強しますけど。 やっぱまあ書かないと頭に入らないですよね。これは大体みんなもそうだと思います。
使わないと刻まれない。パッと見てその場だけで理解してレビューしたりとかこうしたらいいみたいな 発想は出るかもしれないですけど、また次の瞬間また調べるのかって。
いや非効率ですよね。玉悪いので。 またその辺ちゃんと理解しないとAIが書いたコードだとして
AIのコードをちゃんとレビューできるかってできないんですからね。 まあそんなこんなで。
JavaScriptの弊害というか言語一つに縛られた弊害っていうのはあるなぁというのも5つ。 ただJavaScriptはその適用できる範囲が広くなりすぎてしまった。
なんでもできちゃいますからね。 僕は今そこをなんとかJavaScriptとの距離感を保つっていうところにちょっと苦労しているし
こうなる人たちを 増やさないようにしたいなっていうので今日は収録をしているっていう感じです。
まああとJavaScriptね。JavaScriptというかフロントエンドに求められるものが本当に多岐に渡ってきて複雑度がどんどん増してきているので
それに対応するためにJavaScriptってやはりサクッとできる手段の一つなんですよ。 言語としてもそうですけど。
ちょっと前に配信会やりました。JavaScriptの歴史をなんか調べるみたいな 前後編でやったと思いますけど、あの時に言った通り
デザイナーみたいなあんまりプログラマーじゃない人でも触れる言語。 もちろんクロートの人たちでもガッツリそれを使ってアプリケーション開発ができるというのを目指した言語っていうのが
JavaScriptですので確かにその世界線は今満たされている。 色々その弊害も出始めているなっていうのを今ひしひしと感じていまして
JavaScriptの複雑さ
両方でも触れるってことは使い勝手がかなり良いんですけど そうすると人間の欲望って止まらないので
あれもできないこれもできないとかあんな機能とかこんな機能とかこういう実験的な ものもやってみたんだけどっていうのが出始めるわけですよね
これは止まらないと思っています。 それを満たそうとなんとかエンジニアたち、世界の天才たちはあの手この手で
実現してそれを中小化してライブラリーとして npm に公開をして僕らはその天才たちの先人の知恵に
あやかってライブラリーを使わせていただいてるんですけど そうするとねライブラリーの数も種類も本当に広くなりすぎてでそのこの分野に関する
このセグメントに関するライブラリーもいくつか出てきたりするんですよ 俺の最強のやっぱライブラリーって皆さん作るので
なので学習コストね高いですよフロントエンドって今マジで大変 若い方とか今新卒年時代の人たちがフロントエンドに本当に足を踏み入れるって
かなり高い山に登っていかなきゃいけない スタートから頂きの場所うっすら見えてるように見えて全然遠いですからね
みたいな話になるので いやジェイスこの先も多分複雑度はそんな加速的に増すとは思ってないですけども
現時点十分複雑度高いんで まあそういう弊害もあるとなると javascript 今から勉強する
だ言語を勉強するつってもそれだけならいいんですよ言語を勉強するだけであれば 別にはいどうぞって感じなんですけどそれを使ってあなたは何かをするっていうのが
その本質というか本題ですよね web アプリケーションを作るとかでもいいですし何とか
まあ色々理由はあるでしょうけどその先のことを考えたとき そのニーズに応えられる javascript という言語
そしてそのエコシステムを学ぶことになるっていうのがでかい ハードルとか山になって帰ってくるので
いやこれいいのかなぁとはちょっと今思ったりします あとやっぱり言語そのもののパフォーマンスさっきも出ましたけどここは多分もう抜本
的に変わることってきついと思っているので まあもう古くなってほぼほぼ使ってない api とかあるならもうそれは落としてもらうの方も一番か
介護官はみたいな話がありますけど使ってないんだったらもう介護官 気にしなくていいじゃんっていうのがあるんで
今 tc 39 とかがサクッとねもう全世界にアンケートをとって消しますって言っても どんどん消してもらって言語そのものをもうちょっと軽くしてもらえるのも一つあり
かたいなと思いますね ブラウザーも api ありますけどウィンドオブジェクトがドキュメントオブジェクトの下大量にあってですね
いらなくないってな皆さんこれ本当に使ってますみたいのたくさんあると思うんでね 過去の例外というか歴史的に残してきた作られたものっていうのがあると思うんでお掃除して
欲しいなって気持ちはあります全然しないというわけではないですし ちゃんとデプリケートになった機能でもたくさんあるんですよね
もうちょっと加速してもらえると嬉しいなと思ったりしてます ただはいフロントエンドはあくまで人間の欲望との戦いでしかないので
常に常にね複雑ととか高まっていくので これはね度元化戦といかんと思いますけどまぁまぁあの javascript の
弊害の一つとしてそういうものがあるよってことでした まあとはいえ逆に言うとそれはできちゃうんですよだいたい想像したものは
javascript さえあれば できてしまうっていうのは僕は今でもそれは変わってないと思っているので
技術者の挑戦
その何しかある種全能感っていうんですかね っていうのは javascript をやっていく上での面白み楽しさってのは全然あるなぁと思いますので
はいあの挑戦者学部にはもうそれは背中をしたいし困ったら手助けしてあげたいし 自分ぐらいの実力であれば
実力で良ければ でも仲間増える分やウェルカムですけどまあいろんな良し味があるよっていう話でした
なかなか落ちあるわけじゃないですけど今日はなんか 喋りながら自分の頭整理もちょっとできたなという感じです
はいというわけでじゃあぼちぼち長くなってきますので今回も終わっていきたいとおもいます エンディングです
いやー 今ね色々勉強しなきゃいけないものとしたいものとあるんですけど
いい加減やっぱりね子供いるので主者選択をちゃんとせなあかんなと 選択と集中ってことはハンターハンターでいうところの制約と制約ですけど
しないといや僕ねあれも知らなきゃこれもやらなきゃとかやらないといけないっていう ふうに思いがちな人間ですので
よくないですけどまぁでもまずはエンジニアリングマネージャーなのでチームが使っている 技術スタック
あとやっぱチームビルディングの書籍とか知見ノウハウっていうのもしっかり勉強しなきゃなっていう 感じです
他の経験則ばっかりでやり続けてしまったせいなので考えはするけど考えるための武器とか 材料としてのインプットが足りてないのでインプットをしなきゃなと
そのためにはもう仕事中もですね本ちゃんと読まなきゃなっていうのは思いました 業務に直結する内容ですかエンジニアは別に業務に直結するものであれば何か
調べたりとか読みながらやってるので別にマネージャーがそれをやっちゃダメだとは 客観的には思うんですけどいざ自分に当てはめるとなんかそれいけないことをやってる
ように感じてしまうのが自分の悪い癖なんですけど あとはいえ勉強したいようなマナーがたくさんあるなという感じです
またフロントエンドとかジャム作りとってその脆弱性との戦いが後ありますね パフォーマンス
脆弱性アクセシビリティみたいなちょっと引きの要件の話ですけど もうあるのでねいやーその辺も勉強し始めるとまぁキリがないんですけど
で後は勉強したいもので言うとやはり引きの要件の方が最近は興味関心がすごい強くて aws も
そうですしさっき出てきたセキュリティもそうですし あと私ね一番好きな実はテストコードなんですよね
テスティングフレームワークも結構好きですけどまぁ今はもう ビート使って環境を作っているプロジェクトが多いのでまぁ b テスト一択なのかなと
まぁちょっと前までジェストいっぱい使ってましたけど はいまぁでもそれもあくまで javascript のテスティングフレームワーク
ですのでそれらの他の言語に関するフレームワークもあると思いますけど まあテストはねテストの勉強というかノウハウとか
この辺てでもある程度確立して言っているはずだし今はもう皆さん ai で書いていることが 多いでしょ
それぐらい ai と多分テストっての相性良いはずなので まあ人間が書くことないよなーっていう一抹の悲しさはありますね
僕はの8時間業務ずーっとテストコードかけて言われたばりばりかけるタイプなんでね 変わった人間ですけど
学びと成長
まあ何にせよ ちゃんと取捨選択をしてインプットをしなさいっていう自分への今しめとしてまぁちょっと
しゃべってみました はいもう10月始まりまして今年もあと3ヶ月ですね
はいやい早い そして自分もですね子供が成長するのはものすごく早くて
いや1日1日を大事にしなきゃなーっていうのとまた改めて開発にして最近ちょっとサボ っているので開発にしと
子供の日記をねちゃんと書かなきゃなーっていうのはあの反省として思っています はいアウトプットペースにやっていかないとやっぱりなかなかインプットできないので
ね アウトプットし続けるっていうのを忘れないようにしていきたいと思いますはいじゃあ長く
なりましたけど終わっていきたいと思います この番組面白かったよという方はぜひチャンネル登録もお願いします
もし聞いていて気になることや話してほしいトピック 感想などございましたら概要欄のフォームや x でハッシュタグ
web 小話でつぶやいてください web はアルファベット小話は漢字でもひらがなでも大丈夫です またお聞きのプラットフォームでぜひいいねやチャンネル登録もぜひぜひ
お願いいたしますあなたからのコメントもお待ちしております それではまた雨宿りしに来てください今回もお聞きくださいありがとうございました
雨宿りとウェブの小話お相手はキースでした バイバイ
18:12
コメント
スクロール