X



Vue vs React vs Angular vs Svelte Part.10
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ ff00-dbYr)
垢版 |
2022/03/08(火) 22:57:16.85ID:D77bZcWT0
!extend:on:vvvvv:1000:512

Vue
https://jp.vuejs.org/
React
https://reactjs.org/
Angular
https://angular.io/
Svelte
https://svelte.dev/

※前スレ
Vue vs React vs Svelte Part.7
https://mevius.5ch.net/test/read.cgi/tech/1610901677/
Vue vs React vs Angular vs Svelte Part.8
https://mevius.5ch.net/test/read.cgi/tech/1621744952/
Vue vs React vs Angular vs Svelte Part.9
https://mevius.5ch.net/test/read.cgi/tech/1642316774/

★ここではjQuery, Ruby, C#, Blazorの話題は禁止です
★jQuery, Ruby, C#, Blazorキチガイが書き込んでも無視してください
Next, Nuxt, Sapper, Gatsby, VuePress, RedWoodなどはおk。
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
0021デフォルトの名無しさん (ワッチョイ efba-84yK)
垢版 |
2022/03/11(金) 13:04:40.08ID:t8G7kWR40
>>4
ほんとそれな

てか、propsでコンポーネントを渡す場合に
<Parent child={<Child />} />はなんかパフォーマンス悪そうだから
<Parent child={Child} />で渡せるようにした方が良いって記事があって驚いた
これ実際は真逆で、後者はParentが再レンダリングされる度にChildがJSXを生成することになるんよな
0030デフォルトの名無しさん (ワッチョイ cbc9-6iqn)
垢版 |
2022/03/11(金) 21:33:12.80ID:vRQ0MW290
TSで書き始めると二度とJSに戻りたくなくなるけどね
ただ要求は年々高まるのにJS、HTML、CSSの進歩が遅すぎるんだよ
TSもそうだがその溝をフロントのフレームワークが力技で埋めてくれてるのが現実
0032デフォルトの名無しさん (ワッチョイ c200-CqRB)
垢版 |
2022/03/12(土) 22:05:46.40ID:EqbJSpHR0
と思ってたけど、調べてみるとlitとかではライブラリ内で使ってるようだし、ReactもPreactもWebComponentsのサポートがそこそこ充実してる。
気が付かないうちに使ってるやつだった。
0033デフォルトの名無しさん (スップ Sd02-C3V6)
垢版 |
2022/03/13(日) 13:15:42.34ID:TgzdRzlUd
React学習始めたけどCSSの読み込みだけで7種類もあるの吹いた
こういうので乱立するのやめて欲しい…
0039デフォルトの名無しさん (ワッチョイ 692c-lWiN)
垢版 |
2022/03/13(日) 22:17:25.03ID:IoRio3/t0
Ruby on Rails では、BDD/TDD はRSpec で、
UI・システムテストは、Capybara

Rails 7 で、脱Node.js, Webpack, Babel。
IE の死滅により、ES5 へ変換しなくても、ブラウザはES6 のままで動く

WebSocket を使う、Hotwire で、
React に奪われたシェアを回復すべく、SPA のgame changer を目指す、Railsの野望!
0042デフォルトの名無しさん (ワッチョイ 692c-lWiN)
垢版 |
2022/03/14(月) 21:55:59.45ID:6P9gAWLt0
サイの表紙の3冊のサイ本で、

Flanagan の第7版を、チラッと見たら「初めてのJavaScript 第3版」と、ほぼ内容が同じw
ここ数年で、何も進化が無かったw

JavaScript 第6版、2012、David Flanagan

初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017

JavaScript 第7版、2021/12, David Flanagan
0044デフォルトの名無しさん (ワッチョイ c200-CqRB)
垢版 |
2022/03/15(火) 18:39:22.47ID:h74aQ/0w0
litは小さいのが売りで、cssも埋め込みやすく、しかもShadowDOMで面白そう。
たまたまフィットした案件が転がり込んできたので喜び勇んで使おうと実際コード書いてみたのだけど、Preactで同じことしたのとほぼ容量同じだった。
それならPreact使うよ……
0045デフォルトの名無しさん (ワッチョイ 82ad-oXSz)
垢版 |
2022/03/18(金) 12:45:28.21ID:QC8XhrqE0
useReducerとuseMemoとかuseCallbackって使ってるかね
わしはuseCallbackはちょくちょく使うんやが、reducerとmemoはいまいち使いどころが分からんくてね

reducerの活用例みると複数のinput要素を1つのステートにまとめるときに有用みたいな書かれかたしてる気するけど、オブジェクト型のステートでもええやんとも思うのよね
memoは重い処理結果のメモ化に役立つとか見るけど、クライアント側でやる重い処理って思いつかんくてな
memoの例でforでものすごい回数ループさせたやつとか見るけど、そんな処理なくねとも思うし
記事の一覧取得とかやったらNext.jsの話なってまうけどstaticpropsで一覧取得するし
0047デフォルトの名無しさん (アウアウクー MM51-p368)
垢版 |
2022/03/18(金) 17:25:34.36ID:zTUj4XOKM
会話になってねー笑
005439 (ワッチョイ 292c-P46e)
垢版 |
2022/03/19(土) 00:32:13.10ID:k2W7TKOh0
>>39
に書いたけど、

Ruby on Rails 7 で、脱Node.js, Webpack, Babel で、esbuild になった

WebSocket を使う、Hotwire で、
規約だけのイベント登録・Stimulus も使う

Rubyだけで、SPA になったから、React, Vue.js は今後どうなるのか?
Railsが、SPA のシェアを奪えるか

あまりに変更点が多すぎて、Rails 6 から勉強を始める
0057デフォルトの名無しさん (ワッチョイ 8bb9-vZkh)
垢版 |
2022/03/19(土) 15:40:32.81ID:5Y0GpJV20
最近Reactの勉強始めたんだけどJavascriptの言語仕様で無理やりHTML/CSSを扱ってみましたって感じで凄く気持ち悪いわ
今までPythonで書いてきたってのもあるけど本当にこんなのが今後も流行っていくの?
proosに変数渡すときに<func foo=hoge bar=fuga>ってなるのも気持ち悪いし今後やっていけるか自信がない
0061デフォルトの名無しさん (ワッチョイ 59ad-03jS)
垢版 |
2022/03/19(土) 16:14:50.94ID:gOzc5xXg0
でも正直微妙な時期だとは思う
Angularは嫌じゃってことでもっと手軽に始められるのが流行ったけど
あれも欲しいこれも欲しいと要望を吸収していった結果、継ぎ接ぎ感がかなりある
0068デフォルトの名無しさん (ワッチョイ 292c-P46e)
垢版 |
2022/03/19(土) 23:52:59.37ID:k2W7TKOh0
ERB(Embedded Ruby)では、PHP みたいに、
HTML 内に、<% 〜 %>, <%= 〜 %> で、Rubyの式・コード片を埋め込む。
<% 〜 %> は出力されないが、<%= 〜 %> は出力される

<% writers = ['あ', 'い', 'う'] %>
<p>
<% writers.each do |writer| %>
<%= writer %>さん
<% end %>
</p>

これよりも、JSX の方が可読性が高い
0069デフォルトの名無しさん (ワッチョイ 69e6-wW6Q)
垢版 |
2022/03/20(日) 00:27:31.85ID:4w2T36oX0
Reactの1番良い点は覚えることがめちゃくちゃ少ないこと
Vanilla jsからすぐ移行できるのがありがたい
Vue3もちょっとやったけど覚えることが多すぎて無理だった
0076デフォルトの名無しさん (ワッチョイ d3b7-Jl5v)
垢版 |
2022/03/22(火) 15:46:55.29ID:0HtR5asm0
lazyload実装したら、viewContainerRefがundefinedになるんだけど、なんで?
教えてエロい人
0077デフォルトの名無しさん (オイコラミネオ MM55-8zn+)
垢版 |
2022/03/23(水) 01:03:37.06ID:+J7AiUpwM
ひぇぇw怖い怖い
> オープンソースのnpmパッケージ「node-ipc」にロシア在住の開発者を標的にした悪意のあるコードがメンテナーによって追加される
https://gigazine.net/news/20220322-sabotage-code-to-node-ipc/
0082デフォルトの名無しさん (ワッチョイ 9300-SD5K)
垢版 |
2022/03/25(金) 18:39:56.16ID:TcNKzx810
>>80
そう、仕組み理解してれば(複雑になるにつれ)使わないほうがシンプルに書けると感じた。今はブラウザの機能も充実してるし。

>>81
watch周りとかバリデーション周りとか変に複雑だった。ドシンプルなフォーム作るなら(覚えること少なくて)悪くないと思うけどね……
0083デフォルトの名無しさん (ワッチョイ 8101-b1PW)
垢版 |
2022/03/28(月) 15:42:08.99ID:MoEAjuwS0
Jest + React testing libraryやってる人いる?

React testing libraryつかってるとテスト環境だけ動かないことがしょっちゅうですぐ壊れるし、辛すぎる
現状フロントのコンポーネントのユニットテストは費用対効果が悪すぎると思う

もしテスト作るなら必要なテストを見極めるスキル必須だわ
0103デフォルトの名無しさん (ワッチョイ 515f-E+DG)
垢版 |
2022/03/30(水) 23:06:07.37ID:ZV6rQOSL0
vueはフレームワーク独自のルールが多かったり業務でちゃんと使うにはVSCode等のエディタの拡張機能が無かったら辛かったりで、慣れすぎてしまうと悪い意味でvue以外が使えなくなってしまう感じがする
0105デフォルトの名無しさん (ワッチョイ 515f-E+DG)
垢版 |
2022/03/31(木) 10:50:34.39ID:oSy/YhOk0
vueは確かに使ってると楽なんだよね
ただ、何でもフレームワークがやってくれるから根本のプログラミングに対する考え方が深まらずにvueをどんだけ長く使っても「ただvueに慣れた」で終わってしまうことになると思う

reactはちゃんと使おうと思ったら
・javascriptの文法
・関数型プログラミングとは何か
・副作用とは何か
みたいに、深いとこまで突き詰める必要があるからreactを使いたくない人はこういうのを嫌がる
その代わりreactに習熟すると他のjavascriptフレームワークや他の言語にも活かせるような考え方が身につくと個人的には思ってる
0106デフォルトの名無しさん (ワッチョイ 5eb9-i/lR)
垢版 |
2022/03/31(木) 11:20:24.39ID:aHZxCmZf0
よくReactは関数型プログラミングって言われてるけどあんまり分かってないわ
そもそも関数型言語に対する理解が足りないんだろうけど今まで書いてた手続き型言語(C++/Python)とそこまで書き方に違いがあるかって言われると謎だし

移行して違和感あったのは
if (is_hoge === true && do_hoge()){}
みたいなのだけどこれは関数型関係ないだろうしなぁ
0110デフォルトの名無しさん (ワッチョイ 155f-4GxL)
垢版 |
2022/04/02(土) 21:07:33.40ID:NF+PiVrF0
hooksで良いなと思った部分は副作用とマークアップ部分が綺麗に分離できるようになったことだな
それによってコンポーネント内の副作用の影響等が把握しやすくなったり、カスタムフックで自分好みに複数のフックをまとめて抽象化出来たりするからコードの可読性も上がったように思う
0111デフォルトの名無しさん (ワッチョイ 5563-VAYQ)
垢版 |
2022/04/02(土) 22:03:18.78ID:phShoyKu0
createRootとrender分けろって警告で出したね。
シンプルじゃないなぁ
0115デフォルトの名無しさん (オイコラミネオ MMb1-7Hxa)
垢版 |
2022/04/04(月) 18:57:54.46ID:TKeyZlO5M
スマホアプリのデータをWebでも編集できるようにしたくて
色々調べてく中でここにたどり着いたんだけど
なんかWebフレームワークは乱立した感じになってるのね…
調べてもどれを使うべきなのかよく分からない
githubの星くらいしか参考データもなく

でも>>101さんのリンク先記事が参考になった
別にそんなにライブラリは使わないし、規模の小さい個人開発はVue.jsで良さげなのかなと
0116デフォルトの名無しさん (ワッチョイ 4b10-jQW5)
垢版 |
2022/04/04(月) 23:40:42.03ID:EAh2hm0B0
webアプリ初心者が両方ちょこちょこ触ってみてvue使ってるよ
なんかpinia好きだわ
コード打ち込みはreactが楽しいね
正直たいしたものつくらないから優位性はよくわからん
0117デフォルトの名無しさん (ワッチョイ 85a7-B0Ip)
垢版 |
2022/04/05(火) 00:02:53.38ID:4sgd/Hm90
reactはカスタムレンダラーがすごいらしい
0119デフォルトの名無しさん (ワッチョイ a300-CLQp)
垢版 |
2022/04/05(火) 06:54:29.03ID:bH2gxj8m0
100歩譲ってReactの終わりの始まりだとして、それ、React系の流れを汲んだ技術じゃん。今はとりあえずReact使っといて(本当に流行ってから移行しても)問題ないように見える
0122デフォルトの名無しさん (ワッチョイ 155f-4GxL)
垢版 |
2022/04/05(火) 08:10:00.23ID:VqqpMSri0
reactやvuejsでアプリケーションを構築しててパフォーマンスが問題だと感じる場面に遭遇したことはあるが、大量のデータをフェッチしていたり自分のコードの書き方が悪かったりで、reactやvuejs自体が問題に感じるようなことは無かったなあ
0126デフォルトの名無しさん (ワッチョイ 552c-/9eL)
垢版 |
2022/04/05(火) 14:59:22.43ID:6a13xz8Z0
jQuery みたいに実DOM を扱わない。
仮想DOM変更時には、自動的にDOM木の差分を計算し、差分部分だけを実DOMに反映させる

ただし、メモリは実DOM・仮想DOMの2つを持つので、2倍使う
0130デフォルトの名無しさん (ブーイモ MM4b-CLQp)
垢版 |
2022/04/05(火) 16:30:16.36ID:aekYSBQXM
Webフロント門外漢は知らないかもしれないけど実DOMの変更はレンダリング処理とか入ってそこそこコスト重いんだよ。
最近はtemplateのslotとかあって必要なとこだけ更新しやすくなったけど、それでも。
0131デフォルトの名無しさん (オイコラミネオ MMb1-7Z9u)
垢版 |
2022/04/05(火) 16:48:05.27ID:SCn4t5fAM
仕事中なのでこっそりドキュメント読んだだけだけどかなりよくできてそう
Solid.js普及するといいね👍
個人的にRNよく使うからそっち方面もサポートしてくれれば最高です(仮想DOMないと流石に厳しいか?)
0132デフォルトの名無しさん (ワッチョイ 15e6-UX2U)
垢版 |
2022/04/05(火) 17:20:25.99ID:u+FS9OX10
その重いっていうのを数字で見せてくれる人がいないのよね
正直10年前の比べてマシンスペックも上がったし
大した差はないんじゃないの?
むしろ差分検出なんてことをやることのほうが重い可能性
0138デフォルトの名無しさん (ワッチョイ 1d46-2tQQ)
垢版 |
2022/04/05(火) 19:45:00.74ID:wCKcIEh+0
もう速度くらいでシェアは変わらんよ
重要なのは開発体験の方だ
0139デフォルトの名無しさん (アウアウエー Sa13-yV2e)
垢版 |
2022/04/05(火) 20:26:33.63ID:G2ThUmqoa
パフォーマンスばっかり言及されてるけどこれのスゴイ所はhooksのトップレベル制約、明示的なキャッシュ処理、依存関係の記述から開放されることだろう
reactを踏襲しつつ弱点を見事に解消してる完全な進化系だからもうreactを選ぶ理由がない(レガシーのメンテ以外では)
0142デフォルトの名無しさん (ワッチョイ a300-CLQp)
垢版 |
2022/04/05(火) 20:41:35.88ID:bH2gxj8m0
>>139
そこから開放されても、(広い意味での)状態の取り扱いは残るし、あんまり魅力的とは思わないな。
どうしてもReactを過去のものにしたいようだけど。どっちも使えば良いだけなわけで。
0146デフォルトの名無しさん (ワッチョイ 55a7-dEyT)
垢版 |
2022/04/06(水) 13:07:19.26ID:K22cA7Fi0
仮想DOMを使うのは現状一番速度とコードの少なさでバランスが取れてるから

あとReactは自由にレンダラーをすげ替えられるから、もっといい方法があるなら
仮想DOMを使わないReactレンダラーを作って実装してそれを使えばいい
だからReactを離れる必要はない
0150デフォルトの名無しさん (アウアウウー Sae9-UX2U)
垢版 |
2022/04/06(水) 14:03:19.50ID:6A9Aeuema
>>145
上で書いてるだろw
DOM全体を書き換えるとブラウザの描画パフォーマンスが落ちるのよ
jQueryおじさんがinnerHTMLに丸ごとぶち込むようなコードだよ

一方JSXはユーザーからはinnerHTMLに全部突っ込むコードを毎回生成しているように書いてるけど
中では差分だけ見てるというトリック

