Vue vs React vs Angular Part.2

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/03/09(土) 22:02:33.71ID:47IMMy0/
実際どうなん?
Vue
https://jp.vuejs.org/
React
https://reactjs.org/
Angular
https://angular.io/
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
※前スレ
Vue vs React vs Angular
http://mevius.5ch.net/test/read.cgi/tech/1545395856/

★ここではjQueryの話題は禁止です
★jQuery房が書き込んでも無視してください
2019/05/09(木) 19:48:44.53ID:AbXpebNO
>>679
なんで?
681デフォルトの名無しさん
垢版 |
2019/05/09(木) 23:09:24.89ID:6pPEQ8FI
確かにnuxtでtsやとうとするとサンプルが不十分で躊躇するな。とりあえず公式はTSで記述して欲しい。
2019/05/09(木) 23:14:08.08ID:FQALP4Xt
TSって何の略?女から男でもTS?
2019/05/09(木) 23:16:14.37ID:FQALP4Xt
転性(TenSei)物の略じゃなかったのか・・・
転生にかけて転性
2019/05/10(金) 07:11:07.75ID:5pEntNE1
trans sexualだろ
2019/05/10(金) 11:28:53.17ID:KVKv3VXz
https://www.packtpub.com/packt/offers/free-learning
今日の無料教材はAngular Fundamentals with TypeScript [Video]ですよっと
2019/05/10(金) 20:38:35.89ID:dfSPbcVm
Dart TypeScript どっちかにせい
2019/05/10(金) 21:53:18.09ID:YkXyKnTH
Dartは2度死ぬ
2019/05/10(金) 22:55:18.75ID:HK1/2Yro
TA固定は微妙なとこだと思うけどな。
型を軽んじる方も無駄に型信者になる方もどっちも間違ってる印象。
2019/05/10(金) 23:01:59.52ID:5pEntNE1
元々サーバーサイドで出力した値をグローバル変数で渡してた部分で変数未定義のエラーがどうしても消えなくてイライラした(ちゃんと動作はしてる)
黙認のエラーは非表示とかできんもんかって思った
690デフォルトの名無しさん
垢版 |
2019/05/10(金) 23:04:44.67ID:DV3Y91+j
ts なら declare 使えば
2019/05/10(金) 23:21:40.79ID:5pEntNE1
>>690
ちなAngularだったんだけどそれ書いても上手く行かなかったんよねもしかしたら利用箇所じゃなくapp-module側で書くとかルールがあるのかも知れんけど
その時ググって出たのは大体試したけどダメだったから仕方なくDOM経由で渡す事にした

…っていうよりやっぱReactでいいやって結論に至った
2019/05/10(金) 23:44:17.71ID:YkXyKnTH
ReactはVueに食われると予測する
堅牢で全部入りのAngularは一定層に
需要あると見るから安定して存在し続ける
2019/05/10(金) 23:56:24.24ID:5pEntNE1
実際問題VueからReactに移るって人は居ても逆はないと思うんだよね
両方それなりに触ったけど
2019/05/11(土) 00:01:37.61ID:86iOIgkh
実態は>>349
2019/05/11(土) 00:16:31.79ID:0ONlCrpu
まず*.vueってテンプレート書式がjsxに比べて煩雑というか冗長なんだよね
あとタグの中にv-if、v-forって書くよりもJavaScriptとして制御文を書く方が柔軟だし明快なんだよね
2019/05/11(土) 12:07:13.98ID:dFSThr/t
Web   / Native        / WebView型
-----
React  / React Native    / Cordova
Vue   / Weex, NativeScript / Cordova
Angular / NativeScript    / Cordova
(Flutter for Web) / Flutter   / -

