X



フロントエンドJavaScriptフレームワーク総合
0001デフォルトの名無しさん垢版2020/06/11(木) 13:11:59.44ID:dspgJzaw
どうぞ
0299デフォルトの名無しさん垢版2020/11/07(土) 08:31:51.61ID:alCltY04
「バナナが欲しかったが、バナナを持ったゴリラを手に入れた」

ゴリラ=クラス

元ネタはErlang作者であるJoe Armstrongの、
「オブジェクト指向言語の問題は、オブジェクト指向言語が持ち歩く暗黙の環境をすべて持っていることです。あなたはバナナが欲しかったのですが、あなたが手に入れたのはバナナを持ったゴリラが生活しているジャングル全体でした」

クラスがあるからクロージャは不要というのは、
バナナを簡単に食べられるという話に
ジャングルでも同じことができるから不要と言ってるに過ぎない
0300デフォルトの名無しさん垢版2020/11/07(土) 09:08:18.76ID:fFUf4t5z
>>299
たとえがアホすぎだね
ジャングル全体があるからバナナが収穫できる
バナナしかなければ食べたらおしまい

静的言語のが実行速度も速いし生産性も高い
大規模開発もできる
つまり上位互換
0301デフォルトの名無しさん垢版2020/11/07(土) 10:11:05.93ID:MRkwVirz
バナナを食べるだけなのにジャングルの整備・バナナの収穫までその場で考えなければならない。
ゴリラの飼育、お嫁さんどうするかも考えないとw
0302デフォルトの名無しさん垢版2020/11/07(土) 10:17:29.21ID:eE30bK/h
ゴリラの花嫁
0307デフォルトの名無しさん垢版2020/11/07(土) 14:26:51.28ID:alCltY04
初期のJavaは酷かった。
イベントハンドラ登録するだけなのにイベントリスナーのクラス作らないといけなかった。
「む、無名クラスでインラインでも書けるから!」とか。アホかと。
今ではみんなラムダ関数使ってまーすw
だーれもクラス使ってないでーすwww
0309デフォルトの名無しさん垢版2020/11/07(土) 17:07:33.91ID:vkENrb2s
確かに以前のJavaはクロージャどころか関数ポインタ(的なもの)すら無くて辛い言語だったなぁ。

個人的にはJS|TSでクラス使う場面って、
・状態を持つオブジェクトを扱う時
・継承を使う時(WebComponents等)
くらいだと思ってる。
0310デフォルトの名無しさん垢版2020/11/07(土) 18:01:35.46ID:l4y7rONL
>>307
まああのシンプルさが勉強には良かったけどね。
仕事で使いたくはないけど。
なぜクロージャーが便利なのかということも身を持って知れるし。
0312デフォルトの名無しさん垢版2020/11/09(月) 19:45:26.78ID:7AsvEqxF
webの開発では圧倒的にクロージャーを使うことが多いよ。

あるリストがあって、その中の一つの要素をクリック時に削除するなどの処理を書く場合は自然とクロージャー使うしね
0313デフォルトの名無しさん垢版2020/11/09(月) 20:10:47.53ID:isQbKDOz
elm.AddEventListener(function() { ・・・}) を使うな

function handler() { ・・・}
elm.AddEventListener(handler) を使え派は
どこ行ったんだろうねw

前者はクロージャーだから循環参照を引き起こして
メモリリークのバグになる可能性があるから
後者を使えっていうのが昔は多かったんだが

もっともjQueryは後者の書き方をしても循環参照にならない
仕組みなので問題なかったんだが
(要素に直接イベントハンドラ関数を割り当てるのではなくjQueryの内部的な
イベントハンドラを管理するオブジェクト経由で間接的に参照するので
循環参照にならない仕組みでブラウザのメモリ管理のバグを回避していた)
0314デフォルトの名無しさん垢版2020/11/09(月) 20:31:46.56ID:pTt4z/D/
クロージャ使い倒してるけど循環参照してメモリリークなんて一度もなった事無いから、普段全く意識してないなぁ。
TS使ってて他に劣ってるとは全然思わない。あ、ジェネリック周りが複雑過ぎるとは時々思うw
0315デフォルトの名無しさん垢版2020/11/09(月) 22:50:02.10ID:UdZsOPJh
next.jsって本がないのが辛い。Gatsbyですらあるのに。どこ見て勉強するとええんやろ。公式をGoogle翻訳?
0316デフォルトの名無しさん垢版2020/11/09(月) 22:57:02.16ID:8xYN06mP
英語できない人がそんなマイナーフレームワーク使ってはいけない
翻訳なんてつかうからいつまでたっても英語が上達しない
本は情報が常に古い
英語のドキュメントとソースコードでしょ
あとはYouTubeの英語
0317デフォルトの名無しさん垢版2020/11/10(火) 01:20:11.62ID:cAihqDfD
>>313
俺は世代的にこの問題を意識したことないけど、eventをちゃんとremoveすれば良いって話だよね?
0318デフォルトの名無しさん垢版2020/11/10(火) 02:21:05.26ID:S9m/y1JQ
>>317
ブラウザバックや進む、リロード時に
eventをremoveするように作らないといかんわけや
とうぜんブラウザバック時にイベントなんて起きないでw
0322デフォルトの名無しさん垢版2020/11/10(火) 10:54:11.86ID:WFD3YGWJ
Chromeだとリロードボタンの右クリックにキャッシュを飛ばしてリロードするかどうかの選択あるけどね
0325デフォルトの名無しさん垢版2020/11/12(木) 10:31:14.40ID:8uyqyLZH
web component流行ってくれ
0326デフォルトの名無しさん垢版2020/11/12(木) 13:42:28.98ID:bkKeALiT
自作ソフトをWeb Componentsで作り直そうかと思ってるが
特にメリットがないし、二の足を踏んでいる。
0327デフォルトの名無しさん垢版2020/11/12(木) 17:43:51.94ID:4DYET88S
web components は spaとかを作るには向いてないけどある程度静的なものを作るなら向いてると思うで。