これこそが仮想DOMのメリット
0152デフォルトの名無しさん (アウアウウー Sae9-UX2U)
垢版 |
2022/04/06(水) 14:14:46.50ID:6A9Aeuema
>>151
1番大きいのはユーザー体験だよ
該当箇所のDOMを丸ごと毎回生成する処理を書くだけでいいのだから
以前はDOMの状態をみて書き換える箇所を自分で判断してた
それこそがjQueryなコードをスパゲッティにした原因なのよ
0153デフォルトの名無しさん (アウアウウー Sae9-UX2U)
垢版 |
2022/04/06(水) 14:18:36.04ID:6A9Aeuema
パフォーマンス速くしたいからDOMの差分を自分で見る→コードがスパゲッティ


差分見るとスパゲッティになるからDOMを毎回丸ごと生成したい→innerHTMLに突っ込むしかなくてパフォーマンス劣化

この悪循環の無限ループ

これを両方同時に解決したのが仮想DOMでありReact
俺が信者になったのはこれを意識した時だな
マジで神だと思ったね
0155デフォルトの名無しさん (アウアウエー Sa13-6s55)
垢版 |
2022/04/06(水) 14:22:06.41ID:so8tWsAwa
別に仮想dom使わなくても良いんだよ
あくまでレンダリング高速化の手段の一つ
reactが差分管理として仮想domを採用しただけの話であって他に良いのが出て来ればそれに変わられていくだけ
ただdomと密接に結合するようなレンダラーと差分管理を分離しないアプローチは流行らない
webにしか使えなくなる
0160デフォルトの名無しさん (ブーイモ MM4b-CLQp)
垢版 |
2022/04/06(水) 15:38:00.45ID:0AiZA7OjM
仮想DOMツリーを使わずに差分管理する場合、変化する部分に状態管理機構(solid.jsで言えばsignal、webcomponentsで言えばslot)を打ち込む形になる。
差分管理する要素が少なく、DOMツリーをダイナミックに動かさないのであればsolid.jsのようなやり方に速度的なメリットがあり、そうでなければReactに速度や構造的なシンプルさのメリットがある。そんな感じじゃないかな。
よく知らんけど
0166デフォルトの名無しさん (オッペケ Sr01-aChK)
垢版 |
2022/04/07(木) 09:08:43.91ID:XKd8bK6Ir
でも俺の疑問はまったく解決してない

・なぜReactは仮想DOMを使っているのか?
・仮想DOMを使わなくても一部のレンダリング更新だけで済むってのか?
・そうであればブラウザのエンジン自体が部分レンダリングに対応しているのか?
・じゃあReactの仮想DOMのメリットってなんなの
0167デフォルトの名無しさん (ワンミングク MMa3-vklG)
垢版 |
2022/04/07(木) 09:20:11.52ID:hrFCTtmgM
>>166
仮想DOM自体にはメリットは全く無くむしろオーバヘッドというデメリットがある
DOMの差分更新は非常に重要で全体更新よりも圧倒的にパフォーマンスが高い
DOMの差分更新はSvelteでもSolidでも各種Vanillaでも当然行われているが仮想DOMは用いられていない
それらと比較してベンチマークなどでReactが遅い原因の一つとして仮想DOM使用によるオーバヘッドが考えられうる
0169デフォルトの名無しさん (スップ Sd03-bEtf)
垢版 |
2022/04/07(木) 09:35:03.84ID:NNETluvMd
Reactでいう仮想DOMというのは本来は単なるフレームワークの実装の都合ってわけじゃなく、
テンプレートがレンダリング結果としてDOMオブジェクトを返しているように見えるけど実際にはそうじゃないから仮想DOMなんだよ。
Vueみたいに単なる実装の都合で内部的に仮想DOM使ってるのと比較されるからそのへん混同されがち。
その意味だとSolid.jsはどうなんだろうね。まだ触ったことないからわからないけど、テンプレートは直接DOMオブジェクトを生成するの?
0170デフォルトの名無しさん (オッペケ Sr01-aChK)
垢版 |
2022/04/07(木) 09:41:42.27ID:XKd8bK6Ir
仮想DOMってただのjavascriptオブジェクトの階層構造だよね
部分レンダリング更新ってのは、この全体の階層構造のうちの一部の階層のオブジェクトが更新されて、その階層に該当するDOMだけが再レンダリングされるってことかね

その階層ってのはShadowRoot単位なのかな?

想像だけど
0171デフォルトの名無しさん (ワンミングク MM2b-fnP3)
垢版 |
2022/04/07(木) 10:05:30.92ID:NMZY0DQdM
>>170
まず仮想DOMは全く関係ないので忘れて横に置いとくといいよ
実DOMを生成する時に全体を生成するのではなく現状の一部を利用して最小限のパーシャルツリーを作って入れ替えるのが部分レンダリング更新
ブラウザによる画面レンダリングも最小限となりメリットがある
今どきのフレームワークならたいてい採用されている
この実現のために仮想DOMは必要としない

一方で仮想DOMは一部のフレームワークが採用している単なる内部のデータ管理方式の一つ
仮想DOMが他の方式と比べて何か有利な点は特にない
実行時に差分検出となるなど不利な点はある
0173デフォルトの名無しさん (オッペケ Sr01-aChK)
垢版 |
2022/04/07(木) 11:08:03.68ID:XKd8bK6Ir
>>171
なるほど

つまり
ReactやVueはデータ管理を仮想DOMで管理してる
Solid.jsやSvelt.jsはデータ管理を実DOMで管理してる

この認識であってる?

なぜデータ管理を実DOMで管理してるんだ?って思うけど、仮想DOM使ってないなら実DOMしかないよねってこと
0174デフォルトの名無しさん (ワンミングク MMa3-vklG)
垢版 |
2022/04/07(木) 12:29:30.17ID:n/T89jyuM
>>173
それは正しくない
どのフレームワークもデータ変更に対応して最終的に実DOM操作をして反映させる点では全て同じ
データ変更がどういう時にどこで起きるかはプログラム作成時にわかっているので
SvelteやSolidはそれらの情報を利用してある種のコンパイラとなり実DOM操作のJavaScriptコードを事前に生成してしまう
つまりSvelteやSolidは実行時にはその生成されたJavaScriptコードが動くだけ
一方でVueやReactはデータ変更に対して仮想DOMに反映させて前後の差分検出をしてその差分を反映させるために実DOM操作をする
0175デフォルトの名無しさん (ブーイモ MM43-bEtf)
垢版 |
2022/04/07(木) 12:31:19.31ID:cPE2iAv8M
>>173
たぶん誤解してる。仮想DOMの使用有無にかかわらず、実際のビューの状態を持っているのは常に実DOMだ。
仮想DOMが登場するのはビューの状態を更新するときで、仮想DOMの場合は論理的には(実際には更新不要な部分は使い回すような最適化はある)モデルの状態に基づいて毎回新しい仮想DOMツリー全体を作り直し、
その仮想DOMツリーをあるべき姿として実DOMを更新する。
一方で仮想DOMを使わない場合は、仮想DOMツリーの作り直しを省いて直接実DOMを更新する。
0176デフォルトの名無しさん (オッペケ Sr01-aChK)
垢版 |
2022/04/07(木) 14:42:30.41ID:XKd8bK6Ir
>>174
SolidやSveltのその操作用のjavascriptのコード生成ってどんな感じ?

いまいち想像が足りないからわからん

コードってなに?
具体例がほしいかな

>>175
React : データ更新 → 仮想DOM更新 → 実DOM更新
Solid :データ更新 → 実DOM更新

こういうこと?
このSolidの直にDOM更新ってどうやってツリー全体のうちの差分を算出してるんだろ?
差分とか関係なくjqueryみたいに要素を特定して更新してるのかな?
0177デフォルトの名無しさん (オイコラミネオ MMb1-MpoB)
垢版 |
2022/04/07(木) 16:11:00.06ID:LqaqpZCDM
SolidはデータバインディングしてるだけだからDOM上のどこを更新すればいいか最初からわかってる
となると負荷がかかるだけの大げさなツリー差分計算は不要かと
reactがツリー差分を計算するのは何処が変わるのかreactが把握してないから
Solidはreactに似てるけど根本的なアーキテクチャは違う
0198デフォルトの名無しさん (ワンミングク MMa3-vklG)
垢版 |
2022/04/08(金) 14:41:04.41ID:4G5CVrxlM
>>196
それは違うんじゃないか
こういうフレームワークを作る時に内部はもう一段抽象的なデータを持つ
その抽象データからDOMが対象ならばDOM操作コードとそのオブジェクトを生成といった具合
だから生成されたものだけを見てDOMと結合しすぎていると判断するのはおかしい
例えばReactの仮想DOMもその内部の抽象データなのだから同じ土俵で比べて判断したはうがいい
0203デフォルトの名無しさん (ワントンキン MMa3-fnP3)
垢版 |
2022/04/08(金) 17:37:20.73ID:I/uOEy9hM
>>200
SvelteやSolidがコード生成するのは実行時ではなくコンパイル時点
そして生成されるコードはVanillaで書いたときと同様な感じでわずかなDOM操作コード
仮想DOMのように余分なメモリを使用したりその管理のためのコードが必要になったりはしていない
0205デフォルトの名無しさん (オイコラミネオ MMb1-03l7)
垢版 |
2022/04/08(金) 17:54:48.38ID:FwPcQFITM
まさかとは思うけど何もしないのと比較して増えてるからメモリが減ってないじゃないかって意味で噛み付いてきてるのかな?
仮想DOMと比較してメモリが減るって文脈が読めないのかしら
0208デフォルトの名無しさん (ワンミングク MMc1-fnP3)
垢版 |
2022/04/08(金) 18:04:37.85ID:oVWM7CkTM
>>204
Reactにも仮想DOMを操作するコードがあるし
さらに仮想DOMで差分算出するコードもあるし
さらにその差分に対して実DOMを操作するコードがあるんだよ
SolidやSvelteはそのうち最後の実DOMを操作するコードだけになるよね
さらに仮想DOMを保持するメモリも必要ないよね
0209デフォルトの名無しさん (ワッチョイ a300-CLQp)
垢版 |
2022/04/08(金) 18:19:37.36ID:u9ryeQf60
何を根拠に仮想DOMがメモリ食うと言ってるのかは気になるところ。仮想DOMツリーなんてブラウザのタブを担当するプロセスの消費してるメモリの一部でしか無いのに
0217デフォルトの名無しさん (ワッチョイ 4bcf-zZJH)
垢版 |
2022/04/08(金) 20:53:59.17ID:g5acz2390
>>202
>リアクティブプログラミングなら変化が無いとわかってる部分は省略できるはず

そんな単純な話かなぁ。差分を求めずに「変化が無い」ことを判断する方法は自明じゃないように思うが。
0218デフォルトの名無しさん (ワッチョイ 65c9-G86n)
垢版 |
2022/04/08(金) 20:54:12.79ID:z7daun3M0
Reactでも速度面で困ってるわけじゃないからな
Solid.jsが小さいのは魅力
0220デフォルトの名無しさん (ワッチョイ 43bb-xb3m)
垢版 |
2022/04/09(土) 06:27:23.97ID:hnk6n6Rh0
Vue2で作ったアプリが10個以上ある
それらのアプリはVue2で使い続けたい
新しいアプリはVue3で作りたい
こういう場合どうするのがいいと思う?
Webpack使ってます
0227デフォルトの名無しさん (ワッチョイ 3602-pnsV)
垢版 |
2022/04/09(土) 22:59:04.33ID:hgG5Hkw80
>>224
わかる
recoilのtypesがアップデートされるまで様子見してる
0230デフォルトの名無しさん (ワッチョイ 6f63-KQlO)
垢版 |
2022/04/10(日) 16:24:52.57ID:ITJl40Ck0
react学習中は「jsのFWやろ」って思ってると痛い目見るな。
全くではないがreact言語と言っても良いぐらい独特やね
0246デフォルトの名無しさん (ワッチョイ 4f5f-dxu+)
垢版 |
2022/04/13(水) 07:53:46.03ID:Hql1DFVV0
tailwind-cssは最近擬似要素もサポートしたから表現の幅が広がって使いやすくなったけどね
ぶっちゃけ何でcssを書こうがあんまり変わらないから好きなのを使えばいいと思う
0256デフォルトの名無しさん (ワッチョイ 227c-EhK1)
垢版 |
2022/04/15(金) 21:10:48.34ID:jnxEt0/r0
デザインが関わる部分はデザイナーが作るからどんなの使ってても良いけどね
管理画面とかそういうのはbootstrapで簡単にそれらしい見栄えにしている
管理画面すらデザイナーがモック作ってくれる場合もあるけどね
0271デフォルトの名無しさん (オイコラミネオ MM6b-73NO)
垢版 |
2022/04/17(日) 14:18:30.28ID:YIwghly3M
うちはデザイナさんがお絵描きツールでコンポーネントの各状態ごとの見た目やアニメーションを定義して
それをバックエンドエンジニアが兼任でReactに落とし込む体制でやってる
フロント専任ってのは今は居ない
役割分担は大事だけど分けすぎると調整コスト増なのでほどほどに
0272デフォルトの名無しさん (アウアウエー Sadf-Dv9V)
垢版 |
2022/04/17(日) 15:16:11.27ID:NcklcR1ha
仮にフロントエンドのデザインを担うならhtmlとcssで何が出来るのかぐらいは理解しとかないとダメなんじゃないの?
組めとまでは言わないけど組める前提の知識は必須じゃないかと
じゃなかったらレスポンシブなデザインとかムリじゃない?
0275デフォルトの名無しさん (オッペケ Sr8b-oaBF)
垢版 |
2022/04/17(日) 16:32:24.73ID:k8OFv/xgr
デザイナーがお絵描きされてそれをエンジニアがhtmlとcssで再現できるのか?ってこと

当然ながら以下をフロントエンジニアがやるわけだ

どのcssフレームワークを使うか
Atomicデザインの粒度によるコンポーネント細分化
コンポーネントの再利用設計
cssフレームワークのカスタマイズ設定
css変数定義
スタイルガイドラインの策定をcssフレームワークに当てはめる方法
それらのコンポーネント化
css詳細度による優先順位設定
コンポーネントを構築した場合の各コンポーネント親子関係の配置方法
配置によるz-indexの優先順位の影響
インタラクション設計
インタラクション実行処理
デザイナー指定のデザインによるcanvasによる描画開発
0276デフォルトの名無しさん (アウアウエー Sadf-Dv9V)
垢版 |
2022/04/17(日) 16:39:39.73ID:NcklcR1ha
>>275
つまりあなたの言うフロントエンドのデザイナーって言うのは絵だけ作る人っていう意味?
そんな人需要ある?
食っていけないと思うけど
紙媒体のデザイナさんだって印刷技術のこと物凄く勉強してるよ?
0279デフォルトの名無しさん (オッペケ Sr8b-oaBF)
垢版 |
2022/04/17(日) 17:20:11.63ID:k8OFv/xgr
>>276
おれは一度もデザイナーのことなんか言ってない
フロントエンドエンジニアはデザイナーなんかにhtmlとcssをやらせるなってこと
フロントにとってhtmlはコンポーネント設計〜jsx、イベント、インタラクションまでやるのにそれをなんでデザイナーにやらせるんだよって言ってるわけ
cssも同じ
0281デフォルトの名無しさん (オッペケ Sr8b-oaBF)
垢版 |
2022/04/17(日) 17:39:48.32ID:k8OFv/xgr
>>280
いや絶対にうまくいかない

ゴミフロント
→ htmlとcssがわからないからコンポーネントの作り方がわからない
→ cssがわからないからデザイナーから受け取っても配置方法によって崩れる
→ レスポンシブに対応できない
→ インタラクションが何かすら理解していない
→ 表示されるべきものが簡単に崩れたり消えたりする
→ canvasすら使えない

デザイナー
→ コンポーネント設計できない
→ jsx化されてから問題起きて聞かれてもわからない
→ そもそも動的インタラクションがjsの振る舞いによって変化することがわからない
→ 作りたいものがhtmlとcssでできるのかcanvasでできるのかわからない
0283デフォルトの名無しさん (オッペケ Sr8b-oaBF)
垢版 |
2022/04/17(日) 18:05:08.21ID:k8OFv/xgr
>>282
そもそもっていうか、フロントエンドエンジニアの募集してるんだがそういう奴らしかいないんだよな
だからフロントエンジニアはバックエンドエンジニアにバカにされるんだよ
0288デフォルトの名無しさん (オッペケ Sr8b-oaBF)
垢版 |
2022/04/17(日) 18:29:58.52ID:k8OFv/xgr
>>284
>>285
エージェント使ってるからかなりの数のサイトで募集かけてる
ほんと使えない奴らしかいない
そしてエージェント側もフロントは少ない上に能力酷いといってる

>>286
まだ採用していないがな

>>287
バックエンドからみたら酷いのしかいないからしゃーないわ
まあバックエンドも酷いがそれより遥かに低レベル
0292デフォルトの名無しさん (ワッチョイ 9f7c-+1fN)
垢版 |
2022/04/17(日) 19:40:25.79ID:qB86vRxO0
何かキモいのが湧いてるのかw
プログラマがデザイナーの作業をやれるほどデザインに優れている訳無いやろw
それならデザインの専門家なんて要らんやろw
0293デフォルトの名無しさん (オッペケ Sr8b-oaBF)
垢版 |
2022/04/17(日) 19:46:19.71ID:k8OFv/xgr
落ち着けよw
お前らがhtml(笑)とcss(笑)すらまともに扱えないって言ってるだけだからな

