X



Vue vs React vs Angular
■ このスレッドは過去ログ倉庫に格納されています
0215デフォルトの名無しさん (ササクッテロル Spd1-PGOX)
垢版 |
2019/02/12(火) 14:38:31.80ID:poZCG/I0p
NaClが出始めの頃や、なんならActionScriptやSilverlightのRIAでもパラダイムシフトだのなんだの言われてたな。
0217デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/12(火) 15:24:18.10ID:dWGWBM0h0
WinForm か WPF か知らないけど、そういう標準的な作り方をしたC#が
ブラウザでそのまま動くということではなくて、Razorを使って専用に
作らないといけないらしいね。
0218デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/12(火) 15:50:17.94ID:dWGWBM0h0
JavaのGUIの場合、Swingは、完全にJavaで書かれていて、OSに
依存せずに全部自前で書かれているので、Java仮想マシンさえ動けばどんなOS
でも完全にGUIアプリが動く。
でも、C#の場合はライブラリがWin32 APIなどを呼び出しているから、そうは
行かないみたいだね。よく知らないけど。
0219デフォルトの名無しさん (アメ MMcd-z8kj)
垢版 |
2019/02/12(火) 17:33:20.32ID:tia7IyO5M
razorてメチャメチャ容量大きくなっちゃってまだまだ使い物にならないんでしょ?モバイル用にでも使えるくらい小さいの吐いてくれないかなぁ…
0220デフォルトの名無しさん (スッップ Sd22-IyyE)
垢版 |
2019/02/12(火) 19:00:48.09ID:1MzWJDZPd
webの技術にパラダイムシフトって言われるような変化起こすにはjavascriptの標準仕様が劇的に変わるか、革命的なブラウザが出てきてとんでもないシェアを握るってパターンしかないという理解だわ。
0221デフォルトの名無しさん (アウアウウー Sa05-BKX2)
垢版 |
2019/02/12(火) 19:36:10.46ID:1aNudvIBa
無理して既存の資産をwasmに移植するメリットはないと思うね
最初はへんな抽象化せずにDOMによく馴染むHTMLフレンドリーなライブラリをC#で実装してくれればいい
なんならjQuery.Netみたいなパクりでもかまわない
手を出しやすい土台を作って欲しい
0224デフォルトの名無しさん (ワッチョイ f901-HWB1)
垢版 |
2019/02/12(火) 22:15:31.30ID:zazJl4ej0
HTML5によってFlashなどのプラグインが死んでいったり
JavaScriptからカメラやマイクにアクセス出来るようになったりとそれなりに影響があった
WebAssemblyはそれらをさらに強化する

JavaScriptでは限度があった動画/音声データのリアルタイム解析なども可能になる
プラグインが死んだUnityも今はWebGL+WebAssemblyで動く

プラグインでバラバラ対処してたことが標準化されたって感じかね
劇的に変わる、と言うのはちょっと違う気もするが
0225デフォルトの名無しさん (ワッチョイ 6e8f-IyyE)
垢版 |
2019/02/12(火) 22:37:43.88ID:Jl2Y8iQt0
HTML+CSS+javascriptでの開発って他の分野に比べると独特だから実は参入障壁高いんだよね。使いこなせないだけなのに技術そのものがショボいと言いだす。
だからwebフロントエンド以外の開発者がwebフロントエンドの開発したくなったときにいろんな手法を見つけて何とかしようとするんだけど、なれてくると別にHTML+CSS+javascriptでいいやってなる。
そんなイメージ。
0230デフォルトの名無しさん (ワッチョイ f901-bFSf)
垢版 |
2019/02/13(水) 00:50:15.15ID:wb3NGc0D0
んなことよりpush通知実装しろ。iOS safariテメーのことだ。
0231デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/13(水) 00:55:06.05ID:GHq8zte20
>>225
JVM の代わりとなる仮想マシンと考えた場合、C++ で書けることは重要なんだ。
C++は型があるので、ミスをコンパイラが発見してくれる事が多いから。
例えば、JSだと関数の引数が多くても少なくてもエラーにならない場合がある
と思うけど、C++では敢えて分かっていてそうする場合以外は必ずエラーになる。
C++ では整数型を受け取るつもりの仮引数に浮動小数点型の実引数を渡すだけでも
エラーになる。ところが、JavaScript ではエラーにならない。

