JavaScript の質問用スレッド vol.123 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 73c8-oPzN)
垢版 |
2017/04/03(月) 00:31:25.68ID:82yaJsi70
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。
(10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
※前スレ
JavaScript の質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472426483/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/06/18(日) 20:36:01.22ID:sCw/anR20
>>455
お前によるとJavaで書けるらしいぞ

> 241 名前:デフォルトの名無しさん[] 投稿日:2017/06/18(日) 19:03:13.73 ID:tT89pNa2
> Liskってすごい技術がJAVAで書けるらしいのですが、詳しい人いる?
>
> https://coincheck.com/ja/exchange
>
> http://mevius.2ch.net/test/read.cgi/tech/1492780397/241
2017/06/18(日) 21:20:02.98ID:sCw/anR20
一応、池沼な韓国人にも分かるように俺の論理を説明しておこう。

俺は勝負を受けた。
俺が適切だと思う限り、俺はここでお前らのNGに適合するように投稿を続ける。
(偶に忘れているのはすまん)
何度も言っているが、俺はWeb板のスレに投稿することはない。
或いは、お前らがフォークしたスレに投稿する事もないだろう。
これでこのスレが賑わい、他スレが成立しないのなら、
俺のやり方が正しかったことの証明になる。
だから俺のやり方に反対する者は、他スレを賑わせ、このスレを結果的に殺すように努力しろ。
それが出来ればお前らの勝ち、俺の負けだ。

韓国人死ね

韓国人の問題は、相手側を邪魔するマイナス方向の競争しかしないことだ。
反日で相手の足を引っ張ることこそが正しいと洗脳され、
それがおかしいと気づく知能も無いヒトモドキは、死ねばいい。

非韓三原則:助けない、教えない、関わらない

ただし俺たちがゴミに合わせる必要は無い。
俺らは正規の競争、よいものをよりよいものが倒す、これを目指すべきだ。
だから、文句があるのならフォークしろ。そしてそこを盛り上げろ。
もちろん俺も他スレが繁盛するようなら何らかの反応はする。
そうやってプラス方向に競争するのが本来の姿だ。
足の引っ張り合いなんてマジで止めろ。誰にも利益がない。

お前らの問題は、どういうレスがスレを悪化させるか全く分かってない点だ。
単純に答えればいいというものではない。
もちろん、叩けばいいってものでもないし、丁寧な言葉を使いさえすればいいわけでもない。
ただそれも含めて経験だ。とにかくフォークして、お前らでがんばってみろ。
2017/06/18(日) 21:56:31.92ID:M42BMc340
>>456
そいつ単なるビットコイン誘導のスクリプトかバイトだろ
459デフォルトの名無しさん (ワッチョイ 5333-HF6k)
垢版 |
2017/06/18(日) 22:04:33.33ID:MEg0I4VS0
Liskが広まればJavascriptの仕事が増える?
みんなLisk買おうぜ。
2017/06/18(日) 22:17:39.12ID:sCw/anR20
>>458
ああ、マルチってまんま言うより面白いかと思ったが、お気に召さなかったかな?
或いは安価つけたら金になるから止めろって話か?

韓国人死ね
2017/06/19(月) 00:39:11.89ID:3b1n3SsL0
>>418
SRIつければChromeとかFirefoxでは防がれるからそれを推奨してくべきでは
462デフォルトの名無しさん (ワッチョイ 4f23-XseL)
垢版 |
2017/06/19(月) 03:03:45.32ID:0vUITruH0
Anglar みたいにクラス名指定でフレームワークのエンジンに
描画を委託している要素が上手く描画されてくれないときって
どうやってデバッグすればいの?
devtoolsのコンソールにもエラーは出てないし、
単純に描画されていないから調べることができない
ブラウザ表示している外部のJSファイル上の変数が
ブラウザ上で認識できているか(ちゃんとHTMLに渡ってきているか)
しらべたいんだけど・・・
463デフォルトの名無しさん (ワッチョイ 4f23-XseL)
垢版 |
2017/06/19(月) 03:08:54.43ID:0vUITruH0
HTML属性値っていうのは
「変数」として認識されているのか?それとも単なる文字列?
この属性の文字列ってどこで解析して処理してるんだろう。
単なる文字列ならまだわかるけど変数とか配列とか関数とかを
属性上に設定している場合
464デフォルトの名無しさん (ワッチョイ 5333-HF6k)
垢版 |
2017/06/19(月) 20:38:46.76ID:ZDExsnuJ0
お前らLisk買った?

https://coincheck.com/ja/exchange


今400円だとして、100万円分Lisk買ってLiskが4000円に上がったら1000万円になるよ。
2017/06/19(月) 20:54:48.45ID:YT+EGMzwa
urlNG推奨
2017/06/19(月) 22:40:14.78ID:KAZNYLgu0
>>463
当たり前だけどHTML上で属性は必ず文字列だけど、
当然内部的にはそれがパースされて使われるし、
JSから触ってるのは通常アクセサであってパース後の内部的に利用される値とほぼ同じ形態ものが読み書きできる
イベントハンドラの設定は要素の属性値に直接書き出すときは
一旦文字列で要素に追加されて、文字列化された関数がまたパースされて認識されるけど
addEventListenerなどを使った場合はそれをスキップして
直接内部的な紐付けに関数オブジェクトとして登録される
2017/06/19(月) 22:41:37.38ID:Pl8Yq5/9M
>>463
質問内容が漠然としているので、コードで質問することをお勧めする
HTMLの属性と関わりがあるのはDOMになるが
https://developer.mozilla.org/ja/docs/Web/API/Element/getAttribute
https://developer.mozilla.org/ja/docs/Web/API/Element/attributes
2017/06/19(月) 23:17:27.36ID:BW5wWpcZ0
>>462
ブレークポイントを貼って、1行ずつデバッグ実行するとか?

フレームワークの中を、ステップ実行するのは、かなり面倒。
jQuery 程度でも、中をステップ実行するのは、面倒くさい

もっと簡単なのは、すべて削除して、
その部分だけ実行する、プログラムを別に作って、チェックする

Angular のスレか、コミュニティーへ行って、
専用のテストツール・テスト方法を調べた方がよい
2017/06/19(月) 23:27:07.55ID:l1liGy+g0
Angularはしらんけど、Firefoxは
https://developer.mozilla.org/ja/docs/Tools/Page_Inspector/How_to/Examine_event_listeners

標準 DOM イベント
jQuery のイベント
React のイベント (Firefox 53 の新機能)

に対応しているから、調べやすいよ
2017/06/20(火) 01:20:58.11ID:Yq4eqPYY0
つうかフレームワーク飛ばしてステップ実行できる
ChromeならDevツールの設定からBlackboxing
2017/06/20(火) 01:23:35.72ID:uMblZ3Am0
Chromeでデバグ中にjQuery等のライブラリをデバガから除外したい
http://qiita.com/k12u/items/3d667c1cf5287625024c

これか? ぶっちゃけ最近デバッガを使ってデバッグなんてしないんで
使うことは少なそうだけど覚えておこう
2017/06/21(水) 03:01:45.20ID:CAzvCkNY0
>>471
デバッガ使いたくなんない?むしろなんで使わない
473デフォルトの名無しさん (ワッチョイ 4f23-XseL)
垢版 |
2017/06/21(水) 03:17:38.50ID:S2UygZ3z0
なるほど、ライブラリやフレームワークごとの専用の
デバッガがあるから、それを使えってことかな?
素のDevToolでJSの拡張機能までデバッグするのはしんどいという
訳ですな?
2017/06/21(水) 06:28:42.91ID:jrlM/REO0
>>466
>>467
韓国人死ね

>>473
誰一人としてそんな事言ってないだろドアホ
日本語できない奴は死ねよ
2017/06/21(水) 06:48:00.00ID:xiNpcjp10
>>472
俺が書くコードは、1関数だいたい10行程度なので
デバッガを使うまでもない。
デバッガ使わないとどうなってるかわからんって状態はならない
476デフォルトの名無しさん (ワッチョイ 4f23-XseL)
垢版 |
2017/06/21(水) 14:22:08.00ID:S2UygZ3z0
つかいつも「is not function」とか「is not constructor」とか
発生するけどこれなんなん?
これが出るとどうすることもできないんだけど。
使用例に載っているメソ使っただけやで、なんで見つからないの?
2017/06/21(水) 16:17:38.60ID:L1LFWazB0
「is not function」「is not constructor」で検索すれば?

時間の無駄だから、動かないサンプルを使うな。
動くサンプルで試すこと
2017/06/22(木) 02:47:49.41ID:OYq0ENPVd
関数でないコンストラクタをnew無しで呼んだり
その逆をしてるんじゃないか?
2017/06/22(木) 08:10:02.93ID:Qu5nJJDT0
コンストラクタを意図してない関数にnewつけて呼んでも内容によってはエラーが出るだけだ
あとコンストラクタは全て関数だ

is not functionは5();とかhoge();(hogeは未定義)とかで出る
is not constructorはnew 5とかnew hogeとかnew Math
480デフォルトの名無しさん (ワッチョイ f723-Udsw)
垢版 |
2017/06/22(木) 09:47:04.16ID:YGBngHLu0
というと、 「is not function」と「is not constructor」は対応していて
newの有無を間違えるとどちらかのエラーがでるということ?
ちなみにその関数(もしくはコンストラクタ)をdevtoolsのコンソールで叩くと
undifinedになるな
new をつけても同じ、
別のケースとして関数名(コンストラクタ名)を叩くと
関数の内容のコードが表示されて、
() をつけて実行すると失敗する場合もある
基本的にライブラリが提供しているドキュメントに従って
文法を記述して使ってるだけなので、その通りにやったのに
失敗するとそっから先に進まずにいつも行き詰まっちゃう。
ソースは読めている場合が多く、「仕様変更か?」
「関数が仕様から削除された?」
「前提としているライブラリスクリプトが足りていない?」
「DLしてくる提供元がおかしかった??」ってなる。
大抵は公式HP, npm installからインストールしてるんだけどな、
まれにgitHub
2017/06/22(木) 11:54:01.38ID:uKRcvLOWM
>>480
その関数(というかメンバ)呼ぶところで止めてデバッガでオブジェクトみたりしないの?
今の時代それすらできないレベルだと何もできないとおもうぞ
枯れたライブラリーならともかく大抵は活発に進化を続けてるものばかりで、自分でデバッガ追ったりして仕様確認できないとどうにもならない
web屋の延長でJSもたしなみますレベルならともかくまともにJSやりたいなら最低限、ソースや実行時のオブジェクト確認は必要だとおもうぞ
2017/06/22(木) 13:38:54.78ID:lNc7wlbkM
>>480
関数ではないものを呼び出そうとするから、そうなる
[].hogehoge(); がTypeErrorになるのは自明だろう?
「あなたが関数だと思っているもの」は関数ではないのだ
483デフォルトの名無しさん (ワッチョイ f723-Udsw)
垢版 |
2017/06/22(木) 14:46:40.79ID:YGBngHLu0
コンソール上でただ関数名を叩くのと、
「特定のコードで止めた状態」で
関数名を叩くのでは意味が違うってこと?
止めるって行番クリック? お、これ結構便利じゃん、
すげえよ、これ。無名function内のイベント見れんじゃん!
いや、助かりました。なんとかなりそうだな
つかみんなこういうのどうやって覚えるの?
少なくとも大学では習わなかったし、
オライリー本とか読んでも詳しいデバッグ方法までまで書いてなかったんだ
けど。
2017/06/22(木) 15:23:14.31ID:uKRcvLOWM
>>483
昔はバグが出たら色んな箇所でalert出して中身を確認してたんだよ
後にプラグインでウォゥチができるようになり、そして時代が進んで今はそブラウザ機能で標準で付くようになった
今の時代、デバッグ方法なんでググればいくらでも出てくるから相当恵まれてるぞ
昔はある程度の規模のアプリ作るにもまずはデバッグ機能が付いた自作フレームから開発してたからなぁ
2017/06/22(木) 15:35:19.64ID:uKRcvLOWM
>>483
あと、教えてもらうのを待ってると何もできないのがJS
日本ってびっくりするくらいのIT後進国だから枯れた技術以外は本当に日本語情報がないに等しい
がんばって英語圏のサイトぐぐって自力で進まないといけないのがしんどい
若者にはほかはどうでもいいから英語だけはしっかり勉強しとけといいたい

ITに関して海外は日本とちがって技術情報をどんとんシェアしあって進化していく文化なんだよな
英語ネイティブが心底うらやましい
2017/06/22(木) 15:43:36.74ID:803dzZmQ0
2010年くらいまではfirefoxとかDOMAPIをnew無しで呼べるブラウザがあった
その影響だろうがその頃の情報を使うほうが悪い
2017/06/22(木) 15:48:26.92ID:uKRcvLOWM
今の時代firefoxは開発ではつかっちゃダメなブラウザだよね
昔はfirebugとかでお世話になってけどいまはchromeがすごすぎてそれ以外を使う選択肢がほぼなくなってしまってる
2017/06/22(木) 17:09:05.90ID:fECr67qI0
俺のfirefox54 console.logすら出ない
さすがに困る
2017/06/22(木) 17:17:37.58ID:fECr67qI0
コンソールをいじったら表示した
それにしてもfirefox使いづらくなった
2017/06/22(木) 19:57:15.06ID:pdtX1+xD0
チョロメはいいんだけど重いんだよな
チョロメを使ってnotepadか狐使ってIDEか
嗚呼メモリ4GBだと足りない時代が来るなんて
2017/06/22(木) 21:03:51.10ID:mK9eU2XF0
>>485
自演ウザい
韓国人死ね

非韓三原則: 助けない、教えない、関わらない
嫌韓は日本人によるアクションではなくて、リアクションである


結局不遜鮮人はこのスレに居つくようだ。
彼らは嘘ばかり言うから注意しろ。
いちいち指摘はしないが、ちょっと考えれば分かるはず。

不遜鮮人はこうやって全てのスレをゴミにしてきた。
このスレもWeb板と同様、ゴミスレになっていくだろう。
モラルが著しく低い韓国人の存在自体がスレの悪化につながる。

明らかにおかしな質問は無視、
知らないことには答えない、
自分より詳しい奴がいそうならそいつの回答を待つ、
意味不明な布教はしない。
本当にこれだけでいいのだが、
自己を客観的に見えないキチガイな韓国人にはこれが出来ない。

ただまあ、いちいち指摘はしない。
いやそれは無いだろ、と思ったら無視でいい。或いは叩け。
2017/06/23(金) 08:25:59.03ID:tdHTYauf0
言語の難しさでは、JSは、すごく難しい
Ruby > Python >>> JS

Rubyなら「たのしいRuby」「Effective Ruby」の2冊を読めば、そこそこ出来るけど、

JSでは「Effective JavaScript」とか、
Douglas Crockford, Stoyan Stefanov とか、読んでないと無理

Google など、フレームワークを作る人は、怪物みたいな本、
David Flanagan「JavaScript 第6版」も読んでる
2017/06/23(金) 09:33:27.67ID:3Ai2U+Dx0
いやぁ
「他の言語と比べて変わったところ」という意味ではJSもPyhonも変わらんよ
Rubyはそれらと比べて一回り自然になることを目標に作られているが

つうかJSでそれらの本は時代遅れよ だってES5の本じゃん
それにそれらを必ずしも読む必要はないよ
確かに特にプロトタイプチェーンとかを理解しようと思えば
仕様周りの説明を理解することが必要だけど
別にそういうこと自体の量や難しさは高くない

ただそれらを理解せずとも使える、わかった気になれるので
学習に良くない情報が溢れてしまってる
そんな知識に染まりきった後に勉強しようとすると大変
そもそも本当ならクラスベース的なものを教える前に
そのベースとなっているプロトタイプベースを教えないとおかしいが、そういう指導書はまだ無い

あとはJSは「正解」を作らない主義というのも影響が大きい
「正解」が明確にないからこそ、偉い人の言葉だったりとか、最新のAPIの策定状況を見て
今の「正解」を常に感じ取っていく必要がある
5年前の最新の知識、例えば上の本の内容を今使ったら笑われる それがJSの難しさだった
が、ここ1年くらいはJS周りが停滞してる(その代わりCSSなどスタイル周りが進歩した)ので深く学ぶチャンス
2017/06/23(金) 09:48:05.19ID:UGEgTjVj0
> あとはJSは「正解」を作らない主義というのも影響が大きい

正解を作る主義の言語なんてあったか?

> 最新のAPIの策定状況を見て
それはJavaScriptじゃなくてブラウザAPIの話ですね
これらは違うものなんで分けて考えられるようになりましょう
495デフォルトの名無しさん (ワッチョイ ffaa-4OJu)
垢版 |
2017/06/23(金) 11:57:19.92ID:tdHTYauf0
オブジェクト指向JavaScript、2012、Stoyan Stefanov

この本の第6章「継承」だけで、40ページある。
プロトタイプで、クラス継承を真似るのは、非常に難しい。
12パターンも書いてある

1. ECMA標準の方法
2. YUI, Ext.js の方法
3. jQuery, Prototype.js の初期バージョンの方法
4. jQuery の最近のバージョンの方法

普通の言語では、クラス変数で悩まないけど、JSでは、
obj.prototype.prop = 'aaa'
と自分で、1階層上へ持って行かないといけない

obj.prototype, obj.__proto__ の違いとか、わかりにくい
2017/06/23(金) 12:02:48.36ID:nmTklqOoM
正解を作らないというより、用意された正解がないんだよ
ベストと思われてる手法がすでにトリッキーで他言語からみたら意味不明な形の場合が多い
当然こんなのは入門書よんだくらいじゃ想像もできない
使い手側の熟練度によって言語世界が進化してきたようなものだからなぁ
先人たちの変態努力により、こんなのJSでできるの?!の繰り返しで進化してきた物

あと、JSはwebブラウザ上でありとあらゆるメディアを扱うインタラクティブなUIを構築する言語というのがでかい
そもそもrubyレベルとは仕事の大変さが100倍違う
2017/06/23(金) 12:45:18.23ID:qncJfkkv0
ES2015でクラス構文用意されてんだから、それ使っとけばいいのよ。
2017/06/23(金) 12:50:37.53ID:nmTklqOoM
>>497
何のためにトランスパイラとかが存在すると思ってる?
クライアント気にせずに最新仕様でつくれるなら誰も苦労はしないんだよ
2017/06/23(金) 13:55:47.25ID:qncJfkkv0
>>498
?トランスパイラ使ってるならなんの問題もなく最新構文使えるじゃん。何言ってんの?
2017/06/23(金) 15:58:55.19ID:nmTklqOoM
>>499
ここはaltJSのスレじゃないんだよ
JavaScriptの構文の話してんだろ?ん?
2017/06/23(金) 16:11:36.09ID:Oh+rLRJVa
on railsなしのrubyに実用性があるのか?ってのと
環境構築の観点から言ってrubyってどうなの?って思うんだけどな特に初心者とか
2017/06/23(金) 17:04:17.71ID:qncJfkkv0
>>500
ES2015はjavascriptですが。
2017/06/23(金) 17:24:47.76ID:3Ai2U+Dx0
>>494
違うものじゃないよ
例えばPromiseベースに変わっていったりすることだとか、
APIをどの程度普通に活用していくか、またAPIを提供する側では貰うか
例えばWebComponents関係のAPIを見て、
ああ今からはO.cをこの様にこの程度使ってもいいし、使ってもらってもいいな
ああ、O.cはこの程度の機関のつなぎのために使えるもので、
将来的にはクラス構文に頼るべきなんだね
じゃあ今はO.cでそこそこ自然に、そして将来はきちんとクラス構文を自然に適応できるような設計が良いんだね
のように関数などの設計の仕方、他にも名付け、役割のもたせ方などの今のベストプラクティスが学べる
2017/06/23(金) 17:34:10.86ID:3Ai2U+Dx0
>>495
確かにprototypeプロパティの存在が一番理解をややこしくしているとこだね
だって一番でしゃばってるくせに一番本質的でないものだからね
あと、昔は__proto__が非標準という点も教えにくかった理由の一つだと思う

本当はプロトタイプベースというのは好きなクラスシステムを用意に構築できるものだけど、
JSではプロトタイプに直接触らせてもらえないばかりか最初から用意されてる唯一の駄クラスシステムを使うしか無かった
それで駄クラスシステムをハックしてバックのプロトタイプ操作を活用するテクが要るようになった時点で終わり
でも今はそんな過去すっぱり忘れて自由なプロトタイプ操作と、ベターな新クラスシステムで覚えていっていいと思うけどね
それなら難しくないはずだよ
ただしnewTarget周りまで踏み込むとやっぱり仕様実装レベルの理解が要るし、シンボル周りもちょっと臭いけどね
2017/06/23(金) 19:20:59.60ID:nmTklqOoM
>>502
だからね

クライアントの環境無視で最新仕様を使い放題なら苦労はないつってんの

大丈夫かい?
2017/06/23(金) 22:30:15.32ID:3E3GCxwFM
>>505
だからね、どの環境でも最新の仕様が使えるようにトランスパイラがあるんだけど?
2017/06/23(金) 23:49:03.52ID:UGEgTjVj0
> クライアントの環境無視で最新仕様を使い放題なら苦労はないつってんの
Rubyとかでもクライアントの環境で動かすツールを配布するのであれば
クライアントにインストールされているRubyのバージョンを意識ないといけないんですが?

逆にJavaScript(nodejs)で動くサーバーアプリであれば
クライアントの環境無視できますよ。

あんたが言ってる問題点の原因は全部ブラウザのせいでしょう?
JavaScriptではなくてブラウザのせいでしょう?
だから分けて考えられるようになりましょうっていってんの
2017/06/24(土) 00:23:38.41ID:t7gIqydoM
>>506
だからそれはaltJSの話だろ?ん?

JSの構文の話してんのに関係ないじゃん

大丈夫かい?またループしてるよ
2017/06/24(土) 00:26:18.66ID:t7gIqydoM
>>507
君も話ができない人間だなあ

↓ちゃんとかいてるだろ?

>JSはwebブラウザ上でありとあらゆるメディアを扱うインタラクティブなUIを構築する言語というのがでかい
そもそもrubyレベルとは仕事の大変さが100倍違う
2017/06/24(土) 00:33:07.24ID:a1OlPOBm0
世の中にはJavaScriptとほとんど同じ文法を持つ
altJSがあるんだぜ?
その名はECMAScriptっていうんだ
2017/06/24(土) 05:43:28.56ID:xoA9E/ec0
インタラクティブなUIを構築する言語というより、
そもそも自己完結してるセマンティクス性の強いHTMLをハック、拡張する程度だったのが
アプリケーションプラットフォームとして利用する用になってきてどうしよう、大変ということだな

結局はそのための最低ラインまで持っていくのに何らかのフレームワークが必要になってくる
とは言えあくまでブラウザで自然に使えるWebページの1つだし、
Web Componentsで全てオレオレに構築してやるぜみたいなことはなかなかしない

結果非常に中途半端な微妙なラインで色んな技術やフレームワークと共に
周りの様子を常に伺いながら生きていかないといけない
自由が一番あるようで最もお手上げ状態なのが今のJS界

Nodeなんかもその呪縛から解き放されてるわけじゃない
最初は結構独自にやろうとしてたみたいだが、結局大きくなって
「標準的なこと」を意識すればAPIの設計だったりWebに引っ張られるし、
Promiseだったり重要なコア部分もWebの発展とともにある
2017/06/24(土) 12:56:08.56ID:a1OlPOBm0
> 結局はそのための最低ラインまで持っていくのに何らかのフレームワークが必要になってくる

で、そういう話の最低ラインまで持っていこうとするなら
どの言語でもフレームワークが必要になるわけで
2017/06/24(土) 13:14:33.08ID:t7gIqydoM
ライブラリはほぼ必須だがフレームワークはちがうな
2017/06/24(土) 13:55:43.97ID:a1OlPOBm0
>>513
それはお前の最低ラインが低いだけだよw
JavaScriptと同じラインまでやろうとすると
どの言語でもフレームワークが使われてる
2017/06/24(土) 13:57:36.02ID:a1OlPOBm0
最低ラインを低くすればJavaScriptでもjQueryというライブラリと
UI専用マークアップ(HTML+CSS)だけで十分な場合も多けどね。
2017/06/24(土) 14:00:05.98ID:t7gIqydoM
>>514
具体的は?

フレームワークの多くは品質を固定して大量生産したり、チーム内のワークのばらつきを抑えるためのものでレベルや品質を極めるために使うものじゃないぞ
バカでもがんばれば一定のものが作れるというだけの話だよ
逆にレールから外れる必要があることをするときは寧ろ手間が増える

ライブラリーとフレームワークの違い分かってるかい?ん?
2017/06/24(土) 14:07:41.35ID:a1OlPOBm0
>>516
何の言語のフレームワークを教えて欲しいの?

Rails?
Spring?
Django?
.NET Framework?

なんでどの言語でもフレームワークが使われてると思う?
2017/06/24(土) 14:09:26.36ID:t7gIqydoM
>>517
javascriptで
2017/06/24(土) 14:10:03.31ID:a1OlPOBm0
あとオレオレフレームワークの定義なんてしないで、
どこから引用することで、説得力を上げるようにした方がいいよ

http://e-words.jp/w/%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF.html

ソフトウェアの分野では、ある領域のソフトウェアに必要とされる汎用的な
機能や基本的な制御構造をまとめた半完成品のことを「ソフトウェアフレームワーク」
「アプリケーションフレームワーク」などと呼び、これを略してフレームワークと
呼ぶことが多い。具体的なソフトウェアだけでなく、汎用的に適用できるプログラムの
設計モデルや典型的な処理パターンなどを含めてフレームワークと呼ぶ場合もある。

フレームワークは特定のプログラミング言語で書かれた、そのまま利用できる
ソフトウェアの主要部分の雛形(テンプレート)と、汎用的で再利用可能な
クラスやライブラリ、モジュール、APIなどで構成され、また、開発者がコードを
記述して機能を追加、拡張するための方法や規約などが定められている。
開発者は規約に従ってフレームワークの一部を改変したり、自らの必要とする
機能や処理を記述して追加することで、主要部分の設計・記述を省略して迅速にソフトウェアを完成させることができる。
2017/06/24(土) 14:10:48.86ID:a1OlPOBm0
>>518

https://furien.jp/columns/187/

◆AngularJS
◆Backbone.js
◆Ember.js
◆Vue.js
◆Knockout.js
◆React
◆Riot.js
◆Aurelia.js
2017/06/24(土) 14:13:42.94ID:t7gIqydoM
>>519
小学生かな?
ことばなんて狭義広義でいろいろ解釈あるだろ
ライブラリーと対比する形でフレームワークという言葉が出る場合、それが何を意味するかくらい分かるだろ
そういうコミュニケーション能力の低い人間が"人の求める物"を作るなんて難しいよね
2017/06/24(土) 14:13:51.32ID:a1OlPOBm0
最低ラインをクリアするにはどの言語でもフレームワークが必要だけど
多くのサイトは最低ラインまで必要ではなくて、jQueryという
ライブラリで十分ということはjQueryのシェア(72.6%)からも明らか

https://w3techs.com/technologies/overview/javascript_library/all
2017/06/24(土) 14:14:25.17ID:a1OlPOBm0
>>521
なんでフレームワークの一般的な定義に
文句つけてるの?
2017/06/24(土) 14:16:02.46ID:a1OlPOBm0
もしかして引用先を見ないで
俺のレスだけみて脊髄反射(笑)してしまったとか?

引用の続き

http://e-words.jp/w/%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF.html
> 汎用的で再利用可能なコードをまとめたものであるという意味では
> ライブラリやモジュールに似ているが、ライブラリでは全体を
> 制御するコードを開発者が記述し、ライブラリの提供する個別の
> 機能を呼び出す形となるが、フレームワークは全体を制御するのは
> フレームワーク側のコードで、そこから開発者が個別に追加した
> 機能を呼び出す形となる。このように制御-被制御の関係が
> 反転している状態のことを「制御の逆転」(IoC:Inversion of Control)という。
2017/06/24(土) 14:16:08.51ID:t7gIqydoM
>>520
で?
それらのどこが必須なのかな?ん?
2017/06/24(土) 14:16:53.00ID:a1OlPOBm0
>>525
最低ラインを満たすなら(どの言語でも)必須だし、
最低ラインを満たさないなら必須ではない
2017/06/24(土) 14:22:37.32ID:t7gIqydoM
最近は普通のアプリはご無沙汰でnodeとsocket.ioをサーバーにしてクライアントはpixi.jsとglslのwrbGL使ったスマホゲームばかり開発してるけど
JSゲーム関連でもゲームフレームワークと呼ばれるものがあるがクオリティ考えるとほぼ使い物にならんぞ?

おまえのような業界の流行を使う事が目的になってるようなやつ結構いるんだよね
googleのアングラーですら識者の間だと賛否あるってのにそれに頼りきって使う=クオリティってどんだけレベル低いんだ?ん?
2017/06/24(土) 14:44:13.37ID:a1OlPOBm0
「クオリティ」という理由を言った以上
どういう点の「クオリティ」が理由で
使いものにならないか説明する義務がある。

思いつかなかったからってクオリティ以外の話に逃げるなよ?
2017/06/24(土) 14:46:56.26ID:a1OlPOBm0
あと逃げられないように、JavaScriptの
有名ゲームフレームワークを上げておこうか

もちろん俺がまとめても説得力がないんで

HTML5ゲームの種類とゲーム用エンジン・フレームワーク15選
https://furien.jp/columns/216/


Cocos2d-JS
enchant.js
Kiwi.js


あとUnityでもJavaScriptは使えたな
2017/06/24(土) 15:07:32.10ID:lv1T+xsp0
gameQueryが載ってない
pixi.jsも載ってない
2017/06/24(土) 15:09:39.25ID:a1OlPOBm0
>>530
無名だから乗ってないのでは?

自分からマイナーなものを使って
クオリティが低いって言ってりゃ世話ないなw
2017/06/24(土) 15:15:02.76ID:lv1T+xsp0
jQueryのゲーム用拡張版とRPGツクールMVのPRGスクリプトのベースライブラリなんだけど
まぁgameQueryはマイナーっちゃマイナーだけどpixiがマイナーっていうのは違うと思う
2017/06/24(土) 15:17:39.77ID:xoA9E/ec0
>>512
言い方が悪かったな
.NETのような取り敢えずこれでしょと言えるほどの準標準クラスのUIフレームワークが無いということ
2017/06/24(土) 15:28:56.29ID:a1OlPOBm0
準標準クラス(?)でなければUIフレームワークはあると
力説されましてもw
2017/06/24(土) 15:29:25.85ID:a1OlPOBm0
UIフレームワークがいくらでもあることなんて知ってますよw
2017/06/24(土) 15:35:47.77ID:7kzB7ca00
>>508
babelは
最新のjs仕様を解釈してES5等のコードに変換するトランスパイラでありaltjsではないよ。
altjsというワードが何か良くかんがえてみて。

babelがなんでできたかかを調べてみると良いと思う。
2017/06/24(土) 15:43:30.87ID:NarhakH90
また俺様仕様でケンカしてるのか?w
2017/06/24(土) 18:54:19.51ID:xoA9E/ec0
WebのUIフレームワークはHTML+CSSというUIフレームワークのフレームワーク
だからやりきれない部分がある
かと言ってフルCanvasにする勇気はない
2017/06/24(土) 20:02:07.57ID:7kzB7ca00
>>538
Reactが当てはまるんじゃないかな。
あればCSS-in-JSと言ってCSSもJSコード化できるから
class名前衝突みたいなことも起きない。
2017/06/24(土) 20:23:15.13ID:xoA9E/ec0
確かにReactは素晴らしいがあれはUIフレームワークというより
UIフレームワークのための下地を敷き直すためのものなんだよね
だから実際なにかをしようとするとReact+αで使う

何かベース技術を高度にまとめあげたものと言うより、沼地の舗装なんだよね
本当ならそこまで標準で持ってくるべきだと思う
2017/06/24(土) 21:03:21.38ID:a1OlPOBm0
つまりC言語の標準ライブラリに、GUIライブラリを追加しろと
言ってるようなもんだw
2017/06/24(土) 21:57:01.47ID:7kzB7ca00
Reduxで非同期処理。特に async -awaitを使う上で
おすすめのミドルウェアはなんでしょうか?
いくつかあるんで悩んでます。
やはりredux-promiseあたり?
2017/06/25(日) 05:15:16.70ID:2BPKv+990
async-await構文とReduxって相性良いのかなあ
いっそ捨ててまだPromise非対応のWeb APIを容易にPromise化する手段と
observable系のもうワンランク規模が小さい補助フレームワークと
非同期系以外のフレームワークでこなすのが良い気がする
2017/06/25(日) 06:14:30.51ID:W+t3LiWk0
jQuery 3.0のAjax関連がWeb APIをPromise化してくれるよ
正確にはDeferredなんだけどPromise互換になった

jQuery 3での変更点 〜 Promises/A+互換となったDeferred機能を中心に
https://codezine.jp/article/detail/9588
2017/06/25(日) 07:41:17.07ID:crK74dJZ0
個人的には今のところredux-sagaが正義。だな
2017/06/25(日) 11:06:59.71ID:qFvznRBFM
>>529
おまえって本当にうわべだけのweb屋なんだな
blogぐぐって"流行"うんちくを貯めるのが目的と化してるじゃん

で?

フレームワーク使わないものはレベルが低い云々の落とし前をはやくつけたら?ん?
2017/06/25(日) 11:18:22.43ID:qFvznRBFM
まぁ、こういう経験もセンスもない人間って"何かを使う"ことで自分のスキルがあがったと勘違いするんだろうなあ
誤解を恐れず他言うとフレームワークなんてのは学習コストがかかるかわりにバカがバカなことできないレールが敷かれることなんだよね
それによるコードや構造の制約がチーム開発に向いてるという側面もあるが、
なにを曲解してるのかフレームワーク使わない=その程度の低いレベルなんて言い出すバカが居るんだよな
blog屋の言うこと真に受けてるるんだろうが、ああいう奴らはとにかく新しい流行を作り出してそれを記事にして必要性をアピール、ページアクセス稼ぐのが目的なのにね
2017/06/25(日) 11:29:28.28ID:ErWDHGCBd
ちょと新しいフレームワークを皆で使ってみようという試みが許されない職場はレベルが低いと思う。
2017/06/25(日) 13:07:18.05ID:W+t3LiWk0
>>546
遠吠え吐いてないで、何か言い返せよw
2017/06/25(日) 13:08:07.55ID:W+t3LiWk0
結局この質問に答えられない挙句w

「クオリティ」という理由を言った以上
どういう点の「クオリティ」が理由で
使いものにならないか説明する義務がある。

思いつかなかったからってクオリティ以外の話に逃げるなよ?
2017/06/25(日) 17:16:09.16ID:IkLGzeDR0
ここ質問スレだよね?
1のルールがん無視なんだけど、ここ質問スレだよね?
ライブラリ関係の質問どころかライブラリで議論しちゃってるけど、ここ質問スレだよね?
2017/06/25(日) 19:34:26.21ID:2BPKv+990
もはやそれがこのスレの伝統だから
そのツッコミも含めてな
2017/06/25(日) 22:48:16.18ID:G9hb13It0
4年近くこの状態だからな
NGにいつもの荒らしと構う馬鹿のID二つ突っ込む癖を付けとけ
2017/06/26(月) 08:26:17.61ID:iHONTeAN0
俺様仕様のクオリティw
555デフォルトの名無しさん (ワッチョイ f723-Udsw)
垢版 |
2017/06/26(月) 14:37:47.78ID:NlJN5AI+0
JSデバッグしているときにConsoleに出てくるエラーメッセージの
右側のソースファイル名: 行番号のリンクに
「VMxxxx: 行番号」ってなっていることあるんだけど、
この「VM」ってファイル何?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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