デザイナーがデザインしてもそれをhtmlとcssで再現できないほどの能力しかないのにフロントエンドエンジニアを名乗るなって言いたいだけだ
0295デフォルトの名無しさん (ワッチョイ 9f02-8pPm)
垢版 |
2022/04/17(日) 20:13:48.57ID:Z/7bCHkO0
自分が描いた絵のCSSコーディングするならまだしも他人の描いた絵をなんでイチイチCSSコーディングしてやらなあかんのやって話
そんなんなら最初から頼まんわ
0304デフォルトの名無しさん (アウアウエー Sadf-Dv9V)
垢版 |
2022/04/18(月) 14:32:33.18ID:RP5j26MYa
たぶん20年ぐらい前から知識のアップデートが止まってて
デザインと1ピクセルのズレも許せないみたいな前時代的な世界で生きてる人なんだろ
今時htmlやcssはバックもフロントもデザイナも関係なく程度の差はあれ必要な共通言語なのにその辺もちょっと理解できてなさそうだし
0305デフォルトの名無しさん (ワッチョイ 57c9-wd3Q)
垢版 |
2022/04/18(月) 14:41:22.27ID:WtZw5StQ0
今更すぎるがデザインとロジックを厳密に分離する事はほぼ不可能
双方の歩み寄りと努力が大事やね
0306デフォルトの名無しさん (アウアウエー Sadf-Dv9V)
垢版 |
2022/04/18(月) 17:11:00.48ID:RP5j26MYa
>>305
だよね
まぁ昔に比べたらウェブデザイナに求められるスキルが増えたよね
それは他の人もそうなんだけどそれに取り残された人がネットで発狂してるんだろね
デザイン絵だけがデザイナの仕事って人も現実的に知ってるし
常日頃のキャッチアップ大事ね
0309デフォルトの名無しさん (アウアウクー MM8b-b+c0)
垢版 |
2022/04/18(月) 18:29:31.67ID:8tekLi8DM
この手のおじさんはおだてられるか煽られるかで上手いこと使われてあわよくば使い潰してバイバイされるんだと思う多分。
多人数チームで上手く立ち回れなさそうだからこなせる仕事の規模が頭打ちなんじゃないかな
0310デフォルトの名無しさん (オッペケ Sr8b-oaBF)
垢版 |
2022/04/18(月) 21:38:39.65ID:FUmz8hRDr
おじさんとかチームとかどうでもいいんだよ
チームうんたら関係ない話をして反らすな

お前らフロントエンドエンジニアを名乗っていながらhtmlとcssをバカにする割には使いこなせていないのが問題なわけだ
それを俺のせいにしたところでお前らの酷い低品質のhtmlは改善しない

デザイナーガーとなぜかデザイナーに押し付ける

デザイナーはせいぜい軽くデザインするだけでいい
イラレで十分

そこから製品としてのフロントの設計をするのがお前らの仕事なのに無能すぎてhtmlすらまともにつかえない
そこにcssが入るともうお手上げ

生まれつき視神経が腐ってるのか脳みそが退化してるのか知らんけどデザイナーが指定したUIをまったく再現できない
レスポンシブもわかってないからブラウザサイズ変えると崩れる

もう才能ないからフロントやめろよw
0316デフォルトの名無しさん (ワッチョイ 9fad-EdYG)
垢版 |
2022/04/19(火) 21:45:14.16ID:O4vDLAAp0
NextとかGatsbyが使われたサービスでpagespeed insightsとかLighthouseのスコアがいいサービス知ってる?
故人ブログとかポートフォリオサイトレベルならだいたいスコアめっちゃいいけど、showcaseに載ってるサービスとかのスコア見ると70点以下ばっかりなのよね
0319デフォルトの名無しさん (ワッチョイ 9fad-EdYG)
垢版 |
2022/04/21(木) 22:11:57.63ID:UFuN8Cig0
>>316
GatsbyのメルカリとかNextのクックパッドはクソ低いな
んでどっちも「不要なJS削除して」みたいな内容のメッセージ出てる
これはフレームワーク使う以上どうにもならんもんだな
IEのサポートのためにJSが肥大化してるから、IEのサポートが切れた今後は改善されるとは思う
0324デフォルトの名無しさん (ワッチョイ a27c-fLUy)
垢版 |
2022/04/28(木) 16:40:17.02ID:Eitw2zDJ0
>>321
コンポーネントに必要なデータ渡せばいいだけやん
v-modelで双方向バインディングが必要なデータを渡し
単にパラメータを渡すならそのまま渡せばいいだけだし
何が面倒なのかが分からんわw
0328デフォルトの名無しさん (オッペケ Sr5b-c3mi)
垢版 |
2022/04/30(土) 08:35:04.53ID:Vrzy9R2kr
まあプロジェクトによるよね
参照するObject次第だし
直近の親コンポーネントから渡したいだけならprop的な方がいいし、
同じ階層の親も子も複数とかならvuexが便利やろね
0329321 (スッップ Sdff-7pvr)
垢版 |
2022/04/30(土) 09:53:16.24ID:PszWcuHed
バケツがデータの変化を追うのにいいとは思ってるけどjwtのトークンや認証したユーザー情報やら共通的なデータをコンポーネントを遷移させる都度引き渡しするのに面倒だなとというのと親に値を返すときのイベント駆動がいまいち慣れないってのがあって愚痴ってたのよ

まだはじめて数日なんで上手い方法を知らないってのが問題なんだけどね
0336デフォルトの名無しさん (ワッチョイ a7e6-N6wW)
垢版 |
2022/05/05(木) 12:12:21.70ID:JOrREzPe0
Reactを触りはじめた
reduxだけで全ての状態管理を行おうとして一度詰まったわ
ケースバイケースでcontextの状態管理を使うようにしたらあっさり設計が改善された
しばらくこれで開発を進められそう
0351デフォルトの名無しさん (ワッチョイ df02-VZQ6)
垢版 |
2022/05/06(金) 21:41:17.90ID:0Wk7dWwd0
Recoil結構ずっと使ってるけどRecoil固有のバグに遭った事はないな
RecoilでダメだったものはReduxでもダメでそもそも別のReactコンポーネントの配置構成の問題ならあったけど
0360デフォルトの名無しさん (アウアウエー Sae2-5N2W)
垢版 |
2022/05/08(日) 12:47:49.43ID:dY4mgHSSa
2でも説明足りなかったけど3になったらコード追わないと分からない部分増えたよね
そこで見限ったから現状は分からないけど
reactに比べたら桁違いにユーザー数少ないししょうがないよね
0362デフォルトの名無しさん (ワッチョイ fbad-/cLQ)
垢版 |
2022/05/08(日) 13:07:14.64ID:EfdQ3QOw0
Cakeが2から3になった時に誰も使わなくなったみたいな感じになるのかな
Vue一本でやってきた奴が乗り換える先がないからそこまで極端にはならんかもしれんが
0363デフォルトの名無しさん (ワッチョイ 6bac-En5K)
垢版 |
2022/05/08(日) 13:24:16.98ID:tE2TLZUz0
vue3はvue3で使えるよ
まあドキュメント少ないていうか、
webだと2も3も混在しててググラビリティ低いのは実感する
この板でvueをやたら下に見る人がいるのは変わらんわね
0374デフォルトの名無しさん (ワッチョイ 66ba-U1YL)
垢版 |
2022/05/09(月) 15:04:30.12ID:+B7Bz6jv0
Vueはまじでどこに向かってんだろうな
Angularの良いとこ取りで始まったはずなのに今はReactの後追いやってるし
シンプルなまま、今のSvelteポジを狙っていればまだ将来性はあったんだろうなー
0375デフォルトの名無しさん (ワッチョイ 2301-b+kc)
垢版 |
2022/05/09(月) 15:23:47.98ID:BwO2whlG0
海外はむしろreactからsvelte,vueに向かってるのに日本人って英語の情報取りに行けないから遅いよね。
Reactのつらみわからん奴らがvueよりもreactの方がわかりやすいとか言ってるの見てほんと笑える
0376デフォルトの名無しさん (ワッチョイ 2301-b+kc)
垢版 |
2022/05/09(月) 15:27:18.69ID:BwO2whlG0
Vueオワコン言ってる奴はrailsオワコン言ってるのと同レベルの現実見れないアホ
0390デフォルトの名無しさん (ワッチョイ fbad-Qemf)
垢版 |
2022/05/09(月) 21:01:23.80ID:48QKZ9zX0
Vueって最初は確かに軽いAngularって感じでいいなと思うんだけど
だんだん公式の散らかり具合のほうが気になってきて逆にAngularのほうが楽じゃね?って気がしてくるんだよな
0395デフォルトの名無しさん (ワッチョイ aa7c-PvPk)
垢版 |
2022/05/09(月) 23:51:34.61ID:pCXH3gMK0
個人的にはvueで取りあえず間に合ってるし新規開発者にも教えやすいし
少人数のプロジェクトで少し手伝って貰うみたいなケースでは
今まで出来ないから直ぐにクビみたいなのは無かったな
まぁ、外れの技術者が来れば出来ないのだろうけどw

reactにしたら多分こううまくは行ってない気がする
0399デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
垢版 |
2022/05/10(火) 09:17:34.49ID:eFgarx/HM
>>398
そだね
外部依存のリスクと言ったほうが正確だ
なのでフレームワーク自体が外部依存しておらず、フレームワーク以外の外部依存に頼らなくても快適に開発できる
そんなオールインワンのフレームワークが信頼のおける組織から出てほしい
0406デフォルトの名無しさん (ワンミングク MMda-u41j)
垢版 |
2022/05/10(火) 14:46:06.12ID:xuRuHPzYM
WebAssembly上でPythonインタプリタを動かしてそのガベージコレクションもしてそれらと各モジュールを読み込んで重くて遅くてデメリットだらけだからでしょう
今後もほとんどはこれまで通りJavaScript+WebAssembly (by RustなどGCなし事前コンパイル言語) のままでしょう
0408デフォルトの名無しさん (ワッチョイ cb34-ckJZ)
垢版 |
2022/05/10(火) 15:23:16.50ID:NNFQ4qCM0
Wasmだと言語のランタイムごと実行バイナリに収める必要があって、GCがある等でランタイムが大きな言語はバイナリサイズが大きくなるし効率も悪い。JSの場合はブラウザがランタタイムを持ってて高効率だしサイズも小さくて済む。
Wasm自体が将来GCを持つという話もあるけど、各種言語のGCとは仕様が異なるのでランタイムは作り直しになるようだ。

それはそれとしてPythonが優れてるのはライブラリ周りであって言語としてはJS以下だから使いたくない(個人の感想です)
0418デフォルトの名無しさん (アウアウエー Sae2-5N2W)
垢版 |
2022/05/10(火) 18:19:15.16ID:ov5OsiCVa
>>415
科学計算とか機械学習の計算をクライアントで実行する案件ってのが思い浮かばないんだよね
wolframalphaとかの計算サイトとかnotebookのような実行環境とかそんなんしか思い浮かばない
0419デフォルトの名無しさん (ワッチョイ 8f01-U1YL)
垢版 |
2022/05/10(火) 18:53:00.41ID:gcxSlYEt0
フリーランスに立ちはだかる「常駐」の壁。慣例を打ち壊し、
“テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡

リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、
業務委託契約の求職者と企業をマッチング

1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の
人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現!

『ReWorks(リワークス)』リモートワーク特化型転職サイトとして 3月5日 リニューアル

副業・兼業マッチングサービス「クラウドリンクス」登録者数2万人突破
中小企業で進む副業人材の採用、96%が継続採用を希望

茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金

長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給

フリーランスが活用できる「最大1,000〜3,000万円・補助率50%〜75%」の
『ものづくり・商業・サービス補助金』とは?概要や条件を解説
0436デフォルトの名無しさん (ワッチョイ 8f2c-vjB4)
垢版 |
2022/05/11(水) 00:46:11.05ID:ZxQ/H1/P0
YouTube で有名な、雑食系エンジニア・KENTA のRuby on Rails 初心者用サロンでは、
キャリアパスは、Rails → Go だけ

Python は、プログラミングの技術で転職できないから、絶対に教えない。
サロンに転職できない香具師ばかりが残って、サロンが崩壊するから

文系で、プログラミング・Linux, Docker, AWS だけで食っていけるのは、Rails, Go だけ。
PHP, Scala は、KENTAがオワコン認定して滅んだ

Pythonは理系で、大学院数学科・AWS 機械学習 Specialtyの、2つの資格で決まる。
だから、KENTAが文系プログラマーに教えない。
教えても転職できないし、そもそもプログラマーを求めていない
0437デフォルトの名無しさん (ワッチョイ b77d-oYRD)
垢版 |
2022/05/11(水) 05:30:38.02ID:Iqge52I10
typescriptを触りはじめたばかりだけど
nullとundifineの違いがマジで気持ち悪くて困る
初期化の段階では気にならないけど、
返り値の型指定で、voidとnullを分けなければいけないのは草もはえない
javascriptに戻せばこの気持ち悪さから目を背けられるんだろうか
0446デフォルトの名無しさん (ワッチョイ 1746-5JSg)
垢版 |
2022/05/11(水) 12:28:33.43ID:cpm7LRmA0
乱立してたのはconstもなかった時代だろ
今はそこまで悪くはない
0451デフォルトの名無しさん (ワッチョイ b77d-oYRD)
垢版 |
2022/05/11(水) 14:50:28.09ID:Iqge52I10
今日初めてTSで例外処理を書いた
anyで型チェックした例外の、あるかも分からないcodeプロパティで例外の種類を
判別するという気色悪いコードを書いちまった
一応、hasOwnPropertyで、error.codeがあるか否かチェックはしてるんだけど
こんな感じで正解なのかすごく不安

てか、TSを入れて型チェックしても、こんな汚い例外処理を書かされるなら
何の役にも立たねーな・・・。JSに戻そうかな
0456デフォルトの名無しさん (ブーイモ MMd6-nt15)
垢版 |
2022/05/11(水) 16:32:24.65ID:AR8DfNGdM
例外の型なんて精々リトライ可能かどうかの判断とデバッグくらいにしか使わないんだから、そんなに厳密に扱う必要ないんだよ
多くの人に使われるようなオプソライブラリを作るレベルの人はそのへんの匙加減をよく理解していて、
いちいち例外を全部場合分けして個別に作り込みをしてるようなドカタレベルの開発者とはだいぶギャップがある
0457デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
垢版 |
2022/05/11(水) 17:17:10.10ID:9+Fgria9M
>>456
俺も昔はそう考えてたけどUXを考えるとそうも言ってられん
プログラミングはエラー処理が大半ってよく言われるけど本当にそのとおりだった
面白くない部分だけど品質を上げるためにやらないと
0462デフォルトの名無しさん (ワッチョイ becf-HkNE)
垢版 |
2022/05/11(水) 20:45:51.48ID:42PTVEOr0
>>457
品質を上げるために例外の型を細かく区別することが必須というわけでもあるまい。
そのアプローチでやろうとしたのがJavaの検査例外なわけだけど、結局それを
きっちりやるのは困難なことがわかってきたんで最近は例外の型に依存する
設計自体が避けられる傾向じにあるんじゃゃないかな。
0464デフォルトの名無しさん (ワントンキン MM96-u41j)
垢版 |
2022/05/11(水) 21:50:37.24ID:VUieO+dfM
>>448
本質的問題はそこだね
だから最近のプログラミング言語であるGoやRustは例外機構try/throw/catchを廃止した

>>449
GoやRustはその方式だね
Goはすべてタプルで返し
Eitherに相当するのがRustだとResult<T, Error>型であとは有無を示すOption<T>型
Rustの「?」オペレータが絶妙でエラー時に即時に関数を抜けてくれて例外のようにエラー処理を上位関数に集められる
0469デフォルトの名無しさん (ワッチョイ becf-HkNE)
垢版 |
2022/05/12(木) 00:27:38.23ID:nhkWit6K0
>>463
何か勘違いしてないかね。
たしかにTSはJSに対して型情報を埋め込んだりするようなオーバーヘッドは生じさせないと言っているが
それは実行時に型を判断できないという意味じゃあない。
nominal subtypingな言語だとコンパイルで型名が失われたら型が判断できなくなるから、あえて
「実行時型情報」として保持させてやる必要があるわけだが。
0470デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
垢版 |
2022/05/12(木) 00:40:13.66ID:sSkYRofXM
>>469
いやTSもJSも実行時に型は判断できないよ
オブジェクトが特定の条件をみたしているか判断してるだけ
これは酷く脆いやりかたでだから>455のような事故が起きる
例外に対処するためのcatchブロックで間違えやすい設計になっているのはちと問題だね
0472デフォルトの名無しさん (ワッチョイ becf-HkNE)
垢版 |
2022/05/12(木) 01:04:07.53ID:nhkWit6K0
>>470
>オブジェクトが特定の条件をみたしているか判断してるだけ

