JavaScriptの長所と短所
Javascriptはクライアントサイドのスクリプト言語であり、フロントエンドの開発に使用され、ウェブサイトの機能を拡張し、リッチなウェブアプリケーションの作成を支援します。
オブジェクト指向のプログラミング言語であり、C言語やJava言語に由来する構文を持ち、ステートメントの終了にセミコロンを使用する。
また、動的なデータ型、演算子、メソッド、オブジェクトを備えています。 この技術を実行するために、外部プログラムは必要ありません。
コードが実行された後のJSコードを、ユーザーのブラウザから(それが置かれているサーバーに直接ではなく)解釈して、その結果を表示するのです。
JavaScriptでできることと、できないことがあります。
あなたにできること
- クッキーを作る
- マウス/キーボードのイベントをキャッチする
- CSSスタイルの管理
- データの有効化
- HTML要素/属性の管理
- ユーザーへのフィードバック/ユーザー活動の検出
- ブラウザウィンドウの管理
できないこと
- アクセスデータベース
- サーバーサイドのスクリプトを使用しない限り、サーバーに何も書き込むことができない
- JSでブラウザのウィンドウを閉じることはできません。 これは、JSウィンドウを開いた状態でのみ可能です。
プログラミング言語の主な利点は以下の通りです。
1) 非常に習得しやすい言語
この技術の大きな魅力のひとつは、習得が非常に簡単なことです。 おそらく、英語に近い構文が使えるからでしょう。 開発者は簡単にスクリプトを開発し、DOMモデルを使用して多数の定義済み機能を利用し、カスタマイズされた要件を解決することができます。
2)使い勝手の良さ
稼ぎやすいだけでなく、このコーディング言語は使い勝手がいいんです。 スクリプト言語は、皆さんが使っている最新のブラウザにインストールされているので、わざわざインストールする必要はありません。 また、フロントエンド言語であるため、Webサイトの楽しい要素をすべて簡単に実行でき、Webサイトのジャズ化にもすぐに利用できます。
3) 給与体系が魅力的であることは確か
熟練したJS開発者の需要は増加傾向にあり、今後もその傾向は続くと思われます。 この技術ができてから20年ほど経ちますが、需要が衰えることはありません。
Javascriptのスキルは、常に求人市場で注目されており、技術市場に掲載される求人には、必ずと言っていいほど、開発者の需要があります。 Node.js、Angular.js、Backbone.jsに精通した開発者が急激に増えてきています。
4)高速なユーザーエクスペリエンスを提供する
コーディング言語はクライアント側で実行されるため、結果や処理も瞬時に行われることになります。 メモリを食うことも、サーバーの帯域を消費することも、サイトのウェブサーバーで処理を行う必要も全くない。
5)ウェブページへの機能拡張
汎用性が高くシンプルなこのスクリプト言語は、他のいくつかの便利な機能の他に、サードパーティのスクリプトによってWebサイトの機能を拡張します。
そして、その用途は、画面上の視覚効果からWebページ上のデータの処理・計算まで多岐にわたります。 サードパーティーのアドオンとしてはGreasemonkeyが有名ですが、自分で書くことも可能です。
6) コンパイラではなく、インタプリタ言語であること
JSはコンパイラ言語ではなく、インタプリタ言語である。
ですから、C++やJavaのように、実行前にコンパイルが必要なわけではありません。 ソースコードはコンパイラを経て、マシンが理解できるバイトコードに変換され、実行される。
ブラウザのインタプリタがJavascriptのコードを読み、各行を解釈し、実行します。 ブラウザには、コードを実行する前に実行可能なバイトコードにコンパイルするJIT(Just in Timeコンパイル)と呼ばれる技術が搭載されています。
短所
素晴らしい言語ではあるが、負の側面もある。 そのいくつかを見てみましょう。
1) セキュリティの脆弱性を利用する
また、サーバー上のウェブページにJavascriptのコードスニペットを追加すると、そのコードスニペットと一緒に悪意のあるコードがダウンロードされ、実行されることもあります。
ブラウザによるコード実行を制限するセキュリティ規格はあるが、クライアント側のサーバー情報を傷つけたり、盗んだり、破壊したりしないことが重要である。
2)レンダリングが異なる
レイアウトエンジンには様々なものがあり、言語をレンダリングする際に、機能面やインターフェース面で矛盾が生じる可能性があります。 最新の技術ではある程度解決されていますが、細かな差異が存在します。
3)JSの解釈が異なる場合がある
また、コーディング技術の問題点として、ブラウザによって解釈が異なるため、少し予測できないことが挙げられます。 また、サーバーサイドのスクリプトが常に同じ出力をするのとは全く異なります。
JavaScriptをベースにした面白いWebアプリケーション。
標準的な会議サイト「Code Conf」、IBMのデザインサイト、LFA(Lupus Foundation of America)によるループスについての全国組織「Know Lupus」、Nam Leの物語に基づいたオンラインのグラフィックノベル「The Boat」、世界野生生物基金ロシアによるキャンペーンサイト「Run4Tiger」、ラジオ番組「Design Matters」など、コーディング言語を実際に見ることができるウェブサイトをご紹介しています。
JS in the future – very bright one
欠点はあるものの、Javascriptは非常に便利な言語であり、すべてのWebブラウザで動作します。 この技術で作られたアプリケーションは、クロスプラットフォームのアプリケーションを簡単に開発できるため、あらゆるデバイスで動作します。
その誕生以来、プログラミング言語の役割は大きく広がっている。 主にクライアントサイドでは、Node.jsなどのプラットフォームを使って、サーバーサイドでJSを実行することができます。
Ajaxを使えば、ページ全体を再読み込みすることなく、Webページのポジションを簡単に再読み込みすることができます。 Ajaxを使ったJSの例としては、Google、Facebook、YouTubeなどが挙げられます。
コーディング言語は、より少ないコードで読みやすい言葉でプログラムが書けるため、将来的にはJSのコードの1/3rdに過ぎないCoffeescriptのコードを使う可能性が高い。 1995年の発売以来、コーディング言語は長い道のりを歩んできました。
クライアントサイドとサーバーサイドの両方のロジックをJavascriptで記述したWebアプリケーションを作成することができます。
また、この技術を使用する開発者にとっても、この技術はもはや単なるクライアントサイド言語ではなく、企業が様々な利益を享受するための汎用的で柔軟なプログラミングソリューションとして、非常に明るい未来が待っているのです。
また、ワークフローを効率化することで、開発者とのコミュニケーションを円滑にし、より多くのJSベースのプロジェクトにつなげることができます。
興味深い記事:
JSSCRIPTERSは、この技術の利点と欠点について書く
NamasteUIはJavaScriptについて書いています
Flickr.com/ Eric/ HasGeek