このようなことがあるので、JavaScirpt は大規模アプリをC/C++で組んだことの
有るプログラマからは嫌われている。特にアメリカで。
0233デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/13(水) 01:03:22.46ID:GHq8zte20
JavaScript だと、プロパティーには文字列と数値、Objectのどれでも入れられるので
単に書き間違えているだけなのに、エラーにならないので原因不明の不具合が直らずに
困る可能性がある。例えば、1,2,3 の 3つの数値を用いて、何か3種類を区別する
目的でプロパティー aaa を作ったとしよう。
aaa = 1;
aaa = 2;
aaa = 3;
と書くことをプログラマは想定している。ところが間違って、
aaa = "x";
と文字列型を入れてしまった場合、どこかで不具合が起きるだろうが、ソースが何10万行も有る
プログラムの場合、この間違えて書いてしまった行を探し出すのに苦労することになる。

こういう間違いが、C++ では、魔法のようにコンパイラが発見してくれる。だからC++は
安全で安定性が高いために人気がある。
0235デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/13(水) 01:06:08.06ID:GHq8zte20
>>232
その言語を多くの人は知らない。ずっと古くからC言語があり、とても人気があって、
その後継にC++があって今でも続いている。アメリカではC/C++経験をつんだ
プログラマが日本よりも沢山いるためか(?)、C/C++ で wasm が使えることで
game changer, pardigm shift などと喝采が起きているらしい。
0238デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/13(水) 01:14:25.09ID:GHq8zte20
>>234
テストで結果が異常であると分かっても、どこに原因があるかが分からないことがある。
だから、細かく実験していく必要があり、それには時間がかかる。
型の間違いをコンパイラが見つけてくれるだけでもミスが判明することが
かなり多くあり、開発時間の節約・短縮に大幅に貢献することになる。

ミスったときには、型や引数の個数まで間違っている確率は意外と高いので、
それだけでも8割くらいの単純ミスは発見できてしまう。
0240デフォルトの名無しさん (ワッチョイ 91ab-z8kj)
垢版 |
2019/02/13(水) 01:16:31.85ID:5ssU2x9I0
C++ソース(型がある)→コンパイル(型情報に基づきエラー)→バイナリ(型はない)→ネイティブ実行

Type Script(型がある)→トランスパイル(型情報に基づきエラー)→JS(型はない)→ブラウザ実行

あんま変わらん。
wasmが出てきてから聞かなくなったけどJSはWebのアセンブラとは言い得て妙だったな。
0244デフォルトの名無しさん (ワッチョイ 02a5-/WZR)
垢版 |
2019/02/13(水) 01:19:47.09ID:WxTmz2dr0
逆だな。javascriptをすごく理解してるWebプログラマのほうがjavascriptで粘ってて、
javascript理解しがたいと思ってる人らがtypescriptに救いを求めて移行した感じがある
0245デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/13(水) 01:22:34.41ID:GHq8zte20
>>241
そこまで頑くなに C/C++ を拒絶する理由がない。
C/C++ を1つ覚えるだけで組み込みから何から何まで作れるようになり、
速度も現存する高級言語の中でTOPな上に、エラーも少なく、安全。
過去からの資産も多い。例えば、画像処理、AI、音声解析、文字認識、
3D描画、物理計算、何から何まで C/C++ は存在している。
敢えて後から出てきた言語を覚えるの無駄。
0247デフォルトの名無しさん (ワッチョイ 91ab-z8kj)
垢版 |
2019/02/13(水) 01:25:16.64ID:5ssU2x9I0
>>243
js抜きにしてもtypescriptの型システムは良くできててC系文法の型システムとはこうあるべしといったお手本みたいだけどな。
c++の型システムは継ぎ足しキメラの失敗作だけど今さらどうしようもできねえしな…
0248デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/13(水) 01:36:11.82ID:GHq8zte20
>>247
仮に TypeScript に色々良いところがあったとしても、今迄から高い定評の有る
C/C++をまず、覚えてしまうほうがずっと将来性がある。
だから、人々はC/C++を覚えようとしてきたし、少なくともアメリカのプログラマ
はそうしてきた。いったんC/C++を習得すると、それだけでほとんどあらゆることが
簡単にできて、成果物の効率や速度もとても高く、エラーも少ないものが出来る。