開発
-----
React     : Facebook
React Native : Facebook
Vue      : (コミュニティ + スポンサー)
Weex      : Apache Foundation (Alibabaから移管)
Angular    : Google
Flutter     : Google
NativeScript : Progress Telerik
Cordova    : Apache Foundation (Adobeから移管)
2019/05/11(土) 12:18:07.62ID:dFSThr/t
GoogleがAngularとFlutterをどう考えるか
TelerikがVueをどれくらい支援するつもりかで
将来への安定性が変わってくる
2019/05/11(土) 12:57:08.42ID:dFSThr/t
ちなみにAlibabaは、今はReactに似たフレームワークの
Rax(WebとWeexでのネイティブ対応)の開発を行っているので
Vueへの支援は限定的と思われる
2019/05/11(土) 21:29:48.13ID:k2bl7TQ1
>>692
全部入りを好む奴は総じてプログラマとしてクソ
2019/05/11(土) 21:30:45.78ID:OpJkzPTa
WeexよりもVueNativeの方がまだいいんじゃないかね
2019/05/11(土) 22:12:47.06ID:BTldsl5g
全部入りといえばVisual Studio
2019/05/11(土) 22:59:18.42ID:dFSThr/t
>>700
出来の良し悪しはともかく
数が多くなるのと、対象の道連れになるのでラッパー類は除いてる
Ionic、Nuxt、Vue Nativeなど
703デフォルトの名無しさん
垢版 |
2019/05/12(日) 01:01:51.46ID:xOhrfp/J
Reactのインポート地獄をみんなどうしてる??

よく使うのは、protoとかに生やしてたりすんの?
704デフォルトの名無しさん
垢版 |
2019/05/12(日) 01:04:29.59ID:xOhrfp/J
https://cdn-images-1.medium.com/max/1600/1*a6X55OJdZfefGKE2LFUZ1A.png

こういう感じで、さらにstyled componentとかにすると、さらに増えて完全に地獄なんだが。。
2019/05/12(日) 01:12:25.25ID:hqMRR2lH
>>704
自分はパスのテーブル作ってループでリストにpushしてから配備してるからRouteとimportが一緒のファイルにはならないな
2019/05/13(月) 16:55:44.14ID:dmMFJZn2
フレームワークごとのお作法を学ぶ作業しんどい
707デフォルトの名無しさん
垢版 |
2019/05/13(月) 22:20:51.61ID:XgdYNs3B
you 造っちゃいなョ
2019/05/13(月) 22:52:30.18ID:YS57w6Jq
そして同じようなフレームワークがまたできて、同じように文句言われるわけだ。
2019/05/14(火) 00:13:13.60ID:Y1HzAffW
ホント普遍的だなこの風刺画ww
https://imgs.xkcd.com/comics/standards.png
https://naglly.com/archives/2011/07/xkcd-standards.php
2019/05/14(火) 00:51:22.05ID:QHcO2x1N
jsフレームワークの主流インデントって
スペース2つだけど

見にくくない?4つよくない?
2019/05/14(火) 03:04:17.17ID:UZBZoUy/
俺も4が好きだが何で2が主流になったんだろうな。残念だ
2019/05/14(火) 03:29:16.91ID:pKB1mZtq
てかなんでスペース使うの?tabでよくない?
2019/05/14(火) 03:41:22.54ID:upCBpEzH
tabは使いこなすのが難しい
他人が見てもずれないようにするために
複雑なルールが必要になる
2019/05/14(火) 03:42:16.89ID:upCBpEzH
複雑というより奇妙というべきか
一見なんでこんなルールが必要なんだ?と思うようなルール。
理由を聞けばわかるだろうがそのルールを守るのに神経を使う
2019/05/14(火) 04:08:46.60ID:pKB1mZtq
言ってる意味がよく分からんから実際に問題となる一例でも挙げてみてくれ
2019/05/14(火) 07:50:55.79ID:/4NFgqiF
pythonみたいに閉じ括弧ないと2はキツイなと思うけど、jsはそうでもない。
2019/05/14(火) 07:52:39.50ID:rV66FunX
1tab = 1インデント、それ以外の箇所にtab使うな で済むと思うけどな
インデントの異なる行同士で揃えようとしてる人は知らんが
2019/05/14(火) 10:15:18.26ID:shgZHQbU
折り返した引数の開始位置とか、メソッドチェーンの書き方とか
あと、代入時の開始位置揃えあたりかね

