🐱

3分でJavascriptの特徴をざっくり理解する

2021/05/23に公開

あなたはJavascriptの特徴を知っていますか?
この記事はJavascriptをあまり触ったことがない人に向けたものです。

それでは、まずJavascriptの歴史について紹介します。
Javascriptの歴史を知って何になるねん!と思う方もいるかもしれませんが、Javascriptの歴史を知ってターニングポイントを知るとJavascriptの良さ、特徴的な機能がわかります。そのため、まず歴史を紹介していきます。

Javascriptの歴史

ざっくりとした歴史の流れはこうです。
標準化→標準化決裂→Flashの方が主流に→Javascript普及→複雑化

1998年 ECMA-262 第2版、1999年 ECMA-262 第3版までは標準化はされていましたが、ECMA-262 第4版が出るとき、意見が分かれたため標準化が進まなくなりました。この頃はJavascriptを使った無駄に動きが多いサイトが増えたり、ブラウザがセキュリティの問題でJavascriptの脆弱性を突かれたりしてFlashを使って動くWebページを使う方が主流になりました。

2000年を少し過ぎるとAjaxの登場や、ライブラリの普及、V8エンジンの登場、そして2009年にECMA-262 第5版が発表され,標準化に近づきました。

2010年以降は、Node.jsやJSフレームワークによってかなりいろんな人に使われるようになっていきました。しかし、現在は複雑化・高度化してきたため難しい部分も増えました。

Ajax

Ajax(エイジャックス)は、ブラウザ内で非同期通信を行いながらインターフェースの構築を行えるものです。これにより、動的にページの一部だけ書き換えることができます。

2000年前後にはJavascripは軽視されていました。しかし、2005年にGoogleがAjaxを使ったGoogleMapを発表したり、GmailにもAjaxを使い始め、いまや必要不可欠なものとなりました。

GoogleMap Gif
(左)同期通信、(右)非同期通信

V8エンジン

V8は、C++で書かれており、Google ChromeやNode.jsで動いています。
2008年にGoogle Chromeが公開され、ここに積まれていたV8エンジンというJavascript実行エンジンが搭載され、Javascriptが遅いという常識を覆しました。

Node.js

Googleが開発するオープンソースのJIT Virtual Machine型のJavaScriptエンジンです。
2009年にV8 Javascriptエンジンで動作するサーバーサイドのJavascript環境であるNode.jsが登場しました。それまで,ブラウザでしか動かせないというJavascriptの常識を一気に覆しました。
https://nodejs.org/ja/

JSフレームワーク

最近のJSフレームワークの技術動向をGoogle Trendsで調べてみました。
フレームワークは一時期はjQueryの人気がすごかったですが、今ではオワコンとも言われています。一方、Reactは徐々に世界で使われるようになってきています。
ざっくりフレームワークの特徴を書いたので、現在の動向と使用目的に応じて選択して使ってみてください。

React.js

React.jsはFacebookが開発しているフレームワークです。
Reactはシングルページアプリケーションやモバイルアプリケーションの開発におけるベースとして使用することができます。
https://reactjs.org/

AngularJS

AngularJSは、Googleが開発しているフレームワークです。
シングルページアプリケーション (SPA) の開発が可能なフレームワークで、一つのフレームワーク内で全ての機能が完結するフルスタックフレームワークであることが特徴として挙げられます。
https://angularjs.org/

Vue.js

JSフレームワークの中でも日本語のドキュメントが充実していて分かりやすいです。Javascriptのフレームワークを全く触ったことない人にとっても始めやすくなっています。

日本語ドキュメント
https://jp.vuejs.org/index.html
英語ドキュメント
https://vuejs.org/

jQuery

より容易に記述できるようにするために設計されたJavaScriptライブラリです。
最近では以前よりもだんだん使われなくなってきているみたいです。
https://jquery.com/

おわり

今回はJavascriptの特徴について書きました。
もしよろしければ”フォロー”と”いいね”をお願いします。
ぜひお時間があるときに、他の記事も少し読んでみて下さい。

Twitterもやってるのでそちらもよろしくお願いします。
https://twitter.com/nax0100

Discussion