その状態で敢えて、TypeScriptを覚えるのは非効率。だから、C/C++ が
ブラウザで動くのはすごく魅力的な話という事になる。
0249デフォルトの名無しさん (アメ MMcd-z8kj)
垢版 |
2019/02/13(水) 01:37:20.24ID:vNuAntxeM
S: もうかなり時間がたったしね、C++ が時間の無駄だということにはほとんどの人が気がついたとは思うけど、でも当初予想していたよりはずいぶん時間がかかったな。

I: 具体的に何をどうやったのかな。

S: 最初はほんの冗談のつもりでね、みんながあの本を真に受けるとは思ってもみなかったんだ。脳みそが半分でもあれば、オブジェクト指向プログラミングが非直感的で、非論理的で、非効率なことくらいはわかるよね。

I: え?

S: それに「コードの再利用性」ときたら…。どこかの会社がコードを再利用したなんて話を聞いたことがある?

I: いや、実はないんだけども、でも…。
0250デフォルトの名無しさん (ワッチョイ c514-feI+)
垢版 |
2019/02/13(水) 01:40:07.00ID:dfUEINu60
>>245
> そこまで頑くなに C/C++ を拒絶する理由がない。

C/C++は開発効率が悪いから。
ポインタを使うのに、std::auto_ptrを使わないといけない
そして世界が混沌としていて、ポインタという基本的なものでさえ
時代が変われば使い方がガラッと変わってしまう(皮肉)
0251デフォルトの名無しさん (ワッチョイ 2de3-VUEs)
垢版 |
2019/02/13(水) 01:41:57.50ID:SgfrIpbp0
>>250
>ポインタを使うのに、std::auto_ptrを使わないといけない

5ch/2ch の言うことを真に受けるとそうなるが、普通に、

BYTE *ptr;
TYPE *ptr;

で済む。昔から、C++ といえばこのスタイルで、auto_ptr 自体はずっと後発で、
C++ ではないといっても過言ではない。
0254デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/13(水) 01:43:28.32ID:GHq8zte20
>>250
>C/C++は開発効率が悪いから。

そんなことはない。メモリリークのことを気にしているなら、デストラクタの
中で解放するように1行書くだけで、ほとんどの場合はリークしないし、
危険なこともない。
0256デフォルトの名無しさん (ワッチョイ c514-feI+)
垢版 |
2019/02/13(水) 01:45:15.56ID:dfUEINu60
>>254
デストラクタの中で解放する1行を書き忘れた場合、それでも動くから
どこかで不具合が起きるだろうが、ソースが何10万行も有る
プログラムの場合、この間違えて書いてしまった行を探し出すのに苦労することになる。
0257デフォルトの名無しさん (ワッチョイ c514-feI+)
垢版 |
2019/02/13(水) 01:45:52.84ID:dfUEINu60
ミスったw

デストラクタの中で解放する1行を書き忘れた場合、それでも動くから
どこかで不具合が起きるだろうが、ソースが何10万行も有る
プログラムの場合、この間違えて書き忘れた行を探し出すのに苦労することになる。
0258デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/13(水) 01:46:57.29ID:GHq8zte20
>>253
std や auto_ptr を使うから難しく感じるんだよ。
何度も言うが、それは C++ ではない。これはマジ。
今の std:: 系のライブラリはSmalltalk の信者が作ったものらしい。
C++ の標準化委員会がおかしなことになっていて、もはや、本来のC++
ではなくなってきており、だから、C++が難しいと感じる人が増えている
気がする。
0263デフォルトの名無しさん (ワッチョイ c514-feI+)
垢版 |
2019/02/13(水) 01:51:15.37ID:dfUEINu60
stdなんちゃらを使わなかったら
バッファオーバーランで脆弱性になるし
それでも動くから
どこかで不具合が起きるだろうが、ソースが何10万行も有る
プログラムの場合、この間違えた行を探し出すのに苦労することになる。
0264デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/13(水) 01:51:20.27ID:GHq8zte20
>>261
だから新しい言語を次々に覚えて C/C++ だけは覚えないで過ごしてきたのかな、
あなたは?
数十の言語を覚えるより、C/C++ を1つ覚えるだけが良いと思うよ。徹底的に
それだけを学んだほうが良い。
0266デフォルトの名無しさん (ワッチョイ c514-feI+)
垢版 |
2019/02/13(水) 01:53:24.20ID:dfUEINu60
>>264
はいそうですね。C/C++は数十の言語を覚えるのと同じぐらい苦労しますもんね
いろんな言語の機能をキメラのように組み合わせた言語ですから
人によって書き方がぜんぜん違う