タブの定義をnスペース単位のパディングとかにせず、前後行との関連での自然な位置ということにすれば、いつでも1タブで良くなるのに。
2019/05/14(火) 10:40:59.88ID:upCBpEzH
>>715
タブを使うとインデントとはなにか?という概念の話が始まる(笑)

インデントというのは文字列の前にある空白だが
文字列の前にある空白だからといって必ずしもインデントにはならない。

以下の例ではインデントを _、空白を全角空白で表現している。

_____readyState='loading' # loading: 読み込み中
_____             # interactive: 外部ファイル読み込み中
_____             # complete: 読み込み完了

このような使い分けが必要になる。

インデントの幅は人によって違うため、全てをタブで表現してしまうと
以下のようにずれてしまう。

_____readyState='loading' # loading: 読み込み中
_______________# interactive: 外部ファイル読み込み中
_______________# complete: 読み込み完了

つまりインデントというのは、コードを行単位で見るのではなく
矩形的なブロックと見て、そのブロック全体をずらすことを言う。

見やすさのために桁を揃えるという作業ではなく、意味的に前の行とつながっている行なのか?
という判断が必要になりいちいちタブと空白の使い分けという無駄な作業が増える。

もちろん「このようなコメントの書き方は禁止」というルールを作ればいいんだが
「え?なんでこういう書き方禁止なの?他の書き方は大丈夫?」ということになる。

見やすさのためにやる単純な作業をレビューが必要な作業に変えるのはアホ過ぎる
2019/05/14(火) 11:08:05.03ID:rV66FunX
コードに限らず、このパターンだよな

対象一覧 ・A
        ・B
        ・C

対象一覧
 ・A
 ・B
 ・C

個人的には後者が好みだが
2019/05/14(火) 11:18:50.33ID:ZtmBYpYh
>>719
俺はそういう定義コメントは上に書く派だからそうはならないな

行の後ろにコメント付けるの自体わりと悪習だと思ってる
2019/05/14(火) 11:34:44.51ID:rV66FunX
コメントはケースの一つということだろう
コードで例を書くなら

r = array([[ 1, 2, 3 ],
       [ 4, 5, 6 ],
       [ 7, 8, 9 ]])

r = array([
  [ 1, 2, 3 ],
  [ 4, 5, 6 ],
  [ 7, 8, 9 ]
])

Pythonなどでは前者がデファクトなのでそれに従う
当然tabも使わない
チーム開発でなくJavaScriptの場合は後者+tabでやってる
2019/05/14(火) 12:47:54.21ID:b+POQtqn
>>722
Python使ってるヤツとは宗教的に相いれないというのがよく分かった
2019/05/14(火) 14:08:31.57ID:upCBpEzH
>>721
だからそういうことだよ。

> 俺はそういう定義コメントは上に書く派だからそうはならないな

