JavaScriptを知っていますか?IT業界に関わっている方なら知らない方はほとんどいないでしょう。今やJavaScriptはウェブサイト(ブラウザ)にはなくてはならないものになっています。
一昔前であれば、「セキュリティのためにJavaScriptを無効にする」といったことが言われていた時期もありましたが、今ではJavaScriptを無効にした状態ではまともにサイトを見ることはできないでしょう。そのためFirefoxでは、JavaScriptを無効にするオプションが削除されました。
JavaScriptの普及率は非常に高く、今ではデスクトップやサーバーサイドでも活用が進んでいます。独学でもしっかりと学習しておきましょう。
この記事では、JavaScriptを学びたいフリーランスのエンジニア・デザイナーの方のために、JavaScriptの概要や使い道、独学での学習方法をお伝えしていきます。JavaScriptは、エンジニア・デザイナーの方には必須の知識です。また、それ以外の方でも知っておけば活用できる場面があることでしょう。
初心者の方でも比較的とっつきやすい言語なので、プログラミング入門にも向いています。まずは、JavaScriptがどんなものか説明します。
JavaScriptって何の言語?
JavaScriptは、オブジェクト指向のスクリプト言語で、数あるプログラミング言語のひとつです。歴史的な経緯から”Java”Scriptという名前になっていますが、Javaとは何の関係もないまったく別の言語です。黎明期にはトイ言語(おもちゃ)だと揶揄されることもありましたが、Ajax(動的なウェブサイト)とともに人気が高まり、今ではほとんどのウェブサイトで使われるようになりました。
成り立ち上、仕様の不備もあり近年ではDartやTypeScriptなどのAltJS(JavaScript代替言語)が生み出され、JavaScriptの代わりに使われるようになってきました。しかし、最終的にはJavaScriptにコンパイル(変換)されるため、JavaScriptの知識は依然として必要です。また、ほとんどのライブラリはJavaScriptで提供されています。
もちろん、JavaScript自体もなにも変化がないわけではありません。2015年6月にはJavaScriptの規格であるECMA Script 2015(ES6)が策定され、今後も改善が予定されています。ブラウザが対応して普及するまでには時間がかかりますが、いずれにしてもJavaScriptはよりよいものになっていくことでしょう。
JavaScriptはどんなところで使われている?
次に、JavaScriptが活用されている主な場所を紹介します。あなたの身近なところ、知らない所でもJavaScriptは動いています。
ブラウザ(ウェブサイト)
一番身近なところは、なんといってもブラウザでしょう。この記事ページにも多数のJavaScriptが使われています。たとえば、TwitterやFacebookにシェアするためのSNSボタンがそうですね。JavaScriptを使えば、HTMLやCSSだけではできない動きのあるサイトを作ることができます。
また、GmailのようにJavaScriptを活用して、ひとつのアプリケーションを作り上げることもできます。SPA(シングルページアプリケーション)と呼ばれるものです。ブラウザさえあれば、もはや専用ソフトは必要なくなる時代が来るかもしれません。Googleが販売するChromebookというノートパソコンは、ブラウザしかインストールされておらず、ブラウザを利用してGoogleのサービスなどを利用すること前提としています。これからはアプリケーションがどんどんクラウドに移行していくでしょう。
サーバーサイド
JavaScriptはクライアントサイド(ブラウザ)からはじまりましたが、サーバーサイドにも広がりを見せています。その代表格がNode.jsです。Node.jsは、サーバーで動作するJavaScript実行環境です。以前は、PHPやRuby、Javaなどの言語でサーバーサイドプログラミングを行っていました。それをJavaScriptに置き換えることで、サーバー・クライアントともに同じ言語でのプログラミングができるようになります。
また、Node.jsはウェブアプリケーションで問題となる、大量アクセスによる性能劣化問題を解決します。普通のパソコンで簡単に実行できるので、興味がある方は試してみてください。
デスクトップ
最近ではモダンなプログラミング向けエディターが流行っています。有名所では、AtomやVisual Studio Codeなどがあります。この2つのエディターは、Electronというフレームワークで作られています。そして、前述のNode.jsはElectronを構成する一部なのです。
つまり、JavaScriptでデスクトップアプリを作れるというわけですね。使ってみると分かるのですが、普通のデスクトップアプリとなんら変わらないUIと操作性を持っています。HTMLとCSSで画面を構成して、それをJavaScriptで操作するといった具合です。いやはやJavaScriptの汎用性には驚かされますね。
独学でJavaScriptを学ぶための5ステップ
最後に、独学でJavaScriptを学習するための方法を順番に説明します。JavaScriptは非常にメジャーな言語でウェブ上に情報も多いので、独学で学習するのは比較的容易でしょう。
1:HTML・CSSの基礎を勉強する
JavaScriptは、ほとんどの場合HTMLやCSSと一緒に使われるので、両方の知識が必須になります。JavaScriptを学習する上では、ひとまず基本的なことだけわかっていればなんとかなります。入門書を使って基礎部分だけでも学習しておきましょう。書籍は、「いちばんやさしいHTML5&CSS3の教本/赤間 公太郎(インプレス)」がおすすめです。
2:JavaScriptの言語仕様を学ぶ
HTML・CSSの基礎が理解できたら、JavaScriptの言語仕様を学びましょう。いきなりウェブ上の情報で学習をはじめるよりも、書籍から正しくまとまった情報を得ておくべきです。初心者の方は、「確かな力が身につくJavaScript「超」入門/狩野 祐東(SBクリエイティブ)」を読んでみるとよいでしょう。
いったん一通り目を通してから、またはじめから読み直します。各項目はある程度関連があるので、全体を見通してからの方が理解しやすくなるためです。読み直す際には、実際に手を動かしてプログラミングしましょう。JavaScriptはブラウザとテキストエディターさえあればよいので、なにも準備しなくてもすぐにプログラミングに入れます。サンプルコードを少し改変しながら、どう変わるのか予想しつつ実行すると効果的です。
3:自分でなにか作ってみる
入門書を一通り読み終えたら、理解度を確かめるために簡単なアプリケーションを作ってみましょう。たとえば、「四則演算ができる電卓」や「テキストボックスの文字数をカウントするツール」などです。ここまでに学んだ知識を取り入れたプログラムにするとよいでしょう。
4:ライブラリの勉強をする
JavaScriptは他の言語同様、実際にプログラミングする際にはライブラリ(フレームワーク)の力を借りることになります。そのため、有名所のライブラリを学習しておく必要があります。たとえば、jQueryやAngularJS、Reactなどです。特にjQueryは実に半数以上のウェブサイトで使われているため、必須の知識です。入門書や解説サイトがたくさんあるので情報に困ることはないでしょう。
5:より深くJavaScriptを学ぶ
ここまでくればかなりJavaScriptに馴染むことでしょう。しかし、JavaScriptは奥深く、プロトタイプベースの継承など一風変わった仕様がたくさんあります。より深く知るために、「JavaScript 第6版/David Flanagan(オライリージャパン)」を読むことをおすすめします。非常に重厚な書籍ですが、その分非常に詳しく解説されています。JavaScriptを使いこなすのに役立つことでしょう。
まとめ
独学でもできそうな気がしてきましたか?まったくの初心者の方は、プログラミングのイメージがあまりつかめないと思います。まずは、入門書からはじめてみてください。わかってくるとだんだん楽しくなってきますよ♪プログラミング経験者の方は、それほど苦労せずに取得できるのではないでしょうか。「どうしても独学ではうまくいかない!」という方は、オンラインセミナーや勉強会に参加して学習してみましょう。勉強仲間を作るのも効果的です。ぜひJavaScriptを取得してオリジナルのものを作ってみましょう。あなたはJavaScriptでなにを作ってみたいですか?
実際のフリーランスの案件を見てみよう
最近では「クラウドワークス テック」などのフリーランス専門のエージェントサービスもありますので、まずは実際に募集のあるお仕事の事例をチェックしてみると良いでしょう。
登録をすると、Web上では非公開の案件もご紹介を受けることができます。まずは色々なエージェントサービスへ無料登録するところからスタートしてみましょう。
フリーランスになるために必要な知識やスキルアップの方法等、様々なお役立ち情報を発信していきます。
(リモートワーク案件に強いフリーランスエージェント「クラウドワークス テック」を運営)