「JavaScript/ライブラリ」の版間の差分

削除された内容 追加された内容
M編集の要約なし
タグ: ビジュアルエディター モバイル編集 モバイルウェブ編集 改良版モバイル編集
読みやすい文章に書き換えた。
タグ: ビジュアルエディター モバイル編集 モバイルウェブ編集 改良版モバイル編集
39 行
 
== フレームワーク ==
ライブラリを提供している企業・コミュニティがいくつかあります
 
そのような企業・コミュニティなど提供のJavaScript用のライブラリが、俗にJavaScript用の'''フレームワーク'''と言われます
 
こういう派生フレームワークは、JavaScriptの公式コミュニティの開発'''ではない'''ので、JavaScript公式によるサポートは無いありません代わりに、それぞれのフレームワークの開発コミュニティなどがサポートしている。つり、フレームワークの開発コミュニティは、JavaScriptの開発コミュニティとは、別団体である
 
 
HTML4時代の2005~2010年の古くはjQuery(ジェイクエリ) というフレームワークが有名であったが、(また Ajax (アジャックス)というツールが jQuery によく対応していた)
 
HTML4時代の2005~2010年の古くはjQuery([[w:JQuery|jQuery]](ジェイクエリ) というフレームワークが有名であっが、(また [[w:Ajax|Ajax]] (アジャックス)というツールが jQuery によく対応していまし
しかしHTML5時代になり、jQueryはHTML4を前提とした構成のため、競争相手としてTML5対応を謳った新たなフレームワークも登場してきており、下記の3つのフレームワークが有名である。
 
しかしHTML5時代になり、jQueryはHTML4を前提とした構成のため、競争相手としてTML5対応を謳った新たなフレームワークも登場してきておりました。その中でも、下記の3つのフレームワークが有名である
代わりに
 
: [[w:Angular|Angular]] (アンギュラー) ※ 詳しくは [[w:Angular]]
: [[w:React|React]] (リアクト) ※ 詳しくは [[w:React]]
: [[w:Vue.js|vue.js]] (ビュー・ジェイエス) ※ 詳しくは [[w:vue.js]]
:: ※ 掲載順はアルファベット順
 
なお、Angularは、正確にはJavaScript ではなく、[[w:TypeScript|TypeScript]] です。また、[[w:Node.js|Node.js]] はフレームワークではなく、実行環境です。
という新興のJavaScriptフレームワークが、2010年以降のHTML5時代から台頭してきている。
 
しかし2020年の現状では依然としてjQueryが業界で大普及しているのが実情である。jQuery自身も更新により、HTML5対応のブラウザやサーバーでも問題なく動作しま
 
jQueryの問題点はHTML5以前を引きずっているかどうかだけでなく、<code> $(document).ready(function(){</code>のような構造の分かりづらい、jQuery命令群の命名規則もあります。$云々の命令のとき、 <code>(</code>が3個だが、<code>)</code>は2個です。こういったコードを書いたあと、jQueryの命令文を書き、最後に<code>});</code> で終了するため、結果的に丸カッコの左右の個数が一致するという仕組みです。また、jQueryの「$」記号は単なる関数名「$」です。JavaScriptでは関数名に「$」記号を使うことは禁止されていません。
なおAngularのプログラム言語は、正確には (JavaScript ではなく) TypeScript である。[[w:TypeScript]]
 
このほか、jQueryにはオブジェクトとメソッドのあとに、さらにメソッドがつくという、'''メソッドチェーン'''という記法も良く使われます(なおただし、jQueryを導入していない一般のJavaScriptでもメソッドチェーン自体は存在しています
またなお、Node.js はフレームワークではなく、( Node.js は)実行環境です。
 
こういう記法の意味の把握の難しさはjQueryだけでなく、jQuery以外の Angular / React / vue.js といった他のフレームワークでも、それぞれ難しい部分の場所の違いはれど、なぜか記法の各所で紛らわしい部分があったして、ます。なかなかヤヤコシイややこしいのが実情である
また jQueryの問題点はHTML5以前を引きずっているかどうかだけでなく<code> $(document).ready(function(){</code>のような構造の分かりづらい、jQuery命令群の命名規則もある(たとえば、例の$なんとかの命令の場合、丸カッコの左「(」が3個なのに、丸カッコの右「)」は2個である。
 
派生フレームワークはプログラミング言語ではなく、あくまでJavaScriptのライブラリでしかないのだが、しかしす。上述のどの派生フレームワークも、なぜか設計思想としてプログラミング言語的な記法を目指している方針のようであるそのため、どのフレームワークでも、JavaScript側の文法と、フレームワーク側の記法との接触する箇所で、文法(?)というか記法がまぎらわしくなっています
こういったコードを書いたあと、jQueryの命令文を書き、最後に<code>});</code> で終了するので、結果的に丸カッコの左右の個数が一致するという仕組みである。(JavaScript以外の派生フレームワークでも、たとえばPHPの有名な派生フレームワークのひとつ Laravel でも同様に <code>});</code> で終了するコードがよく出て来るので、プログラマーはこういう記法にも、なれるしかない。)
 
 
なおjQueryの「$」記号は実は単なる関数名「$」である。JavaScriptでは関数名に「$」記号を使うことは禁止されていない。JavaScriptのテンプレートリテラルでも同じ$記号を使うが、しかしjQueryの$記号はテンプレートリテラルとは無関係である)。
 
このほか、jQueryにはオブジェクトとメソッドのあとに、さらにメソッドがつくという、メソッドチェーンという記法も良く使われる。(なおjQueryを導入していない一般のJavaScriptでもメソッドチェーン自体は存在している。)
 
こういう記法の意味の把握の難しさはjQueryだけでなく、jQuery以外の Angular / React / vue.js といった他のフレームワークでも、それぞれ難しい部分の場所の違いはあれど、なぜか記法の各所で紛らわしい部分があったりして、なかなかヤヤコシイのが実情である。
 
派生フレームワークはプログラミング言語ではなく、あくまでJavaScriptのライブラリでしかないのだが、しかし上述のどの派生フレームワークも、なぜか設計思想としてプログラミング言語的な記法を目指している方針のようである。そのため、どのフレームワークでも、JavaScript側の文法と、フレームワーク側の記法との接触する箇所で、文法(?)というか記法が、まぎらわしくなっている。
 
HTML5対応を謳っていてもいなくても、JavaScript用の上述の4つのどの有名フレームワークも、記法のまぎらわしさが、何も解決していない。