それがstructual subtyping的あるいはduck typing的な型なわけだが。
>>455はinstanceofにnominal subtyping的な型の保証を期待したらそうじゃなかったというだけだろ。
実際にはプロトタイプチェーンしか見てないわけだし。
0477デフォルトの名無しさん (ワッチョイ bea7-Rvhb)
垢版 |
2022/05/12(木) 13:12:26.97ID:uvr1OWW50
TSは型チェックやトランスパイルの速度がこれからすごい早くなるから
開発環境はさらによくなってオススメされるのでユーザー数は増える
0482デフォルトの名無しさん (ワッチョイ 1763-wYNq)
垢版 |
2022/05/12(木) 19:44:49.92ID:Q8+MB3F20
TSもJS互換だし仕様がカオスすぎてワイは頭抱えながら格闘してる…
ESLintって必須プラグインになってきたのは良いが、あれダメこれダメが多すぎる
0484デフォルトの名無しさん (スッップ Sd8a-UZuW)
垢版 |
2022/05/12(木) 20:15:47.12ID:nM4SHBg/d
頭のいい人がなんやかんやと新しい思想いれたりお作法作ったりしてくれてはいるけど
その度実装してるみんなは右往左往して余計な稼働くって世の中発展を妨げるのは実は頭のいい人達の優越感のせいなんじゃねと愚痴りたくなるほどゴロゴロ仕様がかわるのは完璧して
0493デフォルトの名無しさん (アウアウアー Sa83-k6zu)
垢版 |
2022/05/14(土) 08:36:20.76ID:sMGvGTwPa
勉強中の身なのですがtsを使う理由ってこんな感じでしょうか
理解や用語が誤っていたらご指摘ください。

tsを使う理由(サーバーサイド)
tsは型を厳密に定義することができるのでサーバーサイドでの利用、特にドメイン層でのビジネスロジックの記述に適している。

tsを使う理由(View)
サーバーも同じ言語を使うことで、サーバーで定義したモデル(レスポンスモデル等)をViewでも定義するという二度手間がなくなる。
ただしView側でtsでビジネスロジックを記述すると、利口な UI アンチパターンになってしまうので注意。
0497デフォルトの名無しさん (ワッチョイ ff00-GCUU)
垢版 |
2022/05/14(土) 12:11:20.40ID:lXb0w+3k0
かと言ってPHPやPythonはアレだし、JavaやC#はアホみたいにメモリ食うし、Node.jsで(fastifyとかで出入り口をガチガチに固めれば)良いじゃんってなることは結構ある。比較的簡単にスケールするし、クラウドでも大体使えるし。
0498デフォルトの名無しさん (ワッチョイ 1949-YYQQ)
垢版 |
2022/05/14(土) 12:22:01.90ID:GNnPWoYV0
まあサーバがJSTSであるメリットは、
フロントと言語が共通しやすくなることでの総合的な学習コストの抑制がメインやろからね
仕事なら各予算とかパフォーマンスとか、要件に合わせてちゃんと多角的に評価すべきだとおもうよ
0501デフォルトの名無しさん (オイコラミネオ MM49-ur9t)
垢版 |
2022/05/14(土) 12:59:34.72ID:UUXyqx7tM
ちと古いが
ttps://cryptomode.com/c-is-the-most-energy-efficient-and-fastest-programming-language-study-finds/
言語比較ってたまにググると色々出てきて面白いね
エネルギー消費量なんてのも比較されてんだ
0502デフォルトの名無しさん (ワッチョイ abcf-7P1Y)
垢版 |
2022/05/14(土) 13:00:57.29ID:YyWH0a110
移植性は関係ないんじゃね。単に環境や知識が一本で済むというだけ。
論点はほかにもあるだろうけどそのへんは要件に照らして個別に判断する話であって、
そういう前提なしに

>鯖でtsはないかな

なんて断言できるもんでもないだろう。
0503デフォルトの名無しさん (オイコラミネオ MM49-ur9t)
垢版 |
2022/05/14(土) 13:31:51.95ID:UUXyqx7tM
>>502
動くもの動かないものが意外と違うんで一本で済むと思って始めると辛い
stringに生えてるメソッドですら環境依存
そもそもフロントとバックって書き方もアーキも勘どころも依存先も違うんで言語だけ合わせてもって感じ
0504デフォルトの名無しさん (ワッチョイ ff00-GCUU)
垢版 |
2022/05/14(土) 13:37:03.84ID:lXb0w+3k0
>>500
ほんまかと思って数年ぶりにjava書いたけど普通にNodeの倍以上メモリ食ってた。
AtCorderはたくさんVM立てるから(forkとかかな?)なんか設定が違うんじゃないかな。
とはいえ思ったより食わなかったので、バカ食いは訂正します。
0505デフォルトの名無しさん (アウアウエー Sa93-iKbs)
垢版 |
2022/05/14(土) 13:41:17.73ID:DuvSDtMha
バックもフロントもコード補完と型安全性、型情報によるドキュメントの補完を目的としてるな
バックでts使った事ないけどapiのスキーマの定義はopenapi使ってれば他の言語使ってても生成できるので二度手間にはならないよ
0506デフォルトの名無しさん (ワッチョイ 1949-YYQQ)
垢版 |
2022/05/14(土) 13:48:11.53ID:GNnPWoYV0
あくまで学習コストが低いくらいや、とワイも思う
まあドキュメントとかも少しは節約できるかもくらいかな
社内にJSTSのコミュニティがあるとかなら十分検討に値するんじゃね
会社なんて千差万別なんや
0507デフォルトの名無しさん (ワッチョイ 0bad-zPI0)
垢版 |
2022/05/14(土) 13:53:46.11ID:bL0HlggA0
継続的に開発するならなんでもいいけど
リリース後は放置するようなものだと、問題が出たときに久々に見てもなんだっけこれ?にならない楽さはある
フロントからJSが駆逐されたらそれも通じなくなるだろうけど
0511デフォルトの名無しさん (アウアウアー Sa83-k6zu)
垢版 |
2022/05/14(土) 18:15:30.80ID:4GKPU3lGa
皆さんご意見ありがとうございます。
大体の認識はあってそう…?

ガチガチの業務システムになるので、サーバー側は堅牢な言語にしたいところですが…
>>505を読む限り、言語が別でも二度手間感はないのでしょうか
サーバーサイドに定義したレスポンスモデルを変更したら、自動的にフロントサイドも書き変わるのが理想ですね。

しかし意見が結構別れますね
フロントサイド、もしくはサーバーサイドしかやってない人は言語なんてバラバラでもいい
どっちもやってる人は一緒の方がいいってなるのかな
0513デフォルトの名無しさん (オイコラミネオ MM49-ur9t)
垢版 |
2022/05/14(土) 18:26:21.07ID:UUXyqx7tM
JSはまあ論外としてTSしかできないならTS
そうでないなら別の言語でいいんじゃないの

TSのカジュアルさは場合によりメリットになりうる
がしかしJSから継承した多数の変な罠、変化の速い依存関係、低品質な標準・非標準ライブラリを持ち込むデメリットのほうが大きいと思うね
0515デフォルトの名無しさん (ワッチョイ 8dbd-uHCr)
垢版 |
2022/05/14(土) 18:43:56.92ID:wtoFZqAo0
>>511
そもそもこのスレでサーバサイドについて質問する時点で
回答にある種のバイアスがかかるであろうことは想定しないと

サーバサイドについて公正な意見が欲しいならそれに適したスレに行くことを勧めるよ
0516デフォルトの名無しさん (スプッッ Sddb-nHzh)
垢版 |
2022/05/14(土) 18:50:21.52ID:PIqdDhGKd
言語単体でどれがとはいいにくいかな
今時は何らかのフレームワークにのっけることになるけどフレームワークも複雑化しているから使い慣れたものを選択するケースが多い
でそこにマッチした言語を多用することになる
でこれまた使い慣れた言語以外は使いにくいなあと思うように…
0517デフォルトの名無しさん (ワントンキン MM81-eHJy)
垢版 |
2022/05/14(土) 19:21:28.20ID:59Ewxs6ZM
>>501
やはりCとRustが圧倒的に効率的なんだな
ブラウザサイドはJavaScript+Rust(Wasm)のハイブリッドが最も効率良いし
サーバーサイドはRustがクラウド等コスト最小にできるから
今後はJS(/TS)+Rustの両者だけで最も効率良く行けるね
0518デフォルトの名無しさん (ワッチョイ 3fac-YYQQ)
垢版 |
2022/05/14(土) 19:35:06.42ID:wZ/dlG450
とりあえず要求要件まとめるのが最初じゃね
会社の得意言語が決まってるとかじゃなけりゃさ
ガチガチの業務システムのコア部分が何がしかのフレームワークで果たしていいのか、とかもあるやろ
0519デフォルトの名無しさん (ワッチョイ ff00-GCUU)
垢版 |
2022/05/14(土) 19:47:16.30ID:lXb0w+3k0
ぶっちゃけ余程マイナー言語じゃなきゃなんでも書けるし、要件や現状にあったものを選ぶだけ。早まった最適化は無駄どころか後々の負債になりかねないからね
0522デフォルトの名無しさん (ワッチョイ 87b9-az5c)
垢版 |
2022/05/14(土) 20:44:36.70ID:zxDXnmN60
フロントはVue.js 3、サーバーサイドはPHP
日本においてはこれが最適解だよ
なんで日本に住んでるのにReactとかいうどこの企業も使ってないライブラリ使いたがるのか理解できん
0525デフォルトの名無しさん (アウアウアー Sa83-k6zu)
垢版 |
2022/05/14(土) 21:08:48.30ID:4GKPU3lGa
>>515
でもこの板って特定の技術のスレはあれど
アーキテクチャをテーマにしたスレがないんですよ
あっても過疎ってるんですよ
ちょうどこのスレでtsの話題があったので投稿した次第です

しかしサーバー、フロントどっちもやってる人はすくなそうですね。
うちは規模が小さいのでどっちもやる羽目になりそうなのですよ。
0528デフォルトの名無しさん (アウアウエー Sa93-iKbs)
垢版 |
2022/05/14(土) 21:16:45.10ID:DuvSDtMha
>>511
両方やってるけどバックとフロントは言語ちがうね
フロントは使う技術そんなに変わらないけどバックエンドはプロジェクト毎に要件かなり違うから幅が広くなっちゃう
最初からnodeでやりましょうって決め打ちはしないかな
0529デフォルトの名無しさん (ワッチョイ bb01-R2Xv)
垢版 |
2022/05/14(土) 21:17:27.35ID:ng6xGQr50
websocketをガッツリ使うならsocket.ioのあるtsがサーバーサイドでも一番!とか思ってるんだけどこの認識もしかして古い?
Pythonのswampdragonとかスケールしないって記事を見たことがあって
0532デフォルトの名無しさん (ワッチョイ 8dbd-uHCr)
垢版 |
2022/05/14(土) 21:52:35.44ID:wtoFZqAo0
>>525
>でもこの板って特定の技術のスレはあれど
>アーキテクチャをテーマにしたスレがないんですよ
じゃあこの板自体がその手の情報収集に適してないということ
技術ブログとか漁ってみればある程度まとまった情報も手に入るかもよ

>しかしサーバー、フロントどっちもやってる人はすくなそうですね。
少ないかどうかはわからんけど、自分が少し前にやったのはVue+SpringBootで
選定と実装はひとりでやったよ
0536デフォルトの名無しさん (ワッチョイ 5b7d-0JVc)
垢版 |
2022/05/15(日) 00:06:24.43ID:PKOM7k+T0
最初に用件をある程度固めて、
それを実現できるフレームワークやライブラリを調べて、
言語は最後にベストなものを選択する
開発にかかるコストの全体の中で、言語の取得なんてかなり小さい
0539デフォルトの名無しさん (ワッチョイ 73f1-t7Xx)
垢版 |
2022/05/15(日) 12:45:04.08ID:jYft1JFw0
>>511
>>サーバーサイドに定義したレスポンスモデルを変更したら、自動的にフロントサイドも書き変わるのが理想ですね。