auto_ptrを使ってるだって!?これC++じゃないよ!
って言う人がいるぐらいだから

だから開発効率が悪い
0267デフォルトの名無しさん (ワッチョイ 91ab-z8kj)
垢版 |
2019/02/13(水) 01:54:19.14ID:5ssU2x9I0
さもTypeScriptが競合であるかのように突っかかってきてるが全く的外れ。

TypeScriptのトランスパイルターゲットはJS。
競合はその他AltJS。
この中では既に天下取って安泰。

C++のコンパイルターゲットはWASM。
競合はRust、Kotlin、.NET、、、どんどん増えるぞw
がんばってな!w

もちろんナマのJSはWeb界のグルー言語として残り続けるよ。
シェルスクリプトが性能を理由に消えないようにね。
0268デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/13(水) 01:54:36.76ID:GHq8zte20
>>263
そうならないように、C から C++ に進化してきたんだ。
そのために、コンストラクタ、デストラクタの概念が導入された。
それだけでも十分に安全で簡単に書ける。
逆に、std ライブラリは構造が理解しにくいので難しく感じるんだろう。
auto_ptr とか使おうとすると、C++ は一気に煩雑で嫌いになってしまうと思う。

だから、auto_ptr も std:: 系ライブ来も SmallTalk 信者が作ったものであって、
C++ の流儀とは全く異なる異質なもの。C++ で SmallTalk をやろうとするので
めちゃくちゃ複雑になってしまっている。
0269デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/13(水) 02:22:49.78ID:GHq8zte20
>>266
>はいそうですね。C/C++は数十の言語を覚えるのと同じぐらい苦労しますもんね
C++98 まで覚えれば大体C++の基本は習得できていて、それはそんなに大変
ではない。

・auto_ptr 系は、uniq, smart など沢山ありすぎるので、初心者には難しく、
 下手に使うと、生ポインタより危険かも知れない。これらはかなり後発のものなので、
 最初は覚える必要はない。
・std:: 系ライブラリは後から習得すればよい。
0276デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
垢版 |
2019/02/13(水) 10:06:57.83ID:GHq8zte20
>>261
例えば、VS の VC++ で C++ ソースをデバッグモードでビルドして、できたバイナリを
デバッガで実行すると、そのアプリの終了時に、メモリーリークが起きているか
どうかがIDEの Output Pane に出力されるようになっていて、その際、どのソースの
何行目で new TYPEしたオブジェクトが解放し忘れているかが、ずらずらと一覧表示される。

で、その場所が分かったら、多くの場合は、そのポインタをメンバ変数に「持っている(have a)」
class のデストラクタに、1行、delete ptr; と書くだけで、メモリーリークは直る。

例外として、複数のポインタから同じオブジェクトを参照していて、かつ、そのポインタ
が永続的にグローバル変数や、何らかのクラスのメンバ変数に格納されている場合には、そこまで
単純には行かない。その場合は、プログラマが頭で考える必要がある。
0277デフォルトの名無しさん (ワッチョイ f901-roK7)
垢版 |
2019/02/13(水) 10:21:08.64ID:uBt5bsN50
C++の方向性は最初から何も変わっていない
ctor/dtor, RAII, ムーブとより整理されていっただけ

1985 C++ / TYPE * (Cfront 1.0)
1986 C++ / (実装予定のtemplateなどの説明した文書が公開)
1991 C++ / T* (template可能, Cfront 3.0)
1992 C++ / auto_ptr (STL実装, 例外導入, RAII)
1998 C++ / (最初の標準化, C++98)
2011 C++ / unique_ptr (ムーブセマンティクス, C++11, auto_ptr非推奨化)
2015 Rust / 言語レベルで所有権システムを導入 (デフォルトがムーブ, Rust 1.0)