templateとかにlit htmlとか使うの前提だけどね
0328デフォルトの名無しさん垢版2020/11/12(木) 20:08:20.88ID:mC/HDmh/
lit-html知らなかったわ。面白いなこれ。
ガチンコなアプリでは物足りない感じだけど、既存のものにもさくっと差し込めそう
0329デフォルトの名無しさん垢版2020/11/13(金) 16:19:13.65ID:RlSYHcA6
おもろいで
 
lit elementもおもろいで
0330デフォルトの名無しさん垢版2021/03/05(金) 12:09:53.39ID:GkxdZauC
https://www.statista.com/statistics/1124699/worldwide-developer-survey-most-used-frameworks-web/

https://trends.google.com/trends/explore?geo=US&;q=%2Fm%2F012l1vxv,%2Fm%2F02_qnn,%2Fm%2F06y_qx,%2Fg%2F11c6w0ddw9,%2Fm%2F0dhx5b


上の方に ASP.NET のマーケットシェアが1位って記事があったから載せてみるね
ネット上のマーケットシェアのサイトってソース載ってないのも
どうやって調べてるかわからないものも多いよね
0331デフォルトの名無しさん垢版2021/03/05(金) 12:54:16.30ID:GkxdZauC
上の方で、ページリロードでリスナーが解放されるかって話

バカにせずに真面目に考えてみます

基本的に、ページリロードで VM のヒープもスタックも全部リセットされるので
普通に考えればメモリリークなんてものはない

Chrome とかはVMどころかページ毎にプロセスまるごと作り直しみたいな話になるので、
メモリリークの可能性は低い

キャッシュというのは、JS/HTML/CSS のソースコードのキャッシュをメモリ上とか
データベースに保存してるってことよね、メモリ解放の話とは関係ない

JIT コンパイラのコードキャッシュとかに関しては、プロセス間で共有してるのかは知らない
まぁでも、これもリスナーのメモリ解放の話とは関係ない

Ref :
https://stackoverflow.com/questions/28896028/do-javascript-memory-leaks-matter-after-a-page-refresh-why
0334デフォルトの名無しさん垢版2021/03/15(月) 10:31:43.74ID:4RqECnwI
>>47
Pythonは言語仕様に問題が有り過ぎてwasmへの変換は不可能と決着済
仕方ないのでPythonインタプリタをwasmへ変換して動かしてる
結果JavaScriptより数十倍も遅いため使い物になっていない
0335デフォルトの名無しさん垢版2022/02/16(水) 02:36:12.18ID:yTo1vhWy
フロントエンド改修するのにReactかVue3で迷ってる
世の流れ的にいくならReactにしない理由はないと思うんだけどなんか好きになれんのよな

Vueはテンプレートの構文がわかりやすくて好きなんだけど、結局typescriptとの親和性の観点でtsxで書く流れになってきてるから、tsx使うならReactでよくねとも思う
Reactだと依存配列書き忘れとかも以外とやりがちで、Vueはcomputedがその辺全部いい感じにやってくれるから自分的な差はそこくらいかなあ

なんかここで選べみたいなのあります?
0340デフォルトの名無しさん垢版2022/04/05(火) 10:34:11.05ID:jbQIa5vL
Reactを使いたけど、jsの言語仕様が変態すぎて辛い
jsはチュートリアルさらりと読んだら、理解が曖昧でも
そのままフレームワークの使い方を覚える段階に進んだ方がいいのかな?
言語仕様がぐちゃぐちゃでベストプラクティスを想像できない
0343デフォルトの名無しさん垢版2022/05/28(土) 13:39:42.60ID:PH+rBxd8
さらに Rect へSvelte とvue をまぶしたようなSolid.jsなるものまであるな
https://www.solidjs.com/
0344デフォルトの名無しさん垢版2022/05/28(土) 20:24:35.77ID:aghQQ1op
ベンダーじゃなくて発注側なんやけど、Javaができて便利なことある?
例えばベンダー側で実際Javaのプログラム書いたり開発した経験が無くても、発注側で極簡単な改修なら自前でできたり、改修や開発の設計書を読めるようになるぐらいならできるもん?
0346デフォルトの名無しさん垢版2022/06/07(火) 23:44:35.62ID:E12IBcA8
色々変な仕様くっつきすぎてとっつきにくくなり、素のJSに戻ることになるでしょう
レスを投稿する


ニューススポーツなんでも実況