かってに変わられたら困るですけど(´ω`)
堅牢とか言ってる割にはなんか根底が矛盾してんですけど
0541デフォルトの名無しさん (スプッッ Sddb-nHzh)
垢版 |
2022/05/15(日) 16:21:49.45ID:vHVXFnMOd
i/f変わればいずれにしろその項目に対して適切な処理が必要というか作り込みになるから勝手にはこまるのでは
idlぽいものを双方合意で共有するのが現実的では
0542デフォルトの名無しさん (ワッチョイ abcf-7P1Y)
垢版 |
2022/05/15(日) 16:44:09.04ID:VMVrIVgn0
OpenAPIの定義で握ってるような開発ってどのくらい普及してんのかな。
うちは単にドキュメントとしてしか使ってないけど、あれデータ定義がjsonschemaだから冗長で大変なんだよな。
0544デフォルトの名無しさん (ワッチョイ 4563-HE43)
垢版 |
2022/05/15(日) 17:33:08.47ID:k55J8NDG0
今でもSORPやCORBAが負の遺産で残ってるとこ多いね
Restに駆逐されて良いわ
0545デフォルトの名無しさん (オイコラミネオ MM49-ur9t)
垢版 |
2022/05/15(日) 17:51:00.04ID:ezWJ6neIM
Swaggerって実質的にWSDLの再発明みたいなもんでしょう
WSDLを安易に滅ぼさずに最適化し洗練させていけば
技術間の断絶が起きず移行コストを抑えつつ今と同じような形態に落ち着いたのではと思う
まあいまさら何を言っても過去は変わらんのだけど
0547デフォルトの名無しさん (スプッッ Sddb-nHzh)
垢版 |
2022/05/15(日) 20:14:06.84ID:jKD1Yf03d
リクエストやレスポンスに載せる要素を勝手に追加して送っても受け取る側がさわらなけりゃエラーにもならずそのまま漏れるケースがでてくるよ
ぼっち開発ならいいけど複数人でやるならコミュはとらんと
0551デフォルトの名無しさん (ワッチョイ efba-k6zu)
垢版 |
2022/05/15(日) 22:05:09.04ID:Pwx8c3iM0
>>547
いやそりゃレスポンスモデル変わったことは通知するよ
でも人間がやることだから必ず対応漏れが出る

大幅な変更で対応漏れがあったらもうどうしようもないけど
ちょっとスペルミスがありました程度で対応漏れで値が表示されなくなるのはつらい
0553デフォルトの名無しさん (ワッチョイ efba-k6zu)
垢版 |
2022/05/15(日) 23:49:50.15ID:Pwx8c3iM0
>>552
言語というか
フロントのみしかやらない人は、IFの変更があったときはバックエンドから通知が来るのが当然で、
通知が来なくて不具合が出たとしてもそれは通知しない方に責任があるというような考え方ではなかろうか

システムの形態によってはスマホアプリもあるだろうし、その場合はフロントとバックの言語が違うなんてのは当たり前なんだろうけど、
ブラウザのみの場合は極力フロントとバックの言語を合わせた方がメリットが多いと思う
0554デフォルトの名無しさん (ブーイモ MM81-9b1c)
垢版 |
2022/05/16(月) 00:40:22.43ID:cASOeT3aM
メリットがあるのは理解するけどバックエンドの選定って運用とかにも大きく絡むから
開発の都合だけを押し通すわけにもいかなくない?
要件的制約的にどれを選んでも大差ないってときにじゃあ同じ言語にしとくかってのは否定しないけども
0559デフォルトの名無しさん (ワッチョイ 1949-YYQQ)
垢版 |
2022/05/16(月) 09:44:15.27ID:a802uHDS0
言語合ってくれるとバックエンドはフロントのこと分かりやすいだろうな、とは思うけど
合わせてくれとまでは思わない
それよりも優先すべきことが多い
てかまあスレタイとはズレていくな
0560デフォルトの名無しさん (スッップ Sdd7-by9o)
垢版 |
2022/05/16(月) 10:17:06.28ID:03MF3TRNd
それは逆だな
一般にバックエンドのほうが技術的に幅広く理解している人が多いから、言語が違ってようがバックエンド担当がフロントを読めないってことはまず無い
当たり前のことだし煽るつもりもないが、フロントの人の方がJSに拘る傾向は遥かに強い
0563デフォルトの名無しさん (ワッチョイ 1949-YYQQ)
垢版 |
2022/05/16(月) 11:47:58.40ID:a802uHDS0
なんかズレてんな

まあどこの会社のバックエンドが優れてる優れてないってのは様々やしな
今のフロントを理解できるバックエンドってのもなかなか貴重な気はしてる
0566デフォルトの名無しさん (スプッッ Sddb-nHzh)
垢版 |
2022/05/16(月) 12:48:38.41ID:wSD9JNVwd
フロントもバックもそれぞれ人材はいるけどspaするなら結局前後でデータ整合や認証関連、フロー制御の連携するために間に立って全体をみる役割の人材が少ない印象
0567デフォルトの名無しさん (ワンミングク MM1b-eHJy)
垢版 |
2022/05/16(月) 13:00:15.74ID:IoIRdAU7M
>>566
結局フルスタック出来るか、それとも一部しか出来ないか、だよね
言語をどれにするかは独立した別の問題
システム的に許容範囲ならば全てをJavaScriptでも問題ない
逆にサーバーリソースコストが重要ならばスクリプト言語を使っていてはダメだし、
ブラウザ側も重い処理が入るならばJavaScriptだけではダメでWasm必須など
0569デフォルトの名無しさん (ワンミングク MM1b-eHJy)
垢版 |
2022/05/16(月) 13:22:53.05ID:IoIRdAU7M
速さの性能面に限っても、
V8のおかげでスクリプト言語の中でもJavaScriptは断トツに速いから、
他のスクリプト言語を使っていても大丈夫なサーバーサイドならばJavaScriptでも大丈夫
0570デフォルトの名無しさん (ワッチョイ 9b2c-5/8R)
垢版 |
2022/05/16(月) 14:19:04.42ID:DJgy/fWm0
漏れは、NRI ネットコムのAWS Solution Architect Associate(SAA)の教科書で勉強しているけど、
データベースの基本は、マルチAZ

マスター・スタンバイ + read replica(参照のみ)。
Ruby on Rails 6 から、複数DB(read replica)にも対応している

YouTube で有名な、雑食系エンジニア・KENTA の初心者向けRailsサロンでは、
キャリアパスは、Ruby → Go だけ

PHP, Scala は、KENTAがオワコン認定したから、
Laravel を使っているZOZO も、もうダメ。
日本ではKENTAがダメと言うと、誰もその会社へ転職しなくなる。それで滅ぶ

Python, Django も、無理だと言ってる。
大学院数学科とか、AWS 機械学習 Specialty を持っていないと無理。
この分野はプログラミングに関係ない

文系がプログラミング技術だけで食っていけるのが、Rails, Goと、AWS SAA

KENTAだったか誰かは忘れたけど、
フルスタックエンジニアを名乗る香具師は、信用するなと言ってたけど、
KENTAは転職用に、Rails + Vue.js を推奨しているw
0573デフォルトの名無しさん (アウアウエー Sa93-yVqK)
垢版 |
2022/05/16(月) 14:46:23.75ID:qZK8tQUSa
バックエンドではTypeScriptは意図的に避けてる
エコシステムの変化が激しすぎるのと標準ライブラリの貧弱さが使用に耐えない
OSS文化は悪くないけど基本的な機能すらコミュニティ依存っていう無責任な方針はよくない
今後数年から数十年に渡って自分達のプロダクトと共存していくことになるパートナーとして信用できない
0574デフォルトの名無しさん (アウアウエー Sa93-yVqK)
垢版 |
2022/05/16(月) 14:49:42.10ID:qZK8tQUSa
逆に言うとフロントと同じぐらい小さくて寿命が短い使い捨てのバックエンドなら別にTypeScriptでも良いと思う
うちはそういうの扱ってないんで選択肢に挙がらないけど
0575デフォルトの名無しさん (ワッチョイ 3be6-xCBC)
垢版 |
2022/05/16(月) 15:13:42.42ID:UTxfnI1i0
何するにも非同期とかnodeというかJSは終わってる
それはフロントエンドの発想
サーバーサイドは全部同期的に動くのがベスト
同期で動いていかに早くレスポンスを返すかを設計するもの
何やるにもコールバックかPromise連打しなきゃいけなくて地獄
サーバーサイドで非同期は余計なのよ
この感覚を理解できない人はサーバーサイドを理解してない
0576570 (ワッチョイ 9b2c-5/8R)
垢版 |
2022/05/16(月) 15:29:38.98ID:DJgy/fWm0
KENTA
未経験からのエンジニア転職の必須教養【技術知識編】
https
://www.youtube.com/watch?v=Q1c09rrhTjo

奇をてらって、Laravel, Django を選ぶな。
転職先が多い、Ruby on Rails が有利

AWS EC2 はオワコンだから、Fargate を使えとか、
CircleCI, Github Actions, Terraform,
Nuxt.js, Type Script
0577デフォルトの名無しさん (ワッチョイ ff00-GCUU)
垢版 |
2022/05/16(月) 15:44:43.87ID:XfoCH0Ek0
>>575
えぇ……サーバサイドでも非同期役立つやん……。仕組みからしてシンプルにスケールさせやすいし、DBの返答待つ間にできる処理回すとかもお手の物。
Promiseやawaitある現代JSでは非同期は簡単に扱えるし、Rustのactix-webとかも非同期だよ?
0580デフォルトの名無しさん (ワンミングク MM1b-eHJy)
垢版 |
2022/05/16(月) 15:49:03.92ID:IoIRdAU7M
>>575
それは真逆
サーバーサイドは同期的にならない
様々なマイクロサーバー待ち、データベースサーバー待ち、ローカルファイルシステム待ち、など、これらを一つ一つ同期的に待つのは無駄だから非同期で並行処理させる
0590デフォルトの名無しさん (ワッチョイ 3be6-xCBC)
垢版 |
2022/05/16(月) 18:51:10.73ID:UTxfnI1i0
あとスレッド生成しないなら結局クソ重い処理をした時点で固まるんですよ
それが論外
スレッドにしてもスレッド生成のコストもバカ高い
データベース引くより遥かに重いことをやるメリットはなに?
Webサーバーの処理の中でやるとクソ重くなるというのはこういう意味ね
理解できたかな?
0591デフォルトの名無しさん (ワッチョイ 3be6-xCBC)
垢版 |
2022/05/16(月) 19:01:29.63ID:UTxfnI1i0
俺はプラグラミングモデルの話をしているんじゃない
速いか遅いかの話をしているんだよ
nodeが本当に速いならclusterモジュールなんかいらないのではないか?
0592デフォルトの名無しさん (ワンミングク MM1b-eHJy)
垢版 |
2022/05/16(月) 19:19:36.98ID:e/cRZO3XM
>>588
用語の使い方からおかしい
まずは並列(parallel)と並行(concurrent)の違いを勉強しよう
ワーカーを持ち出さない限りJavaScriptのコード並行処理
そして並行処理であってもした方が速くなる

>>590
例えば重い(遅い)サーバー2か所からデータを引っ張って来ないと自分のリクエスト元に返せない重い状況であっても
同期的に直列に処理するよりも並行処理した方が明白に速くなる
同期処理は悪
0593デフォルトの名無しさん (ワッチョイ ff00-GCUU)
垢版 |
2022/05/16(月) 19:31:25.09ID:XfoCH0Ek0
>>590
データベースが行っている事はCPUバウンドな処理だけじゃないんだよ。
それにCPUのマルチコアやネットワーク、ストレージを並行に使えば速くなるじゃないか。スループットにもレイテンシにも利くぞ。

>>591
clusterモジュールがやってるのはマルチプロセス化だ。スケールアウトの要だし、速かろうが遅かろうが必要なものだ。
0595デフォルトの名無しさん (オイコラミネオ MM49-ur9t)
垢版 |
2022/05/16(月) 19:55:58.84ID:AoVbevXWM
流石にIOバウンドでの非同期の必要性は理解できてるようだが
CPUバウンドの非同期については理解が足りてない

完全にCPUバウンドの処理AとBがあるとする
Aは終了までに100秒かかる
Bは1ミリ秒でおわる
多数のクライアントがABBBBBBB...とリクエストしたときを頭の中でシミュレーションしてみればはっきりわかる

シングルスレッドかつ完全に非同期だと全てのクライアントがAのせいで100秒待たされる
しかしここでAのアルゴリズムを変更しループ処理を分解して1秒に1回程度の頻度でawaitを挟むとする
するとAは1秒後にCPUを開けわたすのでCPUはAをいったん止めてBの処理を先に進めることができる
Bを実行したクライアントは1秒程度でレスポンスを得ることができるようになる
0596デフォルトの名無しさん (アウアウウー Sab3-xCBC)
垢版 |
2022/05/16(月) 20:01:55.65ID:m61O0R3fa
>>594
前提条件がズレてるから噛み合ってないんだと思う

まずクライアントに即座に結果を返す必要があるWebの処理では重い処理はしてはいけないのはその通り
重い処理はバッチ系に回すべきだし

そのバッチが並行処理というのなら並行処理は必要
分散環境での並行処理とプログラミング内での並行処理でもまた違ってくる
そういう意味でそれほどズレてはいない気がする

またフロントエンドはシングルスレッドでブロックする処理は厳禁
そういう環境で生まれたJavaScriptのPromiseとそれを元にしたrustのPromiseはAPIは似てるが実装は違ったりする

なかなか面白いテーマだ
0599デフォルトの名無しさん (ワッチョイ ff00-GCUU)
垢版 |
2022/05/16(月) 20:24:07.73ID:XfoCH0Ek0
>>595
あえて極端な例を出してるんだと思うけど、そこまででかい処理ならスレッドなり生成してOSにスケジューリングを任せるかな。

というか皆別々の単位で重い処理ってのを考えてそうな感じする。俺はms単位で考えてた。
0600デフォルトの名無しさん (アウアウエー Sa93-iKbs)
垢版 |
2022/05/16(月) 20:46:33.54ID:odRt9Swia
>>599
まぁ一般的にはCPUバウンドが高価な処理は他のサーバーに振るよね
フロントではそのタスクの終了が通知されるのを待つだけの話
で、この重い処理をクライアントで賄えたら、ってみんな考えるけどこれはこれでなっかなか難しいんだよね
0601デフォルトの名無しさん (ワントンキン MM1b-eHJy)
垢版 |
2022/05/16(月) 20:53:55.85ID:DE3tyBMGM
>>597
むしろNode.jsは好ましいものの一つと分かったはず

>>600
2箇所のデータ返すサーバーからデータを得てまとめてクライアントに返すといった普通の軽い処理の話だよ
Node.jsなどの非同期が楽に扱える言語で実装すれば並列に2箇所を待てるから軽くて速い
0602デフォルトの名無しさん (ワッチョイ bb01-/XEe)
垢版 |
2022/05/16(月) 21:50:31.18ID:nKEST01j0
ID:UTxfnI1i0の主張がとっちらかっててようわからん
同期非同期、ウェブサーバでの重い処理云々の話から
>速いか遅いかの話をしているんだよ
はイマイチ繋がりが読めない
0603デフォルトの名無しさん (ワントンキン MM3b-eHJy)
垢版 |
2022/05/16(月) 22:00:34.18ID:FZsPlm29M
いずれのケースでもサーバーサイドはローカルファイルシステム待ちや他のサーバー待ちがほぼ確実に入るのだから
それらを順次処理しかすることが出来ない同期プログラミングは不利
並行処理することが出来る非同期プログラミングは有利
0611デフォルトの名無しさん (ワッチョイ 9b2c-5/8R)
垢版 |
2022/05/17(火) 15:39:36.94ID:gaF/x0PY0
例えば、画像のサムネイルを作るような、CPU セントリックな処理は、
直接、App・Web サーバーで処理しない。
他のサーバーへ回す

AWS Lambda では、
1. 画像をS3 へアップロードする
2. それをトリガーに、Lambdaが起動
3. 画像のサムネイルを作成
4. そのサムネイルを別のS3バケットへ追加する

これを、Ruby on Rails のActive Storage では、Image Magick, libvips を使う。
Appサーバーを経由しない、ダイレクトアップロードもできる
0613デフォルトの名無しさん (アウアウウー Sab3-xCBC)
垢版 |
2022/05/18(水) 13:46:42.60ID:pBGsXlbta
>>608
俺の留守の間に好き勝手やってくれたようだな
仕事に忙殺されて見る時間がなかったわ

知ってないわけないだろ
むしろお前が今調べたんだろ
しかもそれだいぶ前だぞw

あと接続数の問題と「処理を捌ける」とは別物
全てが幻想の話なんだよ

後そもそもクラウド全盛時代に1台の性能や接続数を語ってもナンセンス

nodeが生まれた時代はクラウド全盛期前
アーキテクチャが古くても仕方ない
現に最近はC10K問題とか誰も言ってないだろ
nodeにやって解決されたわけじゃないぞ
0616デフォルトの名無しさん (アウアウウー Sab3-xCBC)
垢版 |
2022/05/18(水) 13:51:31.15ID:pBGsXlbta
あと勘違いしてるようだが俺はnodeの非同期がクソと言ってるだけで
一般的な非同期や分散環境を否定してるわけではなく
むしろそっちはやるべき派

それは上の俺の書き込みを見てくれればわかるだろう
0618デフォルトの名無しさん (アウアウウー Sab3-xCBC)
垢版 |
2022/05/18(水) 13:57:10.42ID:pBGsXlbta
C10K問題を今更出してきたということはもしかして
nodeの非同期を知らなかったということか?

恥ずかしい
流石にそれ恥ずかしい

議論の舞台にすら上がってなかったのかよ
0619デフォルトの名無しさん (ブーイモ MMe1-GCUU)
垢版 |
2022/05/18(水) 15:34:10.89ID:UHYN5VPTM
>>616
> 一般的な非同期や分散環境を否定してるわけではなくむしろそっちはやるべき派
> それは上の俺の書き込みを見てくれればわかるだろう

>>575
> サーバーサイドは全部同期的に動くのがベスト
> 同期で動いていかに早くレスポンスを返すかを設計するもの

嘘じゃんww
nodeの非同期が他とどう違って、それがどうして「サーバーサイドは全部同期的に動くのがベスト」に繋がるのかな?
0624デフォルトの名無しさん (オッペケ Sr6f-zs7H)
垢版 |
2022/05/20(金) 13:27:58.01ID:qat+Km1Or
vue3.2の記法ほぼsvelteじゃんw
0625デフォルトの名無しさん (スプッッ Sddb-nHzh)
垢版 |
2022/05/20(金) 17:07:04.18ID:Gup2SPuad
setupだとかreturnとか面倒くせえ
普及しないわけだ
新たに始めて覚えるあいだに古いやつで何本もアプリつくれるだろ
そうこうしてるとまた仕様をかえてくるループ
0627デフォルトの名無しさん (ワッチョイ 5b7d-0JVc)
垢版 |
2022/05/20(金) 21:38:26.64ID:icSQvEud0
recoilを使うと非同期でステータス更新する時のステータス管理が楽だな
contextを呼び出す書き方は、どのメソッドをオーバーライドするか覚えておくのが面倒だわ
0628デフォルトの名無しさん (ワッチョイ 1f18-bAjp)
垢版 |
2022/05/27(金) 01:45:51.49ID:B+c0w6Pq0
TSって意味ないだろ
型つけても速くなるわけじゃないし非生産的過ぎる
コード長くなって作るの遅くなるだけ
0629デフォルトの名無しさん (ワッチョイ 5a00-+hKh)
垢版 |
2022/05/27(金) 05:49:52.71ID:gss6SgrQ0
型推論あるから型をつけるのは(関数の引数やJSON等)データの出入り口くらいでそんなにコード伸びない。
生産性が落ちる要素は型エラーを消すべく型パズルに頭悩ませたり、バリデーションに気を使ったり、ビルドを組み上げたりする部分。
逆にインテリセンスや、厳格なコメントとしての型など、生産性が伸びる要素も多い。特に後から改修するときに凄く役立つ。
生産性は規模によるけど、悪くてもトントンで、むしろ上がる。
実行時エラーをほぼ消せるので枕を高くして眠れる価値はプライスレスw
あと地味にJSよりTSのコードの方が熟達者が書いてるケースが多く、玉石混交なネット上のソースを見るときに役に立つ。
0636デフォルトの名無しさん (スププ Sdba-/LZQ)
垢版 |
2022/05/27(金) 16:10:05.44ID:4jZnoEWod
20年前コンパイルできたのに不用品扱いだったのがJScript .net
どう見てもその矮小化版のTypeScriptなんてゴミに決まってんだけどな、今の若い子にはキラキラ見えてんだろうな。
0645デフォルトの名無しさん (ワッチョイ db02-O+bm)
垢版 |
2022/05/31(火) 03:28:55.50ID:yPBYm6AK0
昔から型書くの大変だから動的型付けにして書く量減らそうって流れだったのに逆行してるじゃん
型書いても結局周辺のコード見たり動作テストするんだから一緒だよ
型付けして動作が速くなるならまだしもそれすらないなら自己満感だけのオナニーコードだよ
0646デフォルトの名無しさん (ワッチョイ db02-O+bm)
垢版 |
2022/05/31(火) 03:41:46.94ID:yPBYm6AK0
賢者は歴史に学び愚者は経験に学ぶ
本当に賢い奴はJSを選択する
わざわざ余計なコードを書く必要はない。型付けはシステムに自動でやらせるべき。シンプルisベストだろ
0647デフォルトの名無しさん (ワッチョイ db02-O+bm)
垢版 |
2022/05/31(火) 03:44:02.74ID:yPBYm6AK0
動的型付けを否定するという事は自動化を否定するという事であり
システム自体を否定する事である
プログラム自体を否定するのと同じだ
0648デフォルトの名無しさん (ワッチョイ db02-O+bm)
垢版 |
2022/05/31(火) 03:45:51.50ID:yPBYm6AK0
型付け最高!はいつまでもオートマを否定しマニュアル最高!と言ってるようなもん
0650デフォルトの名無しさん (ワッチョイ 1300-215G)
垢版 |
2022/05/31(火) 05:59:57.13ID:5m0UDVmd0
型あり型無し好きなもん使えば良いよ。
ただ、型あり言語が自動化されてないってのは間違い。
型という情報をコンパイラやエディタに与えることで、自動でエラーを発見してくれたり、型演算で何が指定できるかを教えてくれたり、推論でそもそも書く必要が無かったり。少しの情報で色々自動化される。
0652デフォルトの名無しさん (ワッチョイ 33ba-3dJY)
垢版 |
2022/05/31(火) 07:37:20.95ID:HDbDKB3F0
一人で作る難易度の低い、使い捨てのツールならいいんじゃない?
逆に、ビジネスルールが複雑、複数人で開発する、寿命が長いシステムは型がないとしんどいだろ
0653デフォルトの名無しさん (スッップ Sdb3-1gLZ)
垢版 |
2022/05/31(火) 08:58:38.54ID:tbsCZ2HBd
ビジネスロジックが複雑なシステムは一般にバックエンドの比重が大きいから、フロントエンドの型の有無は実はあまり関係なかったりするね
バックエンドはTypeScriptだけどフロントはBabelなんてのも見たことある
しかしバックエンドとフロントで微妙に似て非なる言語を使うのは非効率なだけだしビルドパイプラインも無駄に複雑になる
現実にはフロントでのTypeScriptはBabelの代替として型緩めで運用されてるケースが多いんじゃないかな
0656デフォルトの名無しさん (ワッチョイ c918-A0bq)
垢版 |
2022/05/31(火) 14:57:29.43ID:zhmqFn8J0
型最高!とか言ってる奴は自分の書いたコードしか見てないだろ
自画自賛してるだけ
フロントの大規模開発でTSちゃんと書ける奴大量に集めるなんてそうそう出来ない

ってかフロントの大規模開発なんてそうそうないだろ
だいたい書く人は1人から3人程度で相当大規模でも対応出来る
0661デフォルトの名無しさん (ワッチョイ c918-A0bq)
垢版 |
2022/05/31(火) 18:17:01.89ID:zhmqFn8J0
TSスラスラ書ける奴3人なら結構色々出来るはずだけどな
そもそも狭い範囲を多人数でやり過ぎるのもやり難いからモノレポなりにして担当範囲分けた方が良いし
ますますTSの必要はなくなる
0663デフォルトの名無しさん (ワッチョイ c918-A0bq)
垢版 |
2022/05/31(火) 18:19:15.21ID:zhmqFn8J0
バックエンドPHPでフロントがJS系なんて腐る程あるだろ
GOとPHPじゃ生産性全く違うし動的型付け選択なんて十分有り得る
0665デフォルトの名無しさん (ブーイモ MMb3-1gLZ)
垢版 |
2022/05/31(火) 18:31:18.82ID:YqJEkN6cM
フロントの大規模開発ってページ数が多いだけだろ
ページがどんだけ増えようがデータとHTMLをマッピングするだけの単純作業なら複雑さは変わらん
もちろんSlackみたいなのを作ってるなら別だけどね
0668デフォルトの名無しさん (ワッチョイ c918-A0bq)
垢版 |
2022/05/31(火) 21:51:29.48ID:zhmqFn8J0
座標とか使うようなSPAの利点を最大限活かした案件もあるよ
実装が面倒臭いけど
0669デフォルトの名無しさん (オッペケ Sr8d-RWID)
垢版 |
2022/05/31(火) 22:00:51.71ID:ZjE3sOpEr
大規模案件やってるが基幹システム作ってる
ページというよりコンポーネント設計だな
DBがかなり複雑でそれに合わせて画面開発
コンポーネント同士が連動しているからSPAは開発しやすい
バックエンドはJava
0670デフォルトの名無しさん (アウアウウー Sac5-2OYr)
垢版 |
2022/06/01(水) 02:25:46.92ID:RZ0pdB/da
ランサムウェアω
0671デフォルトの名無しさん (テテンテンテン MMf3-/Y6p)
垢版 |
2022/06/01(水) 16:11:23.75ID:iljtBqMLM
上の方でもチラッと出てたけどやっぱSolid書きやすそう
特にグローバルステートが簡単に管理できるのがいいね

> React大好き侍が、「もうSolidJSでいいじゃん...//」ってなったワケ。
https://qiita.com/shadowTanaka/items/b6d00863a8d6bff37de6
0673デフォルトの名無しさん (オイコラミネオ MM9d-rAsz)
垢版 |
2022/06/01(水) 16:22:24.05ID:NWuIkMTqM
hookがトップレベルにしか書けないのと依存関係を明示的に書かなければならないのは大きな問題だなと思ってたのでそれがなくなるなら移行も有り
ただ不安なのはコミュニティの体力かな
0674デフォルトの名無しさん (ワッチョイ 1300-215G)
垢版 |
2022/06/01(水) 17:54:05.20ID:3TH9rjN40
hookがトップレベルで書けないのが問題って言う人定期的に出てくるけど、どうもピンと来ない。
全部入りコンポーネント作ったりとか大量の副作用とか使ってるん?
0677デフォルトの名無しさん (ワッチョイ 915f-j/7b)
垢版 |
2022/06/01(水) 19:38:12.90ID:ZW9EXEMi0
reactのhooksは不安定な動作をする可能性のある副作用を制約をかけてトップレベルでしか書けなくすることによって、副作用の位置を明確にして問題が起こったときに検証がしやすくなることとリファクタリングをしやすくすることを意図してるんじゃないかと思ってた
色んな場所にhooksを書けるのは実装者からすると余計な事を考えなくて有り難い反面、バグが起こった時の検証が難しくなりそうだな
0678デフォルトの名無しさん (ワッチョイ 2bdb-H4ho)
垢版 |
2022/06/01(水) 21:16:56.65ID:RNvmCeiV0
SvelteはVercel所属?だからコミュニティの心配はいらないかな
0679デフォルトの名無しさん (オッペケ Sr8d-H/X0)
垢版 |
2022/06/01(水) 22:09:33.29ID:D3DTdHsxr
>>671
グローバルはjs側の機能の範疇で
Reactが提供する機能の範疇ではないのでは?

グローバルで事足りる要件なら
関数コンポーネント内から直接参照すれば良いだけの事

自分の案件でも普通にやってる
・オーバレイのz-infex管理など...
0684681 (ワッチョイ c149-7xaa)
垢版 |
2022/06/10(金) 10:56:49.67ID:oWRVbruQ0
結構センス問われてる気がするのよね、ここら辺の話って
ルールがチームとかで決まってればええんやろけど
ちょうどいい規模のサンプルプロダクトとかあるんやろか
0686デフォルトの名無しさん (ワッチョイ cfdb-Svxu)
垢版 |
2022/06/12(日) 02:38:19.31ID:xIPwck+O0
atomic designに則って分割してるけど、手段が目的になってしまってる感が否めない…
0687デフォルトの名無しさん (ワッチョイ 835f-oQQK)
垢版 |
2022/06/12(日) 08:49:41.68ID:Y+c9BfQC0
atomicデザインの考え方に沿ってコンポーネントを分割すると、いつもtemplatesが上手く使えない・・
ヘッダーとフッターを組み合わせた奴くらいしか思いつかず、それ以外はtemplatesをすっ飛ばしてpagesで作ってしまう
0688デフォルトの名無しさん (ブーイモ MM27-yOxI)
垢版 |
2022/06/12(日) 09:11:25.59ID:N7dUL5JoM
アトミックデザインは何がなんでも同じ構造にしなければということもないと思うけどね
考え方は尊重して規模や複雑さに応じてアレンジする方が無理がないかと
0689デフォルトの名無しさん (ワッチョイ cf10-kwj9)
垢版 |
2022/06/12(日) 21:30:15.09ID:0NUDDDe+0
今@vue/cli 4.5.17でVue2作ると
vscodeでブレイクポイントがずれまくりになるんだけど分かる人いない?
前にできてたときのsourceMapPathOverridesを
"webpack:///./src/*": "${workspaceFolder}/src/*"だと
ブラウザからみてみると違うソースになってるからそりゃダメだなーと
こうなるとよく分かんないよ
0690デフォルトの名無しさん (オッペケ Sr87-SBIp)
垢版 |
2022/06/13(月) 00:15:25.65ID:410Jv8C6r
バージョンによらずズレたりズレなかったりそもそもブレークポイント張れなかったりでいまだにベストプラクティスにたどり着けない
上手く行かないときは諦めてブラウザ側でブレークポイント張ればいいやってなってる
0691デフォルトの名無しさん (ワッチョイ cfdb-Svxu)
垢版 |
2022/06/16(木) 21:35:52.08ID:oBLYbQji0
pinia良いね
Recoilといい、脱Fluxの流れかな
0693デフォルトの名無しさん (ワッチョイ 9f18-PcY2)
垢版 |
2022/06/18(土) 17:37:01.85ID:EyuLKQ5W0
普通のHTMLのページならVueやReactにするメリットがあまり感じられないんだけど
ユーザ体験も変らないしLaravel辺りで作った方が早くてメリットあるように見えるんだが
0694デフォルトの名無しさん (ワッチョイ 9f18-PcY2)
垢版 |
2022/06/18(土) 17:38:49.17ID:EyuLKQ5W0
今フリーで単価70くらいなんだけど最近の相場ってどれくらいなの?
何年も同じ単価でやってるから最近の動向を知りたい
スキルは最近はフロントばかりだけどバックエンドも出来る
0698デフォルトの名無しさん (ワッチョイ 9f18-PcY2)
垢版 |
2022/06/18(土) 22:06:07.63ID:EyuLKQ5W0
>>697
1人月70万円だね
0701デフォルトの名無しさん (ワッチョイ 9f18-PcY2)
垢版 |
2022/06/20(月) 10:46:29.83ID:hyV4eMot0
>>699
フロントでフリーなら月100万くらいが最近の相場って事?
>>700
エンジニアが受け取るのが70万であって企業側はもっと出してると思う
多分90万は出してる
そうすると1人月○万という表現ではないかも

フリー歴は7年くらいでバックエンド、フロントやらサーバーやらはだいたい出来る
0703デフォルトの名無しさん (ワッチョイ 9f18-PcY2)
垢版 |
2022/06/20(月) 12:06:25.33ID:hyV4eMot0
>>702
エージェントかましてるからクソには当たらないな
エージェントかまさないと金払い悪かったり色々面倒だよ
0705デフォルトの名無しさん (ワッチョイ 9f18-PcY2)
垢版 |
2022/06/20(月) 13:03:46.78ID:hyV4eMot0
>>704
エージェントによると思うけど良いエージェントならそもそも良くないクライアントは紹介して来ないと思う
自分のところで何かあると悪評が立って使って貰えなくなるからね
0706デフォルトの名無しさん (ワッチョイ da7c-sER5)
垢版 |
2022/06/21(火) 10:30:45.92ID:rSaY5HO90
BtoBの相場でフリーランスがそのまま貰える訳ないやんw
100万とか言っても結局エージェントなり間に何か入るのだからそれで70万とかになる訳でw
直契約でも出来れば高単価になるかもなーw(ハナホジw
0707デフォルトの名無しさん (アウアウウー Sa47-PcY2)
垢版 |
2022/06/21(火) 21:38:04.95ID:kBzft3wpa
フロントのフリーの人あんまりいないのかね
最近人手不足が酷いと聞いてたから単価上がってるのかなと思ったんだが
0708デフォルトの名無しさん (ワッチョイ a75f-fIZV)
垢版 |
2022/06/22(水) 21:26:08.93ID:JRkIVgOU0
>>707
単価と製品知識は連動しない。単に知識があるやつはむしろやばい。
0709デフォルトの名無しさん (ワッチョイ e301-643o)
垢版 |
2022/06/23(木) 16:34:37.74ID:nLf+eJkE0
solidjs覗いてみたんだけどどうせgetterに変えたんだからhooksに寄せた
const [state, setState] = createSignal(0);
じゃなくてsvelteっぽく
const state = createSignal(0);
参照 state()
更新 state.set(1)
にしてくれてたらさっぱりして良かったのに残念
0711デフォルトの名無しさん (ワッチョイ cf18-nPhW)
垢版 |
2022/06/30(木) 10:41:00.22ID:9vHoAPAv0
ReactとTSの組み合わせはエンジニア殺しな気がする
出来ない事はないが無駄にしんどい
これで現場変えてる人結構いそう。Vueの方が採用されるケースは今後も多いだろうな
0714デフォルトの名無しさん (ワッチョイ cf18-nPhW)
垢版 |
2022/06/30(木) 11:36:42.16ID:9vHoAPAv0
>>712
普通のところは型付けも問題ないけど
ReduxとかContextAPIとか外部モジュールとかの型付けとかかな
頑張れば出来るけどこれ意味あるの?感が凄い
0715デフォルトの名無しさん (ワッチョイ cf18-nPhW)
垢版 |
2022/06/30(木) 11:41:37.50ID:9vHoAPAv0
>>713
ReduxとかContextAPIとか型付けして意味あるの?と感じるんだが
JSなら無い苦労してまで得られるリターンに見合わなく感じる
0719デフォルトの名無しさん (ワッチョイ 4f5f-N/YD)
垢版 |
2022/06/30(木) 19:35:58.43ID:6sehYChL0
>>718
AngularがTypeScriptだから、Google社もマイクロソフト社もTSなら、TSが主流になるのはあたりまえ。
0721デフォルトの名無しさん (ワッチョイ cf18-nPhW)
垢版 |
2022/06/30(木) 20:02:10.83ID:9vHoAPAv0
TSはサーバーサイドなら主流になる可能性はあるな
フロントではならないと思う
0722デフォルトの名無しさん (ワッチョイ cf18-nPhW)
垢版 |
2022/06/30(木) 20:13:41.28ID:9vHoAPAv0
Next.jsはVercel依存が大きいな
Reactも含めて将来怪しい気がする
0726デフォルトの名無しさん (ワッチョイ 4f5f-N/YD)
垢版 |
2022/07/01(金) 00:46:49.64ID:oYJ8x66X0
プログラミング言語のスレッドだと勘違いしているおっさんが続出
0727デフォルトの名無しさん (ワッチョイ cf18-nPhW)
垢版 |
2022/07/01(金) 09:35:10.76ID:6aoBhuJf0
>>725
リファクタリングでもJSで問題無いだろ
どうせソース見るし
0728デフォルトの名無しさん (アウアウエー Sabf-c2vV)
垢版 |
2022/07/01(金) 17:11:27.34ID:R7kYgAoSa
ネットだとts絶対許さないマンよく見るけど現実だとお目にかからないよね
0729デフォルトの名無しさん (ワッチョイ 3f7c-tCSL)
垢版 |
2022/07/01(金) 18:12:27.71ID:x/bCmdBF0
絶対許さないとまでは言わんけど無駄やんw
フロントエンドで何でそんなもの使わなきゃいかんのやw
CoffeeScript何かを有難がってた奴らが使ってそうだしw
どうせTS何か10年後には終わってるよ
0730デフォルトの名無しさん (ワッチョイ 3f00-gioU)
垢版 |
2022/07/01(金) 18:59:43.92ID:5HWkDFYv0
CoffeeScriptがあっという間に廃れたのはJS自身が(CoffeeScriptの機能も吸収して)進化したことと、より良いTSが幅を効かせたことが大きい。TSが死ぬとすれば、それを成すのはより進化したJSか、TSの上位互換言語の台頭だ。
つまり進化は地続きで、TSを学んだり使うことは無駄にならない。もっと言えばTS使い的には歓迎すべきことですらある。
まぁでもMSが力入れてるし採用率もかなり高いし、10年そこらでは死ななさそう。
0732デフォルトの名無しさん (アウアウエー Sabf-c2vV)
垢版 |
2022/07/01(金) 22:19:19.96ID:R7kYgAoSa
tsとか無駄やんとか言える無邪気な開発僕もしたい
0735デフォルトの名無しさん (ワッチョイ c718-n3Js)
垢版 |
2022/07/02(土) 00:56:43.37ID:RDvzx2LC0
圧倒的にJS採用の方が多いだろ
TSはこのままずっと低空飛行だよ
0736デフォルトの名無しさん (ワッチョイ 4a00-h/XP)
垢版 |
2022/07/02(土) 05:55:38.97ID:eKS9e1d80
確かにガッツリjsdoc書いてあればまぁいいかなと思うけど、むしろTSより面倒くさい上に表現力足らなくない?

>>735
古典的な静的ウェブサイトも含めりゃそうだろうけど、スレタイのライブラリ使うようなウェブアプリ界隈では低空飛行とは言えないと思う
0743デフォルトの名無しさん (ワッチョイ a3cf-vrx9)
垢版 |
2022/07/02(土) 14:43:46.64ID:MgQFVCuv0
「嫌になったんだろうな」って話に脈絡がないからこれがどこから出てきたのかってことだよ。
MSがTSを嫌になったと思わせるような話がなにか出てきたっけ?
0744デフォルトの名無しさん (オッペケ Sr23-nd1h)
垢版 |
2022/07/02(土) 15:18:50.99ID:PDy9af/xr
>>743
そっかすまんね
TypeScriptに関するVSCodeのアップデートみてると「これ以上解析するの苦しいから助けて」っていうメッセージが頻繁にあったんだよね
最近はしらんけど
まあオープンソースだし当たり前なんだが

そもそもTypeScriptもVScodeもMSが開発してるのに別の提案をしてきてるってことはTypeScriptがダメって自ら認めているようなもんじゃね?
0745デフォルトの名無しさん (ブーイモ MMc6-7kop)
垢版 |
2022/07/02(土) 15:36:48.98ID:P5MS37aDM
アロー関数とかasyncとかモダンなJavaScriptの構文ってだいたいMS主導の提案だろ?
そもそもTypeScriptはJavaScriptを改善していくためのPoCの役割を担っている言語で、TypeScriptが必要なくなるのはMSにとっても望ましいことなんだよ
0746デフォルトの名無しさん (ワッチョイ ca7c-auNL)
垢版 |
2022/07/02(土) 15:46:38.12ID:vAnwNkKL0
>>741
それ分からないって頭弱くね?w
そもそもjsのライブラリなのにjsで書けないってw
あ、書けないじゃなくて書かないって言いたいんだろうけど
お前みたいなのは書けないと同義なんだよなw
0747デフォルトの名無しさん (ワッチョイ a3cf-vrx9)
垢版 |
2022/07/02(土) 15:50:51.08ID:MgQFVCuv0
>>744
なんかぼんやりした話だな。tsserver事態のメンテはvscodeチームとは関係ないだろうし何の話だろう。
仮にそれが事実だとしても嫌になったのはvscodeチームがであってMS自身がってことじゃじゃないよな。

「別の提案」ってのがまた話の脈絡がわからないが、こっちはTypes as Commentsの話?
0749デフォルトの名無しさん (ワッチョイ 4a00-h/XP)
垢版 |
2022/07/02(土) 16:49:58.49ID:eKS9e1d80
Types as Comments なんてまさにTSの発展形なわけで、TS学んで有利になりこそすれ、損は無いよなぁ。

TSは言語仕様を見れば必要以上に便利な演算やマクロ化は避けてあるから、ある程度で解析打ち切りってのは異常でもなんでも無いように感じる。
0754デフォルトの名無しさん (ワッチョイ 4a00-h/XP)
垢版 |
2022/07/02(土) 18:21:20.76ID:eKS9e1d80
プレゼンテーション層で型エラー出して遷移が発生しなかったり変なデータ表示したらユーザが誤解して結果的に間違った操作するから、どっちも大事だよね。
つかビジネスロジック一切触れなかったら何も操作できないじょん
0759デフォルトの名無しさん (ブーイモ MMc7-SGcD)
垢版 |
2022/07/02(土) 21:41:40.49ID:BrGj2XHMM
いつの間にかフロントにビジネスロジックを書くかどうかの議論になってるけど
ビジネスロジックを書くなら型必要、そうでないなら不要って合意がされたんだろうか
そうでないならそこを議論しても意味ない気がするけど
0762デフォルトの名無しさん (ワッチョイ 4a00-h/XP)
垢版 |
2022/07/03(日) 00:14:35.00ID:eO2MvCIb0
フロントだけでアプリが作れるように見えるFirebase/Firestoreも実はセキュリティルールとかあるし、本気で活用するならFunctionsとの連携が必要とかもあって、フロントだけでもない
0764デフォルトの名無しさん (オッペケ Sr23-nd1h)
垢版 |
2022/07/03(日) 02:57:16.56ID:anFeH3zOr
そんなこといったらデスクトップアプリはフロントだけじゃん
単にコンパイルされて中間ソースがあるだけでツールで簡単に逆アセできてしまう
そのために高い難読化サービスがあるわけで
0767デフォルトの名無しさん (ワッチョイ 3aba-d8E0)
垢版 |
2022/07/03(日) 09:33:34.86ID:8+Zm1fQX0
>>766
ビジネスロジックなしでも型は必要でしょってことね
プレゼンテーションロジックでも型が必要なのは納得しました
0768デフォルトの名無しさん (ワッチョイ ca7c-auNL)
垢版 |
2022/07/03(日) 19:39:30.15ID:SOqg0ON00
単に型があればVisualStudioCodeなどでインテリセンスが働いて楽とかそんなもんで
そもそもフロントエンドなら大抵はサーバー側とjsonでやり取りするだろうけど
それを表示するだけのフロントで全てのAPIのjsonをクラス化するのかよwって所がねw
ツール使えば自動で吐き出されるとか言うのかも知れんがw
C#(Unity)とかだとクラス化した方がコードは書きやすいけど
0769デフォルトの名無しさん (ワッチョイ 035f-9ZeA)
垢版 |
2022/07/03(日) 20:00:04.80ID:dvm8Yx0S0
クラスというよりはインタフェースを定義するって感じかな
ただそれだと結局型安全じゃないキャストをすることになるから
io-tsとかライブラリを使ってAPIがそれを満たしてるかを動的検証できる型情報を定義してる
0770デフォルトの名無しさん (ワッチョイ a3cf-vrx9)
垢版 |
2022/07/03(日) 20:00:41.12ID:4SpX/mYh0
>そもそもフロントエンドなら大抵はサーバー側とjsonでやり取りするだろうけど
>それを表示するだけのフロントで全てのAPIのjsonをクラス化するのかよwって所がねw

なんか、「フロント」の認識に大きな隔たりがあるのを感じた。
0774デフォルトの名無しさん (ワンミングク MMfa-JRD0)
垢版 |
2022/07/03(日) 23:02:35.18ID:R2Xlh7GwM
>>771
狭い特定なパターンの型とクラスを持つプログラミング言語だけしか知らないとそこに陥りやすいかもね
例えばWebに身近なところだとWebAssemblyを書くのに最も使われている言語Rustあたりを理解すると何もかも新鮮で一気に視野が広がるかな

Rustはクラスも継承もない
それなのにメジャーな各言語よりも強力で便利で速い静的な型安全を実現している
C/C++と同じ速さで動くのに即時自動メモリ解放なのでミスは起きず安全でガベージコレクションが必要なく高速な初のプログラミング言語
実行前にメモリ安全性からデータ競合の無さそして全ての型安全まで全てをコンパイラが静的に保証してしまう言語がRust

フロントエンドでJS/TSメインで補助的にWasmを使う従来のスタイルから
フロントエンド全てをRustで記述してWasmで動く新たなスタイルまで登場してきているので
今後のフロントエンドの進化でも注目点
0775デフォルトの名無しさん (アウアウエー Sa82-5Nuq)
垢版 |
2022/07/04(月) 13:41:23.28ID:jO1cee2ga
関係ない話を突然ぶっこむ人っているよね
0778デフォルトの名無しさん (ブーイモ MMc7-7kop)
垢版 |
2022/07/05(火) 09:27:05.92ID:7ktCWAiNM
>>777
そう言っとかないと炎上して面倒だからでしょ
世間で実際に置き換わるかどうかと置き換えとして使用できるかどうかは別問題で、
少なくとも後者についてはwasmの公式及び信奉者達は実現するつもりだろうな
0784デフォルトの名無しさん (アウアウエー Sa82-YLMx)
垢版 |
2022/07/05(火) 17:15:47.11ID:qwaP2fx0a
wasmおじさんまだいるのかよ
wasmスレでやりなよ
0785デフォルトの名無しさん (ワッチョイ c718-n3Js)
垢版 |
2022/07/05(火) 23:36:47.01ID:vcOl+iQ90
TS型パズルのせいで終業遅れて趣味の時間が削られまくったわ
地味にイライラする
0786デフォルトの名無しさん (ワッチョイ c718-n3Js)
垢版 |
2022/07/05(火) 23:42:50.14ID:vcOl+iQ90
Nextjsは細かくサーバー処理とクライアント処理分けられるけどここまでやる必要あるのかね
無駄に突き詰めすぎな気がする
せいぜいLaravelとVue程度で良いだろ
0788デフォルトの名無しさん (ワントンキン MMfa-ITmr)
垢版 |
2022/07/05(火) 23:59:36.80ID:8EE7RMvOM
>>777
その通りでWasmはJavaScriptの機能を代替しない
例えばDOM操作をWasmから直接することはできない
そのため各種プログラミング言語で書かれたWasmのプログラムいずれにも補助となるJavaScriptのプログラムが付随している
したがってWasmからは間接的にDOM操作を含めて任意のことができる状況となっている

例えばC#だけでSPA含めたフロントエンドを記述できるフレームワークBlazorや
同様にRustだけで記述できるフレームワークYewなど
様々な各言語だけで記述できるフロントエンドのフレームワークがJavaScriptのフレームワークの競合となりつつある
特にRustで書かれたものはガベージコレクションや重い(or大きい)実行ランタイムを必要としないため
ダウンロードサイズの点でも実行速度の点でも従来のJavaScriptと比べてほぼ同等となっている
0789デフォルトの名無しさん (ワッチョイ 4a00-h/XP)
垢版 |
2022/07/06(水) 00:12:04.30ID:mL802MxZ0
>>788
WasmからJSを呼び出すオーバーヘッドやGCの無いRustで書いてすらJSで書いた場合よりダウンロードサイズが増えることを意図的に無視してない?
まして所有権に気をつけながらRustで書くのと平坦にJSで書いたものが等速では意味がない。つまりWasmを使うべき場面はそこじゃない。
「その通りで」と言いながら元の文章の意味を都合よく無視した持論を展開するのは詭弁だよ。
0790デフォルトの名無しさん (ワッチョイ 1ea7-8lRc)
垢版 |
2022/07/06(水) 00:47:45.67ID:hw0Myq7K0
next.jsってvercelとの抱き合わせ?
0793デフォルトの名無しさん (ワッチョイ 1e10-SGjz)
垢版 |
2022/07/07(木) 13:52:13.98ID:Q+wrLXon0
案件でReactとVueどっちも触ることがあるんだけど、Reactなんか好きになれないなあ

なんかref使ってDOMを意識しなきゃいけないこと多くない?
案件の性質の違いでたまたまそうなんかなあ
depsとかもバグの温床だし書き方冗長だし
それが好きな人もいるんだろうけど

あとVueのtemplateはいいよね。HTMLそのままだし
tsと相性良ければなあ
0794デフォルトの名無しさん (ワッチョイ 23ad-2HoA)
垢版 |
2022/07/12(火) 14:55:23.91ID:xMX52/DP0
>>793
refよりはstateの方が使う
ref使わなくてもいい場面で多分ref使ってる
canvasとか埋め込みプレーヤーとかwysiwygのエディターとか操作するときはref使う
depsはhooksのlintのパッケージがあってそれ使えばバグは余裕で回避できる
0795デフォルトの名無しさん (ワッチョイ bdda-Mpvu)
垢版 |
2022/07/13(水) 01:59:12.26ID:41tA/9He0
ずーっと業務でGoとかのバックエンドやってて最近Vue始めたんだけど書き方多すぎないかこれ...?
まずOptionsAPI、CompositionAPI、script setupと3つある時点で意味わからん。ネットで検索してもコードが読めん。慣れてないだけ?
0799デフォルトの名無しさん (ワッチョイ 9b4a-jCtK)
垢版 |
2022/07/13(水) 10:37:48.05ID:izDlcYF60
ref使わなくていいとこで使っちゃう人はvue使っても同じことになりそう
0803デフォルトの名無しさん (ワッチョイ a300-JUTL)
垢版 |
2022/07/14(木) 18:30:18.24ID:H3yOuDPs0
>>801
この記事の主が表層的にしかReact理解してないから、コメントで突っ込まれまくってるな。しかも後半は技術じゃなくてMetaが嫌いって話してるし。
まぁでも、こういうやんちゃな奴がいる界隈は活気があって良いですよ。石頭でさえなければね。
0806デフォルトの名無しさん (ワッチョイ 0d01-Juit)
垢版 |
2022/07/17(日) 09:41:45.81ID:SW0KkSnM0
普段Vueディスってんのにreactディスられたとたん発狂する奴多くない?
0807デフォルトの名無しさん (ブーイモ MM0e-9G5L)
垢版 |
2022/07/17(日) 10:13:01.49ID:k8G1Xh4yM
記事にツッコミどころが多いだけでしょ
VueはReactに比べるとコンセプトがstraightforwardなので、良くも悪くも「そういう設計を選んだんだからそうなるよね」で議論が済んでしまう
だからこの記事みたいな設計思想に対するディスはあまり見かけない印象
0808デフォルトの名無しさん (ワッチョイ 9de6-eg+2)
垢版 |
2022/07/17(日) 11:24:22.33ID:vN6ol9NM0
仮想DOMにオーバーヘッドがあるの事実だしな
だからsvelteやsolidが生まれた
普段からパフォーマンスにうるさいフロントエンドエンジニアが
そこには目を瞑るのはおかしいだろうのは痛いところ突っ込まれた感じ
0812デフォルトの名無しさん (ワッチョイ 1a00-/SbN)
垢版 |
2022/07/17(日) 15:17:25.63ID:D8ZilbuM0
XHPというPHPのライブラリが元になった部分があるだけで「クライアント側のPHP」を目指したなんて事実は無いぞ。
仮に「クライアント側のPHP」という機能を目指したとして、実装としてのパフォーマンスに何の関係があるんだ?
自分の言いたいことのために都合の良い過去を作り出した上に変なこじつけをするな。完全に詭弁じゃないか。
0813デフォルトの名無しさん (アウアウウー Sa39-eg+2)
垢版 |
2022/07/17(日) 15:24:26.00ID:SZhCYswta
>>812
PHPみたいにというのはつまりカスタムタグ使って
ページを毎回再レンダリングしているように作りたいってことだよ
サーバーサイドがそうしているようにね
その副産物として仮想DOMやJSXが生まれた
0816デフォルトの名無しさん (アウアウウー Sa39-eg+2)
垢版 |
2022/07/17(日) 18:40:14.41ID:SZhCYswta
まずPHPといってるがfacebookの人がPHPと言ってるからそう言ってるがサーバーサイドと言い換えるべきものだよ(ご存じの通りfacebookはPHPのヘビーユーザー)

クライアントからリクエストを受けたらサーバーサイドは
HTMLを全て「生成し直して」レスポンスを返す
前回の状態など意識せず全て情報を取り直してHTMLを生成する
当たり前だが前回の状態との差分を取って部分的にHTMLを返すなどということはしない
常に丸ごと返す
このモデル(HTTPだが)の良いところはHTML生成といううコンテキストにおいては前回の状態と言ったものは意識しないで済むこと
最新の状態を取ってそれをもとにHTMLを生成すればよろしい

当時のフロントエンドはDOMに状態を持たせてajaxはその状態を更新して対応するDOMを更新するというアプリが大多数だった
フロントエンドもサーバーサイドのように状態を意識せずに関連するDOMを毎回全部生成できないか?という発想が生まれる
React誕生の瞬間である

renderとstateを使って状態が更新されたらどの部分を更新するか一切意識することなく常に一枚岩のDOMを返すようにかける
見事サーバーサイドをクライアントに持ち込めた
ただしこの動きを実現するためには差分を内部的に検出する仕組みが必要不可欠
本当に毎回DOMを全部生成してたらパフォーマンスが終わる
ユーザーはDOMを意識せずに全部返すように書くが
裏で差分を検出してこっそり部分的にDOMを書き換えるようにしよう
仮想DOMの爆誕である
そうなるとJSXみたいなものが必要だよねとなってJSX爆誕
これがReactの歴史である
知らんけど
0819デフォルトの名無しさん (アウアウウー Sa39-eg+2)
垢版 |
2022/07/17(日) 19:49:44.56ID:SZhCYswta
仮想DOMのオーバーヘッドを許容しても
丸ごと全部DOMを返すようにかけるメリットがあまりにも大きい
お前らも大規模アプリにおいてはこの書き方がいかに素晴らしいかわかってるよな?
facebookクラスになると何千という状態があるだろうし
それを宣言的にかけるメリットの方が遥かに優先される
仮想DOMがゴミと言ってるやつはデメリットだけを見過ぎ
上に書いたようなメリットがデメリットを上回るのよ
ギャーギャー騒いでる奴らはしょぼい管理画面とかしか実装してないだろうからデメリットばかり見えるんだろう
0821デフォルトの名無しさん (ワッチョイ 1a00-/SbN)
垢版 |
2022/07/17(日) 20:06:33.34ID:D8ZilbuM0
結局仮想DOMのパフォーマンスに文句言ってんのがReact書いたこと無さそうな人ばかりなのよね。こういうシステム書くと何秒かかってユーザー体験が悪い、みたいな具体的な話が無い。
0822デフォルトの名無しさん (アウアウウー Sa39-eg+2)
垢版 |
2022/07/17(日) 20:07:30.57ID:SZhCYswta
上に書いた歴史を踏まえればなぜReactは毎回コンポーネントをレンダリングしようとするの?とか
仮想DOMのオーバーヘッドが無駄じゃね?と思ってる人は
その理由が全部理解できたと思う
0823デフォルトの名無しさん (オッペケ Sr75-sZ81)
垢版 |
2022/07/17(日) 20:50:04.60ID:FtkU6BrHr
おれは業務基幹システムのフロントをReactで作ってる
業務では全国の数百人が一日中ガシガシ操作するのだがReactで作ってよかったと思ってる

数百のコンポーネントを俺一人で作り上げた
画面の中には多数の分割されたコンポーネントやモーダルウィンドウが表示され、格コンポーネントがリアクティブに反映され、さらにcssやcanvasで視覚的に描画もしてる

これを俺一人でAtomicデザインからコンポーネント、ビジネスロジックまですべて設計して開発した
0831デフォルトの名無しさん (ワッチョイ 615f-hyxP)
垢版 |
2022/07/18(月) 17:57:02.34ID:7ni5jFGl0
React Native、Flutter、Vueを触ってきて最近Svelteでサクッとアプリ作ったけどSvelte一番好きだわ
Vue3のComposition APIをさらに簡潔にした感じでマジでわかりやすいReactのJSXやFlutterのWidgetが大嫌いだから余計にそう感じる
ただ一番マイナーでエコシステムが弱いんだよな特にコンポーネントライブラリでデザインが良いのがSvelteUIくらいしかないんだがまだ始まったばかりでぜんぜん実用に耐えない
0832デフォルトの名無しさん (アウアウウー Sa39-eg+2)
垢版 |
2022/07/18(月) 19:50:28.15ID:7HaFqkS9a
むしろサクッと作る場合こそReactがベスト
関数作ってuseStateで状態作ってJSXをreturnすれば終わり
フォームもcreateRefとか使えば深く考える必要もない
何も考えなくて良い
0833デフォルトの名無しさん (ワッチョイ f6db-q6UQ)
垢版 |
2022/07/18(月) 22:09:27.02ID:Ggy5Lh6B0
>>831
SvelteKitが1.0に到達したらもっとエコシステム等が充実すると思う。
0836デフォルトの名無しさん (ワッチョイ 1a00-/SbN)
垢版 |
2022/07/19(火) 11:50:07.11ID:Ah8Bn+D60
ちょっとしたフォームを考えてみる。大項目A中項目B小項目Cがある。項目リストはRESTで取得する。
Aが選択されたときBのdisabledが外れoptionがセットされる。BとCの関係性も同様。Bが変更されたとき、Cのselectedはキャンセルされ、optionは再度セットさせる。ではCが選択された後にAを変更するとどうなるか。BとCのoptionが再セットされCはdisabledになる。A~Cは他の項目にも影響を与える。今後Cの下に項目Dが追加されるかもしれない。
見た目は簡単なフォームだが既に面倒くさい。こんなのグローバルな状態を使って管理したくない。俺はReact(Preact)を使って楽をする。
0838デフォルトの名無しさん (ワッチョイ 1a00-/SbN)
垢版 |
2022/07/19(火) 12:28:49.83ID:Ah8Bn+D60
あぁごめん。他のライブラリでも全然良いよ。React程は詳しくないから書かなかっただけで。
何も無しよりはずっと楽だからライブラリ使っちゃうよね、ぐらいに思ってくれ。
0839デフォルトの名無しさん (オッペケ Sr75-CXbj)
垢版 |
2022/07/19(火) 13:48:12.52ID:EJF9eOI8r
間違ってたら指摘してほしいんだけどReactで開発してて一番嫌なのが状態管理をMeta(Fb)が実装しないでコミュニティに丸投げしてるところなんだよね
なによりReduxってどこがいいのかまったくわからない
冗長なボイラープレート満載かつどこをロジックの場所にするかプログラマーによって解釈が異なるし
結局Viewでhook使いまくりになって疎結合とは?になる
0842デフォルトの名無しさん (アウアウウー Sa39-eg+2)
垢版 |
2022/07/19(火) 18:59:17.30ID:CnRmwysFa
>>839
いまだにそこに文句を言ってるのが凄い
状態管理に銀の弾丸はないのよ
「Hooksを用意したからお前らで適切なものを作れ」

これがMetaが行き着いた結論であるし
実際これはすごく良く機能してる

とりあえず生useStateでサクッと作る
→複雑になってきたからカスタムフックをつくる
→コンポーネント化出来そうだからコンポーネントに切り出す

この開発サイクルがどのフレームワークより優れているのよ
実際ここまで拡張しやすいのはHooksとコンポーネントとJSXの親和性良さ故なのだが
0844デフォルトの名無しさん (オッペケ Sr75-CXbj)
垢版 |
2022/07/20(水) 07:25:51.14ID:0ymUel2Or
>>840
Recoilがあるんだが?知ったかおバカさん?

>>842
そもそもViewが状態を持たないから依存関係がなく疎結合でReactすごい!って信者の常套句だったのだが?
結局Reduxのストアという状態管理の煩雑さ・スコープの問題からContext APIでよくね?ってウェブあるあるの先祖返り起こす一派もいるけどそっちはそっちでやっぱり問題あって
そして出てきたRecoilはHooks API使ってコンポーネント単位で小さく状態管理するからViewががっつり状態持ってて疎結合とは?になる
しかもRecoilってまだ実験段階の代物でウェブ特有のいつツールチェインが移り変わるか頭を悩まされるのが嫌だからOSSにしてもメーカーが主導すべきなのに遅すぎる
0846デフォルトの名無しさん (オッペケ Sr75-CXbj)
垢版 |
2022/07/20(水) 08:04:24.15ID:wjzc/Lddr
まぁ結局のところViewModelというストアが複数あるMVVMの双方向バインディングを否定した片方向のFluxアーキテクチャもHooks APIでContext APIをAtomsという複数の状態を操作するというMVVMと同じことやっちゃってるわけですよ
アプローチは違って遠回りしたけど結果は似たようなものになっちゃったってことなわけ
これもまぁ好みなんだろけど個人的にMVVMのVueとSvelteが好き
0848デフォルトの名無しさん (オッペケ Sr75-UeOP)
垢版 |
2022/07/20(水) 09:52:52.99ID:KhhE1Tf5r
いやそれはMVVMを理解してない
MVVMのModelの責務は状態管理やデータ保持のストアじゃなくデータモデルである型定義やビジネスロジックなんだが?
AtomsはReduxでいうところのストアでありストアとの違いはAtomの名前の通りAtoms一つで状態を保持してるところ
複数のAtomsを管理するためのSelectorsがまさにViewModelそのもの
0849デフォルトの名無しさん (ブーイモ MM0e-9G5L)
垢版 |
2022/07/20(水) 10:02:36.80ID:pMjQmXrIM
>>848
MにUIの状態を持たせちゃいけないというのはよくある勘違いだよ
VMはバインディングのために使用する射影以上のものではなくて、その責務に専念している限りにおいてはVMの状態管理が複雑になるみたいな問題は本来発生しない
でもMVVMはその構造上、ビューの状態管理の責務を負わせるという誤用をされやすくて、
その結果VMが複数の責務を負うこととなり複雑化に繋がる
0850デフォルトの名無しさん (オッペケ Sr75-UeOP)
垢版 |
2022/07/20(水) 10:25:04.38ID:K/MRrguYr
>>849
それは貴方の解釈でMVVMの一般的な概念じゃない
その主張はMVVM界隈から100%反論されてレスバになる
しかも貴方の主張って具体的な言葉や説明が一切なくてふわふわし過ぎてて議論になってないですよ
0856デフォルトの名無しさん (ワッチョイ 1a00-/SbN)
垢版 |
2022/07/21(木) 02:46:58.50ID:focTWMhd0
この人がC#おじさんかどうかはともかく、前スレとかで暴れまわってたC#おじさんは議論ができない人だからラベリングして隔離したくはなる。
エラー処理を蔑ろにすると痛い目を見るからね。
0858デフォルトの名無しさん (ワッチョイ 4918-6nFJ)
垢版 |
2022/07/21(木) 10:02:37.92ID:tY6bFPcW0
Reactの方がコンポーネントを抽象化し難い気がする
双方向バインドがないからhooks使うと固有のコンポーネントになってしまう
プログラム作っていく上で抽象化、共通化は基本なのでこの流れに反して違和感を感じるね
0860デフォルトの名無しさん (オッペケ Sr75-UeOP)
垢版 |
2022/07/21(木) 10:30:29.52ID:z51e/TKer
>>859
> 複雑な状態管理はそれこそ抽象化してモデルにすればいいんだよ
コイツのレスってまったく反論になってないんだよね具体的なことが一切含まれず内容が一切ない
これもうレス乞食のために故意にレスバ仕掛けてる荒らしだよ
コイツの場合レスが抽象化されててコピペになってるじゃん
0861デフォルトの名無しさん (ワッチョイ 4918-6nFJ)
垢版 |
2022/07/21(木) 11:33:06.16ID:tY6bFPcW0
Reactも最近下火になってきてると聞いたが抽象化に反してるし無駄な学習コスト高が原因かもね
まだTS順応やSSR等の有利な点もあるから早めに解決した方が良い
少なくとも双方向バインドはあった方が良いと思う
0862デフォルトの名無しさん (ワッチョイ 1a00-/SbN)
垢版 |
2022/07/21(木) 11:56:02.27ID:focTWMhd0
>>860
具体的どころか中身0な事言って煽ってるの君じょん……

>>861
下火になってきてるというソースくれ。
個人的には、双方向バインド無い方がデータ構造がシンプルになって(シンプルさを担保できて)良いと思う。
0865デフォルトの名無しさん (オッペケ Sr75-UeOP)
垢版 |
2022/07/21(木) 20:55:19.33ID:m/tOgoJ2r
いずれにせよコンポーネントが状態を持たない片方向バインディングがReactやFluxのウリで双方向バインディング否定してたのにuseState、useReducer、Hooksが当たり前になってそんなことなかったことになってるのReact界隈が大嘘吐きだってバレちゃったんだよね
だってコンポーネントが状態持ってる方が圧倒的に便利だしグローバルにストアにアクセス出来ないと面倒臭すぎるんだからそりゃそうなる
結局SSRに回帰してるしウェブ界隈って詐欺師の妄言を信用しすぎだね
0867デフォルトの名無しさん (アウアウウー Sa39-qysg)
垢版 |
2022/07/21(木) 21:36:46.45ID:ppiq2d/La
後ろから前から
0868デフォルトの名無しさん (ワッチョイ 1a00-/SbN)
垢版 |
2022/07/21(木) 21:44:19.86ID:focTWMhd0
>>865
SSRに回帰してないゾ。SSGとSSRをごっちゃにしてないか?

>>866
垣根がなくなったら内部的にはもっと所謂ajaxを使うことになるゾ。つかajaxなんて言葉、もはや当たり前すぎて死語になりつつある気がする
0876デフォルトの名無しさん (ワッチョイ 4918-6nFJ)
垢版 |
2022/07/22(金) 18:50:39.60ID:D+cmFxgS0
状態管理もVueの方がわかりやすいしバグが少ないな
ReactはuseMemoとかcallbackで更新を細かく制御出来るがその割に速度はVueに劣るなら細かい設定の意味も薄れるな
ただ面倒なだけになる
0893デフォルトの名無しさん (ワッチョイ 0118-FyER)
垢版 |
2022/07/23(土) 19:04:39.84ID:BhrE0ORm0
最近はスマホアプリ全盛でWEB自体がオワコンだよ
スマホアプリでもWEB使えない事はないけどあくまでオマケみたいなもんだし
0894デフォルトの名無しさん (ワッチョイ 4901-R4TS)
垢版 |
2022/07/23(土) 19:08:08.09ID:ehQy/P8s0
今の20代は円周率が3だから。
分数がわからないと言ってます。
0898デフォルトの名無しさん (ワッチョイ 2b02-KxVo)
垢版 |
2022/07/24(日) 12:21:39.58ID:tGEVXDQN0
>>897
tsの恩恵が型チェックを指してるなら
ほぼ恩恵受けられてるとおもう
まあpropsはお察しだけどたいしたことはないかな

volarはもともと使ってない(vetur)

veturはリファクタリング機能……せめてリネームくらい
さくっとできればいいのにってストレスはある
0899デフォルトの名無しさん (オッペケ Sr85-6oOh)
垢版 |
2022/07/25(月) 12:15:35.70ID:Vu96CM93r
Nuxt3安定版リリース予定日がコロコロ変わるけど、夏のうちにリリース頑張ってくれ
0902デフォルトの名無しさん (ワッチョイ 59c9-9Pxh)
垢版 |
2022/07/25(月) 17:11:08.07ID:di1O342v0
しかしangularは話題に上らないな
俺は好きだけど
0904デフォルトの名無しさん (ワッチョイ 937c-VsAj)
垢版 |
2022/07/25(月) 17:17:43.95ID:mBcdUBse0
>>902
angularjsはもう古いし(少し勉強したのが6年ほど前の話)
angular2が出たけど流行る気配も無く、記憶から消えていった感じがw
でvueとかreactが出てきてあっという間に過去にされた感じがするなぁ
0908デフォルトの名無しさん (ワッチョイ 13ad-R4TS)
垢版 |
2022/07/26(火) 07:24:19.93ID:zgp3yepV0
stackoverflowの2022アンケートだと好きなフレームワークランキングangularだいぶ上位だったぞ
0912デフォルトの名無しさん (ワッチョイ f9ac-CQgi)
垢版 |
2022/07/26(火) 20:14:20.43ID:TUlvpiox0
vsvsって何だと思ったら、そういや対決スレみたいな感じだったなw
vsはワイもなくていいよ
angulerはどっちでもいい。行き場なくなって困るいるかもやし。。。?
ワッチョイはぜひ継続で
0913デフォルトの名無しさん (ワッチョイ 81da-Qd/S)
垢版 |
2022/07/28(木) 13:52:28.82ID:OjSB//AI0
reactもレンダリングを極小に抑えればvanillaとほぼ変わらん速度が出るし、速度が同じならそこに残るのはコンポーネント思考で疎結合なソース、高可用、最高の可読性、拡張性。solidの出番あるかな?
0917デフォルトの名無しさん (スッップ Sd33-2lxA)
垢版 |
2022/07/28(木) 20:12:55.37ID:n/YbXvRnd
今月のweb+dbのReact特集はためになるな~
0918デフォルトの名無しさん (ワッチョイ 7aad-G1eK)
垢版 |
2022/07/30(土) 20:08:28.31ID:Wp1ki8bF0
>>917
立ち読みしたが基本的なことばっかじゃん
このくらいも知らないようじゃreactを全然理解していない
0922デフォルトの名無しさん (ワッチョイ 5d01-G1eK)
垢版 |
2022/07/31(日) 06:08:05.57ID:pdOIFS3A0
場所を選ばずイキリまくってるのは精神病では?
0926デフォルトの名無しさん (ワッチョイ 4abd-NnA7)
垢版 |
2022/08/02(火) 15:31:52.42ID:B8h7TJT50
https://gihyo.jp/magazine/wdpress/archive/2022/vol129
特集1
Reactの深層
最新バージョンから読み解く! 変わる常識と変わらない思想
本特集はReact 18のリリースを受け,これまでのReactについて復習するとともに,React 18の新機能を紹介します。新機能を使いこなすにあたり,前半ではこれまでのReactの使い方やAPIに込められた思想を確認し,後半ではReactユーザーが対応を迫られる新しい常識を解説します。将来にわたってReactらしいコーディングをするための考察です。
0930デフォルトの名無しさん (スッップ Sd9a-1wwR)
垢版 |
2022/08/03(水) 23:11:52.16ID:FoifrSV8d
Reactのメジャーバージョンってあんまり使う側にプログラマにはそこまで影響なくて
Reactというライブラリの中身のロジックががらりと変わるけど使い勝手はそのままみたいなパターンなんだよな
0932デフォルトの名無しさん (アウアウウー Sa09-G1eK)
垢版 |
2022/08/04(木) 11:25:37.09ID:CwkjhMxBa
CQでもトラ枝でも界面でも技評でもなんでもそうだが
長年通年読み切り雑誌造ってるとマンネリ化して
毎月同じ頃に同じネタ繰り返したり
新規読者開拓の方が優先されて初心者向け記事ばかり出すようになる
0933デフォルトの名無しさん (ワッチョイ 5918-O+aU)
垢版 |
2022/08/04(木) 17:12:20.43ID:Z7Bf5gtZ0
ReactはJSから逸脱しすぎ
そのうちVueに負けるんじゃない
0946デフォルトの名無しさん (ワッチョイ 13ad-9Xv3)
垢版 |
2022/08/07(日) 01:07:38.15ID:e/L1BkGT0
next使い始めて初めて自分でAPIを書いたんやが、セキュリティ的にやらないけんことまとめてある記事紹介してくれないか
セキュリティ気にせんかったらAPI叩かれ放題になるやん?
それは嫌や

APIの仕様はログイン不要でサイト内からなら誰でも叩けてバッファを返すAPIや
とりあえず誰でもAPI叩けないようにと思って以下は実装してん
・呼び出し元ががサイトURLと同じか
・許可されたhttpメソッドか
他にこれやらな危ないで!ってのあったら教えておくれ

sec-ch-ua-platformとかユーザーエージェントも使って、人間か否か、みたいな判定に使えるかなと思ったんやが、ブラウザによってあったり無かったりで使われへんね
0952デフォルトの名無しさん (ワッチョイ 45e4-weez)
垢版 |
2022/08/18(木) 20:25:57.91ID:Nos1/Hfu0
SvelteKitだいぶ破壊的変更したね
0982デフォルトの名無しさん (アウアウウー Sa63-7rj6)
垢版 |
2022/08/20(土) 08:37:21.80ID:eyE8WB70a
オッペケをNGしたほうがいいな
0999デフォルトの名無しさん (ワッチョイ 9f01-AA8i)
垢版 |
2022/08/23(火) 21:31:52.93ID:xRam60Qq0
>>993
ネットの情報ばかり鵜呑みにしてないで働け
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 168日 0時間 28分 58秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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