wasmに絡むとはいえスレチ気味で
しかも古いやり方の話を何レスしてるんだか・・・
0280デフォルトの名無しさん (アメ MMcd-z8kj)
垢版 |
2019/02/13(水) 13:09:58.06ID:cmhWA5saM
tsnativeかts.net来ないとwasmにはコンパイル出来ないだろ。
せっかくAltJS戦争に勝ってブラウザのjsに対する忖度パワーをすべて手に入れたのにわざわざwasm戦争に参入する必要はないだろ。
c++の構文が古くさすぎ冗長すぎで嫌、rustの構文はキモすぎて嫌と言うならkotlinかc#にすれば。
0281 ◆QZaw55cn4c (ワッチョイ e247-3ywI)
垢版 |
2019/02/13(水) 18:53:44.11ID:Wb2hS8BD0
>>249
C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために
さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが
簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを
追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。

C++ はトンでもなく悪い設計の元になりうる。どうせこの言語ではいつも STL やら
Boost やら、その他ゲロゲロベロベロの「素敵な」ライブラリの機能を使って、
それがあんたのプログラムに「役立つ」んだろうが、以下のことが起きる:

- うまく動かないときにもたらされる際限のない苦痛 (あと STL とか、特に Boost が
安定してるとか移植性があるとかいう奴は、どいつもこいつも大ウソつきで、
もはや笑えるレベルを超えている)

- 非効率な抽象プログラミングモデルで、2年たった後にこれらが実はそんなに
効率的じゃなかったことに気づくケース。でもそのときにはすでに全部の
コードがその素晴らしいオブジェクトモデルに依存していて、直すためには
アプリ全体を書き直さなきゃなんない。

言いかえれば、唯一まともで、効率がよくて、システムレベルで使えて、移植性がある
C++ ってのは、基本的に C で使える機能だけに限ったときなんだ。そして C だけに
限定するってことは、他の人がそれをめちゃくちゃにしないってことで、
ついでに沢山のプログラマが実際に低水準の問題を理解することができて、アホらしい
「オブジェクト・モデル」のたわごとを持ちこまないってことだ。
0284デフォルトの名無しさん (ワッチョイ 6e8f-IyyE)
垢版 |
2019/02/13(水) 21:10:22.40ID:tuDfzjia0
Angularってwikipediaには「フロントエンドWebアプリケーションフレームワーク」って書かれてるけどまさにその通りだよな。javascriptのフレームワークって感じではないわ。
HTMLとCSSとjavascriptの技術を採用したwebサイト開発フレームワークって感じ。
0285デフォルトの名無しさん (オッペケ Srd1-da9w)
垢版 |
2019/02/13(水) 21:18:15.13ID:sgtLrhrBr
Reduxのほうがムズいけど、これからやるならReduxがいい
0286デフォルトの名無しさん (ワッチョイ c514-feI+)
垢版 |
2019/02/13(水) 21:20:44.51ID:dfUEINu60
>>284
JavaScriptのフレームワークって感じではないって意味がわからんぞ。

普通はJavaScript製のフレームワークって意味だろ
○○(何かしらの言語)製のフレームワークなのだから
AngularはJavaScript(製)のフレームワークだ

別の言語なら、〇〇(言語)のフレームワークなんてものが存在するのか?
0289デフォルトの名無しさん (ワッチョイ 6e8f-IyyE)
垢版 |
2019/02/13(水) 22:24:48.70ID:tuDfzjia0
>>286
なるほど。
ピュアjavascripで書いたら大変な記述をちゃちゃってやってくれるからスレタイの3つとかjqueryとかはjavascript(の)フレームワークって呼ばれてると思ってたんだがとんだ勘違いだったのね。
0298デフォルトの名無しさん (オッペケ Sr7b-/+m/)
垢版 |
2019/02/14(木) 11:29:40.87ID:MlsuSDTjr
reactにしとけ
0304デフォルトの名無しさん (スプッッ Sdff-tyEA)
垢版 |
2019/02/14(木) 13:22:31.29ID:MhXZGfUyd
潰しの効かなさを除けばAngularが一番いいと思う。ガッチリした設計な分だけ迷わずに使えるしプロジェクト管理もしやすい。
ただ習得してもキャリア的なメリットが薄そうだから自分で選択する気になれん。
0306デフォルトの名無しさん (オッペケ Sr7b-/+m/)
垢版 |
2019/02/14(木) 14:07:13.01ID:MlsuSDTjr
世の中的にはReactが主流
■ このスレッドは過去ログ倉庫に格納されています

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