「定義コメントは上に書く派になりましょう。」
というルールができる
725デフォルトの名無しさん
垢版 |
2019/05/14(火) 15:06:48.19ID:053DQxew
python字下げで気付く点は色々書かれてるし賛成だけど
jsの特徴とは違うんだよな
ここはどちらかというとjsのスレだからpythonの字下げルール言われても困るだろうな
2019/05/14(火) 16:24:19.06ID:upCBpEzH
>725
JavaScriptの字下げルールとして、正しくタブとスペースを使い分けないとずれるから
「Python風にしない」というのができる時点でダメなんだってw
ルールは重要だが、くだらないことにまでいちいちルールを作るなって話
2019/05/14(火) 16:32:22.84ID:g3uo//i/
いや、array([の後に配列の第一要素だけ繋げるセンスが理解できんて

そんなん見た目汚いだけやん
2019/05/14(火) 16:52:22.49ID:IsdOqmjg
Haskellはどんな感じ?
2019/05/14(火) 17:24:40.92ID:rV66FunX
>>726
そういう観点だと
「tabでインデントしない」というルールを作るな
とも言えるのでは?

使い分けの判断を無くしたい場合
Python風の字下げ と tabでのインデント が排他的な関係なので
どちらを除くかという話だと思うが
2019/05/14(火) 17:44:50.25ID:C0/Go3CD
てかまさかと思うけど君たちの使ってるエディタが半スペ、全スペ、tabが見た目で区別できないの使ってるとかは流石に言わないよね?
2019/05/14(火) 18:07:34.96ID:IsdOqmjg
気色悪い色になるよう設定してる
2019/05/14(火) 18:20:38.62ID:ep82UI1Z
Gatsby使ってる人いる?
2019/05/14(火) 18:56:52.05ID:/4NFgqiF
なんでこういうしょうもないシンタックスの話って盛り上がるんだろうな。
エディタ論争といいクソとしか思わんのだけれど。
2019/05/14(火) 20:03:19.19ID:TDDhIyFE
>>729
tabでインデントしないというのは、
入力、または保存時に自動的に変換できる
テキストエディタが大半なのでツールに任せることができる

使い分けっていうのは人間の努力が必要でルールを「人間が守る」するしか無い
2019/05/14(火) 20:05:02.13ID:TDDhIyFE
>>730
見た目で区別できるから、ずれて表示されたとしても
脳内で補完できるとか言わないよね?

見た目で区別できるから、ずれて表示された原因がタブだとわかったら
タブ使うんじゃねーよって思うだけなんだが(笑)
2019/05/14(火) 20:23:32.97ID:7odF+65T
lintしろよ
2019/05/14(火) 21:46:22.04ID:TDDhIyFE
そう。lintの対応の話ね。
>>719のようにタブと空白を混ぜるとlintでは対応できない

結局、空白に統一するほうが楽という話。
こんなこと、時間をかけるような所じゃないから
2019/05/14(火) 23:05:58.95ID:jklhcQNW
インデント以外の空白文字は一律1spaceに置き換えるくらいの方が良いと思うがな。
複数人開発なら特に。
空白並べて隣の行と桁合わせするとかあほくさ。
2019/05/14(火) 23:10:49.69ID:TDDhIyFE
> 空白並べて隣の行と桁合わせするとかあほくさ。

たまに、桁合わせする意味なんて無い!って言うやつがいるけど
「桁合わせしたほうが見やすい」というのは事実なんだよ
これは受け入れないといけない。


桁合わせするのに手間がかかるとか、コードの差分を見るときに困るという意見は正しいが
それは「手間がかかったり差分で困ることがあるが見やすい」という結論であって
「揃えたほうが見やすい」を否定してないんだ
2019/05/14(火) 23:38:38.25ID:jklhcQNW
典型的な「こだわりのある人」
2019/05/15(水) 00:15:12.27ID:qxUiM81Y
こだわらないためのスペース統一なんだがw
誰も桁を合わせろなんて言ってないよ。

正直こういうことは「くだらないこと」扱いなんで
(くだらない = 意味がない = 適当でいい ではない)

くだらないこと = 時間を掛けることじゃないし
統一することでもないし、見やすければ自由にやっていい
そんなのさっさとやって、もっと本質的な所に時間を掛けるべきだ

だから誰がどのテキストエディタでどういう設定であっても
ずれないスペースにしとけって話。
はい決着。さっさと次に行きましょう。だよ。
742デフォルトの名無しさん
垢版 |
2019/05/15(水) 00:15:38.62ID:HTdksHae
>>738
ほんそれ
743デフォルトの名無しさん
垢版 |
2019/05/15(水) 00:16:18.75ID:HTdksHae
>>739
ダウト
2019/05/15(水) 00:18:20.98ID:qxUiM81Y
>>743
理由書いてないので意味がないレス
745デフォルトの名無しさん
垢版 |
2019/05/15(水) 00:21:49.82ID:HTdksHae
もちろん理由はあるがお前に教えるのがもったいない
知りたかったら金払うかもっと自分を見つめろ
2019/05/15(水) 00:30:49.13ID:qxUiM81Y
じゃあ現状のままでいいよ。
俺はちゃんと理由を書いた。
お前は、金だせとか言ってるやつ。
この状況で俺は満足だ
2019/05/15(水) 00:34:41.79ID:iEzcJte9
>>735
ズレないように書けばいいじゃん
2019/05/15(水) 00:38:24.75ID:qxUiM81Y
ずれない方法(スペースに統一)して書く
VS
ずれないように努力する

の違いな。

俺はこんなくだらないことで努力したくないんやで
2019/05/15(水) 00:58:59.75ID:iEzcJte9
ずれない事に努力が必要って感覚がイマイチ分からんIDE使ってるとなんかそういうのあるん?
2019/05/15(水) 01:02:36.47ID:t507NdwY
配列のインデント揃える←分かる
イコールの位置揃える←無駄じゃね?
ソースの後置コメントを揃える←後ろに書かなくてもいいだろ
2019/05/15(水) 01:27:20.84ID:qxUiM81Y
>>749
上で書いてるから見てこい
2019/05/15(水) 01:28:02.07ID:qxUiM81Y
>>750
反論になってないぞw
2019/05/15(水) 07:10:05.58ID:iEzcJte9
>>751
だからタブがズレるっていうのが全然意味わからんし揃えるのに努力が要るっていうのも全然意味が分からんのよ
例えば基本的に>>722の下みたいに書いてりゃ基本的にズレる云々関係ないじゃん
2019/05/15(水) 07:22:24.11ID:qxUiM81Y
またよくある、条件付き主張だなw

> 例えば基本的に>>722の下みたいに書いてりゃ基本的にズレる云々関係ないじゃん

条件「>>722の下みたいに書いてりゃ」
主張「基本的にズレる云々関係ない」


あんたのその主張は、条件を満たしている場合にしか当てはまらんのですよ。
>>722の下みたいに書かないと、ズレる云々関係ある」と言ってるのと同じなんですよ
2019/05/15(水) 07:44:19.68ID:iEzcJte9
そりゃコーディング規約がありゃ条件を満たすのは当然のことだろ
好き勝手に場所によって書き方がバラバラな方が問題じゃん
2019/05/15(水) 08:11:00.87ID:nK0I7Knm
桁合わせ否定に反論したかと思ったら「桁を合わせろとは言ってない」とか、
統一することじゃないと言いながらスペースにしとけとかw
2019/05/15(水) 08:50:24.87ID:LLCM4Dun
Reactなら4スペ幅のインデントって積極的に使うべきだと思うんよね

インデントが深くなり過ぎる?
それはモジュール分けを考え直すいい機会じゃないかとね
2019/05/15(水) 08:58:42.43ID:LLCM4Dun
そういや最近Hooksの使い方知ったけどこれ便利だね
2019/05/15(水) 09:33:01.34ID:owospDSo
Reactのhooksは開発メンバーをちゃんと教育しておかないと
if文とかに入れられそうでちょっと怖い
2019/05/15(水) 10:16:06.40ID:/ps7AqyV
>>759
なんか使い方に注意するとこある?
2019/05/15(水) 11:03:23.18ID:owospDSo
>>760
コンポーネント毎に常に同じ順で呼ぶこと(間が抜けるのも駄目)

例えばpropsで一部の項目を非表示に出来るとして
useStateごとifで包んだら地雷設置になる
まぁlint用意されてるけど
2019/05/15(水) 22:20:36.22ID:NqNoTEzO
setTimeoutで周期的にやってた処理どう書き換えたらスマートなのか暫く悩んだけどuseStateでひたすら反転を繰り返す状態変数を1個作ってその状態変化をuseEffectで拾えば他の状態変数も最新の値に周期処理からアクセスできるんだね
2019/05/16(木) 11:09:43.18ID:1GxORDK8
インデント綺麗にしてない奴はムカつくよな
2019/05/16(木) 13:17:02.82ID:OCCVEc40
スペースインデントは3スペとか5スペとか平気で混ぜちゃうヤツが居るのがなぁ
2019/05/16(木) 13:36:06.12ID:M/ddkVVC
>>764
機械的に対処できるんだから問題にならない
766デフォルトの名無しさん
垢版 |
2019/05/16(木) 14:13:52.42ID:ehYc/git
だな

>>719 の案みたいに
インデント(最初の文字の左側)部分でtabとスペース混ぜるのが一番邪悪
2019/05/16(木) 14:36:18.99ID:/BWZYdMZ
>>765
>>722の上をOKとしつつ↓を機械的にNGとして検出するのは難しくね

//11スペースのインデント
r = array([
       [ 1, 2, 3 ],
       [ 4, 5, 6 ],
       [ 7, 8, 9 ]
])
2019/05/16(木) 14:45:40.55ID:M/ddkVVC
機械的に難しいことなら諦めればいい
スペースとタブの問題は、他人が見たときにずれること
それさえなければ、あとは完ぺきを求めるようなものじゃない

よっぽどの初心者(=戦力外)の人以外は人は見やすいように
自分で揃えるのだから決められたスペースの数の倍数であれば、どーでもいい
タブさえ使わなければ、ずれることはない。
2019/05/16(木) 14:55:44.72ID:/BWZYdMZ
>>768
3スペとか5スペとかは許容しとけってこと?
2019/05/16(木) 15:14:21.25ID:M/ddkVVC
>>769
それスペースの数が問題だって言ってんだろ?
それぐらい決めた数(の倍数)に揃えられるだろ
771デフォルトの名無しさん
垢版 |
2019/05/16(木) 15:14:52.16ID:Ox4fjiQE
r = array([[ 1, 2, 3 ],
[ 4, 5, 6 ],
[ 7, 8, 9 ]
])

どうでもいい
2019/05/16(木) 15:20:09.96ID:KPUxvSgB
こういうくだらない議論見てると、goのやり方は必要悪だったんだなぁって。
2019/05/16(木) 15:36:40.29ID:M/ddkVVC
話をまとめると

1. スペースを使うかタブを使うか問題 → スペースでなければいけない理由がある

2. インデントで使うスペースの数をどうするか問題 → どれでもいい(が統一しろ)
 数をいくつにするかに関しては理由はない。(ただし統一するべきということには理由がある)

こういう話がごっちゃになってるんだよ
774デフォルトの名無しさん
垢版 |
2019/05/16(木) 15:51:40.49ID:Ox4fjiQE
x ごっちゃになってる

o ごっちゃにして盛り上げてる
2019/05/16(木) 16:03:56.62ID:/BWZYdMZ
>>770
>>764からの「5スペとか混ぜちゃうヤツが居る」
→「機械的に対処できる」→「機械的は難しくね」という話でしょ

「それくらい許容しろ」とか「見掛けたら指導しろ」とかの回答なら分かるけど
なんか話ズレてるから落ち着いて
776デフォルトの名無しさん
垢版 |
2019/05/16(木) 18:45:31.93ID:BXnjqr+9
PrettierとEditorConfig使え
2019/05/16(木) 18:51:16.34ID:M/ddkVVC
>>775
話はずれてない

> 3スペとか5スペとかは許容しとけってこと?
って書いてあるから、
コイツはスペースの数が問題だって勘違いしてるんだなってこと
俺はスペースの数の違いを許容しろなんて一言も言ってないし
スペースの数を整えることは機械化できる。
2019/05/16(木) 18:58:27.70ID:OCCVEc40
大体スペースインデントにしても
標準インデント(2スペ4スペ)の倍数以外使うべきじゃないと思うんだよな
2019/05/16(木) 19:04:06.78ID:OCCVEc40
>>765
悪質なコーダーに5スペが混ぜられたソースをどう機械的に処理してるのか興味がある
自分が書く文にではなくあくまでそういう他人が居ることに対しての件な
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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