- JavaScriptをメイン言語としてフリーランスで稼げる?
- JavaScriptのフリーランス案件の単価は?求人数は?
- JavaScriptが活かせる仕事の種類ってどんなものがある?
JavaScriptはWeb系を目指すフリーランスエンジニアであれば習得必須のプログラム言語です。なぜなら、ほぼ全てのWebページでJavaScriptは使われており、バックエンド開発やWebデザイナーであってもちょっとしたサイト修正など、何かと扱う機会が多いためです。
私はエンジニア歴21年の中で、会社やプライベートでC/C++のようなレガシー言語からトレンド言語まで幅広い開発をしてきました。しかし、その時の状況に対して不向きな言語を選択してしまう失敗もたくさんしてきました。
この記事では、JavaScriptの特徴、フリーランス案件の単価相場・求人数、職種、将来性について解説します。
この記事を読めば、「自分はJavaScriptを学ぶべきか?」「どう活かしたらよいか?」の判断ができるようになります。
【結論】
JavaScript習得はWebフロントエンド開発では必須。案件数は多い分、単価は並。フロントエンド以外の案件も増加中。
「JavaScript」とは?
JavaScriptはWeb業界では習得必須の言語です。本章ではJavaScriptの特徴を踏まえて、合わせて学習しておくと良い技術について解説します。
JavaScriptの特徴
JavaScriptはWebサイトの表現に動きをつけられるスクリプト型言語(インタプリタ)です。たとえば、入力フォームを設置したり、ポップアップウィンドウを表示させたり、etc.ができます。
プロトタイプベースのオブジェクト指向の原則で開発されており、文字列や配列などのコア機能から、最上部に構築されたブラウザAPIまで、ほとんどのものがオブジェクトです。
Webブラウザさえあれば実行可能ですが、使いこなすにはHTMLやCSSの基本的な理解も必要になります。
JavaScriptはWeb業界におけるフロントエンド言語として、1995年にNetscape社によって開発されました。世界で最も使われているプログラム言語です(※後述)。
JavaScriptはWeb業界の中で、フロントエンド開発向けの言語としてデファクトスタンダートですが、「Node.js」というフレームワークを使うことでバックエンド開発にも使えます。その他にも、デスクトップアプリやスマホアプリでも活用されるなど、いろいろと応用が効く点も魅力です。
しかし、バックエンド開発やアプリ開発には他に最適な言語があるため、フロントエンド開発以外ではJavaScriptが第一選択されることは多くはありません。たとえば、バックエンド開発だとRuby、PHP、Go言語、Python、etc.が、スマホアプリ開発ではSwift、Kotlin、Java、etc.のJVM系言語です。
ちなみに「Java」は、JavaScriptと名前が似てるが、全く別のプログラミング言語だぞ
【補足】 「フロントエンド」と「バックエンド」の違い
フロントエンド
直接ユーザーの目に触れるPCのブラウザ上でプログラム実行される。クライアントサイドとも呼ぶ。
バックエンド
サーバー上でプログラム実行をし、クライアントとデーターベースとの橋渡をする。サーバーサイドとも呼ぶ。
JavaScriptの特徴のまとめ
- コンパイル不要のスクリプト型言語(インタプリタ、動的型付け言語)
- プロトタイプベースのオブジェクト指向
- Webブラウザさえあれば実行できる
- Web業界のフロントエンド言語としてデファクトスタンダード
- 「Node.js」を使用すればバックエンドでも使えるが需要はそこまで高くない
- AltJSの静的型付け言語での開発が主流になりつつある(※後述)
- 強力なライブラリ・フレームワークを備えている(※後述)
プログラミング初心者にはJavaScriptがおすすめ
Web業界のフロントエンド開発の言語としてJavaScriptの習得は必須です。Web業界に限らずとも、初心者が一番最初に学習するプログラミング言語としてJavaScriptはイチオシです。
ただし、組み込み開発やSIerとしてシステム開発をする場合は、少し難易度は上がりますが、静的型付け言語としてスタンダードなC言語やJavaから学習する方が良いでしょう。
プログラム初心者にJavaScriptがおすすめな3つの理由
- ブラウザさえあればカンタンに動かせる
- JavaScriptコードが読めると何かと便利
- 仕事がたくさんあり、潰しが効く
おすすめ理由①は、ブラウザさえあればカンタンにJavaScriptは動くので、初心者がつまづきがちな環境設定で挫折することが無いためです。書いたコードの確認と修正のサイクルが速く、モチベーションの維持もしやすい。
おすすめ理由②は、IT系の仕事でJavaScriptが読めると何かと便利だからです。たとえば、直接的にはJavaScriptを使わないユーザー目線でブラウザ上の動作チェックができたり、ブラウザ系のトラブル時に対応できたりします。
また、Webデザイナー・WebディレクターであってもJavaScriptを知っておくと技術レベルがわかるため、発注金額の把握や実現手段の選択ができるでしょう。
最後、おすすめ理由③は、Web業界のフロントエンド開発を中心としたJavaScript案件はたくさんあり、他に競合言語も無く、しばらくは食うに困らないからです。
エンジニアも多いので価格競争になりがちですが、JavaScriptのフロントエンドの地位はしばらくは揺らがないでしょう。
jQueryやReact or Vueを使いこなせるレベルまでいければ、10年は食いっぱぐれはしないぞ!
JavaScriptと合わせてWebサイトの約80%で採用されているPHPも習得しておくと学習効果は高まります。
PHPをメイン言語としてフリーランスで稼げる? PHPのフリーランス案件の単価は?求人数は? PHPが活かせる仕事の種類ってどんなものがある? PHPはWeb系を目指すフリーランスエンジニアであればHTML・CSS[…]
組み込み開発、システム開発を中心としたエンジニアを目指すのであればC言語やJavaがオススメ。
C言語やC++言語をメイン言語としてフリーランスで独立できる? 「C言語は難しい」と聞くけど、今から学ぶ価値ある? C言語エンジニアの将来性は? 「C言語は習得が難しいからやめとけ」の声を鵜呑みにし、難しいという理[…]
Javaをメイン言語としてフリーランスで稼げる? Javaのフリーランス案件の単価は?求人数は? Javaが活かせる仕事の種類ってどんなものがある? Javaの歴史は非常に古く、今でも人気があり学ぶ価値の高い現役の[…]
JavaScriptエンジニアはAltJS(TypeScriptなど)も習得すべき!
JavaScriptをメイン言語に考えるエンジニアであれば、AltJSも習得すべきです。
AltJS(Alternative JavaScript)とは、コンパイル(トランスパイル)するとJavaScriptコードに変換されるプログラムのことです。煩雑なコードになりやすいJavaScriptの次のような欠点を補い、保守性を高める言語として設計されました。
JavaScriptの欠点
- 大規模開発向けではない
- クラスの概念がない(近年はcalss構文が追加)
- モジュール機能がない
- 名前空間の概念がない
- 型チェック機能がない
- 動的型付けのため、バグが発生しやすい
AltJSツールの比較
言語 |
設計・開発元 |
影響を受けている言語 |
型付け |
TypeScript |
Microsoft |
JavaScript、Java、C# |
静的 |
CoffeeScript |
Jeremy Ashkenas |
JavaScript、Python、Ruby、Haskell |
動的 |
Haxe |
Haxe Foundation、 |
ActionScript、OCaml |
静的 |
JSX |
DeNA |
JavaScript、ActionScript |
静的 |
Dart |
|
Java、C++、JavaScript、CoffeeScript、Go |
動的 |
おそらく今後は、JavaScriptをそのまま記述することは減り、TypeScriptなどAltJSで記述することが主流になるでしょう。
特に近年は、TypeScriptの注目度が高いのでおすすめです。Stack Overflowが発表の「最も愛されている言語」でTypeScriptは、最も求められている言語の1位であるPythonより上位の3位になっているほどです。
また、次章で紹介するGitHubの「最も利用されている言語ランキング」の急上昇4位の結果からも、TypeScriptがエンジニアから人気があるだけではなく、実際に使われていることもわかります。
Stack Overflowが発表の「最も愛されている言語」でTypeScriptが3位
JavaScriptの人気・実績はトップクラス!
本章で紹介する統計データからもJavaScriptは長年に渡り人気・実績をキープし続けていることがわかります。
また、AltJSであるTypeScriptの人気急上昇っぷりが顕著だったり、JavaScript関連のWebフレームワークが人気の上位を独占していたりと、JavaScript人気は安定しており、今後も注目されることが予想できます。
- Stack Overflowが発表の「最も使われている言語」でJavaScriptは9年連続 1位!
- GitHubが発表した「最も利用されている言語ランキング」でJavaScriptが第1位、TypeScriptが急上昇4位
※ 上記は2021/8/19にアクセス
Stack Overflowが発表の「最も使われている言語」でJavaScriptは9年連続 1位!
GitHubが発表した「最も利用されている言語ランキング」でJavaScriptが第1位、TypeScriptが急上昇4位
JavaScriptはライブラリ・フレームワークが豊富
JavaScriptには無料で使えて実績のあるWebフレームワークやライブラリの開発環境が充実しており、短時間で高品質なプログラミングが可能です。
JavaScriptのWebライブラリ・フレームワーク
- jQuery(ジェイクエリー)
JavaScriptライブラリのデファクトスタンダードと言われ、約70%のブラウザで使われている。初心者向け。最低限マスターすべきライブラリ。 - React(リアクト)
Facebookで開発され、オープンソースとして無料で利用できる世界的に一番人気のライブラリ。Webアプリと相性が良く、UIパーツの構築が可能。特に海外での人気は高く、Yahoo、Instagram、Netflixで利用されている。難易度は高め。 - Vue.js(ビュー・ジェイエス)
オープンソースコミュニティで開発され、無料で利用できるフレームワーク。Reactと同様にWebアプリのUIパーツ構築が可能。シンプルで日本語のドキュメントも充実しているため。学習コストが低いと言われている。日本での人気はNo.1。 - Angular(アンギュラー)
Googleで開発されたフルスタック型のフレームワーク。多機能で企業の大規模開発向き。習得難易度は高いが、使いこなせれば生産性が上がる。ユーザーにとっての自由度は低め。 - Node.js(ノードジェイエス)
上記の技術とは毛色が異なるフレームワークだが世界的にも超有名。サーバサイドでもJavaScriptを使って動かすことができる実行環境。
初心者が何から始めるか迷ったら国内人気が高く学習しやすいVue.jsから始めると良さそうだぞ。
Stack Overflowが発表の「最も使われているWeb Frameworks」では、JavaScript関連のフレームワークが上位を独占している。2021年の結果では、トップのjQueryを抜いてReact.jsが1位となったが、日本は特殊でViue.jsの案件が多い。
Stack Overflowが発表の「最も使われているWeb Frameworks」でJavaScript関連のフレームワークが上位独占
jQuery、React.js、Angular、Vue.jsはJavaScript系のフレームワークだぞ
ちなみに、「最も愛されているWeb Frameworks」ランキングでは、Svelte(スベルト)というフレームワークが1位にランクインしていますReact.jsやVue.jsよりはコード量が少なくなり、バンドル後のサイズも小さくなるメリットがあるので、国内の開発案件も増えるかもしれません。
【補足】 「ライブラリ」と「フレームワーク」の違い
ライブラリ
再利用できる関数群。その関数を呼び出す主導権はユーザー側にあるため、ユーザー側の実装の自由度が高いと言える。
フレームワーク
制御(フロー)を提供して開発を効率化するもの。ユーザーがコード実装できる場所がいくつか用意され、そのユーザーコードを呼び出す主導権はフレームワーク側にあるため、ユーザー側の自由度は低いと言える。
JavaScript案件の単価相場・求人数
レバテックフリーランス調べでは、JavaScriptフリーランス案件の単価相場は72万円と標準的。他のトレンドな言語と比較すると決して高くはありません。 しかし、求人数は4119件と多いことがわかります。
JavaScriptの求人・案件の月額単価相場 ※2021/8/22時点
»引用元|レバテックフリーランス - 単価相場を比較
JavaScriptができることだけでエンジニア価値をアピールすることは難しい。「JavaScriptができること」は採用者から見ると、「Web業界において最低限のレベルに達していると判断できる程度」と思っておきましょう。
Web業界でフロントエンジニアとしてやっていくには、React.js、Viewljs、etc.のフレームワークと合わせて学習しておこう
プログラム言語別の月額単価相場(単価の高い順) ※2021/8/22時点
言語 |
平均単価 |
最高単価 |
求人数 |
Kotlin |
82 |
125 |
553 |
Scala |
82 |
165 |
284 |
Go言語 |
81 |
145 |
692 |
Ruby |
80 |
145 |
1586 |
Swift |
79 |
125 |
929 |
R言語 |
79 |
95 |
46 |
Python |
77 |
145 |
1474 |
Perl |
73 |
110 |
280 |
JavaScript |
72 |
145 |
4119 |
PHP |
72 |
145 |
3824 |
C++ |
71 |
125 |
553 |
Java | 69 | 165 | 5791 |
C# |
68 |
115 |
1608 |
C言語 |
67 |
115 |
95 |
SQL |
65 |
145 |
1828 |
VB.NET |
61 |
95 |
600 |
COBOL |
61 |
95 |
160 |
» 引用元|レバテックフリーランス - 単価相場を比較
次の調査結果から、JavaScript案件の求人数は多いけれども給与がそれほど高くない状況が見て取れます。しかし逆に、JavaScriptの派生言語であるTypeScriptに関しては、求人数は低く給料が高い状況となっています。
HRogリストの給与と案件数の相関関係より
» 引用元| HRogリスト(フロッグリスト)
「JavaScriptを武器にフリーランスエンジニア案件の単価を上げたい」という方は次の記事を参考にしてください。
フリーランスエンジニアの単価相場ってどれくらい? 職種や年齢によって単価相場は変わる? 稼げるプログラミング言語は? フリーランスエンジニアの単価相場も知らずに闇雲に案件探ししていませんか? それでは、自分の[…]
JavaScript案件の種類
JavaScriptはWeb業界のフロントエンド開発の案件を主軸に、次のような案件種類があります。
- 【種類1】Webサイトのフロントエンド開発案件
- 【種類2】APIサーバーの開発案件
- 【種類3】デスクトップ・スマホのアプリの開発案件
【種類1】Webサイトのフロントエンド開発案件
Web業界のフロントエンド開発を行っている企業であればどこでも、このJavaScriptを使っていると言えます。したがって、このフロントエンド案件がJavaScript案件の8割以上を占めていると考えて良いでしょう。
JavaScriptはHTMLとCSSだけでは表現が難しい特殊効果や、アニメーションなどの動的な機能をWebサイトにつけられます。現時点でほぼ全てのブラウザ上で動く言語はJavaScriptしかないので、「JavaScript案件はしばらく無くならない」と見て良いでしょう。
しかし先述のとおり、JavaScriptをそのまま記述することは減り、TypeScriptなどAltJSで記述することが主流になっていくと見ています。
TypeScriptなどAltJSが主流になってもトランスパイルされた後のJavaScriptの文法理解は必要!
SPA(シングルページアプリケーション)の流行も、ここ数年のフロントエンド分野の大きな変化の一つです。このSPA方式が拡大したことによりフロントエンドの職種が拡大し、定着しました。
【種類2】APIサーバーの開発案件
JavaScriptは「Node.js」を使ったAPIサーバーの開発としても広く使われるようになっています。その結果、サーバーサイド(バックエンド開発)のJavaScript案件としても多く見られるようになってきました。
近年のAPIサーバーは、複数の小さなサービス(マイクロサービス)の連携で構成されています。その高速なマイクロサービスを作る言語として「Node.js」を使ったJavaScriptが採用されています。
たとえば、GCPの「Cloud Functions(サーバーレスのランタイム環境)」で唯一対応している言語が「Node.js」 だったりします。
しかし近年のサーバーサイドのWeb業界では、より高速処理できるGo言語が好まれる傾向があります。
Go言語については、次の記事を参考にしてください。
フリーランスが今からGo言語を学ぶのはアリ?ナシ? Go言語のフリーランス案件の単価は?求人数は? Go言語が活かせる仕事の種類ってどんなものがある? Go言語(Golang)は近年で大流行しているプログラム言語で[…]
【補足】 APIサーバーとは?
Webアプリケーションを構成するサーバ側のプログラムの実行環境を提供するソフトウェア。クライアントマシンからの要求に対して何らかの形式(JSONなど)でレスポンスを返す。
【種類3】デスクトップ・スマホのアプリの開発案件
JavaScriptでも「デスクトップアプリ開発」や「スマホアプリ開発」ができるようになってきており、それに伴いフリーランス案件も増加中です。
「デスクトップアプリ開発」では「Electron」という開発フレームワークが有名で、SlackやVSCodeもこれで作られているようです。
また「スマホアプリ開発」では「React Native」や「Cordova」というライブラリが有名です。これらライブラリを使うことで、SwiftやKotlinを使わなくてもJavaScriptだけでiOS・Androidのどちらの環境でも実行できるスマホアプリを開発できます。React Nativeでは開発元のFacebookだけでなく、InstagramやSkypeなどでも使われています。
「JavaScriptでもアプリが作れる」は魅力的!でも、KotlinやSwiftなどを差し置いてアプリ開発の主流になるかは不透明なところ
しかし本格的にスマホアプリ案件を中心にやっていくには、AndroidではKotlinを、iOSではSwiftを習得すべきです。それぞれ次の記事を参考にしてください。
Kotlinをメイン言語としてフリーランスで稼げる? Kotlinのフリーランス案件の単価は?求人数は? Kotlinが活かせる仕事の種類ってどんなものがある? KotlinはAndroidアプリ開発を中心に近年で[…]
Swiftをメイン言語としてフリーランスで稼げる? Swiftのフリーランス案件の単価は?求人数は? Swiftが活かせるiOSエンジニアってどんな仕事? SwiftはApple製OSのアプリ開発に特化したプログラ[…]
JavaScriptエンジニアの将来性は?
次のような理由から、JavaScriptエンジニアの将来はしばらくは安泰と見て良いでしょう。
先述の通り学習コストも低いですし、Web業界を目指すフリーランスエンジニアにとっては習得しない理由はない言語と言って良いでしょう。
- 【安泰な理由1】Webフロントエンド開発において対抗言語がない
- 【安泰な理由2】SPAの流行により、JavaScriptの必要性が更に増している
- 【安泰な理由3】フロントエンド以外の分野への適応が進んでいる
【安泰な理由1】Webフロントエンド開発において対抗言語がない
Web系企業のフロントエンド開発において、JavaScriptは世界的にもデファクトスタンダートになっていることから、しばらくはJavaScriptに置き換わる対抗言語はありません。
TypeScriptなどのAltJS(代替JavaScript)もありますが、JavaScriptに変換するための静的型付け言語であるため、結局はJavaScriptを活かすための言語です。
将来的にJavaScriptの記述は減り、TypeScriptなどAltJSで記述することが主流になっていくため、AltJSの習得は必要になってくる点は認識しておきましょう。
「JavaScriptだけ知っていればOK」はキケン!
AltJS(TypeScriptなど)の習得も必須になってくる!
【安泰な理由2】SPAの流行により、JavaScriptの必要性が更に増している
近年のSPA(シングルページアプリケーション)の流行により、JavaScriptの必要性が見直されたことも、最近のフロントエンド分野における大きな変化です。
SPAとは名の通り「1つのWebページでコンテンツを切り替えて表現するアプリケーション」のことです。ページを遷移せずにブラウザ上で動くJavaScriptがHTMLを書き換えることで、ユーザビリティ向上やサーバー通信の負荷を減らすことができます。
元々、Webフロントエンドの案件が減少することは考えづらい上に、このSPAの流行で更にJavaScriptの必要性が見直されたことで、「Web業界におけるJavaScript・TypeScript開発案件はより安泰になった」と言えるでしょう。
【安泰な理由3】フロントエンド以外の分野への適応が進んでいる
JavaScriptはフロントエンド向け言語の代名詞でしたが、近年では次のようにフロントエンド以外の分野においても適応が進んでいます。
JavaScriptのフロントエンド以外の適応先
- バックエンド開発への適応
「Node.js」を使うことで、大量のリクエストを処理するアプリ開発ができるため、サーバー用途としても使える。 - スマホアプリ開発への適応
「React Native」などモバイルアプリケーション向けのフレームワークを使うことで、iOS・Androidの両方で動作するアプリ開発ができる。 - デスクトップアプリ開発への適応
「Electron」などのフレームワークを使うことで、PCアプリを開発できる。
フロントエンド以外のそれぞれの開発に適した言語は他にもあるため、これら分野で今後、JavaScriptが主力になるか否かは不透明ですが、JavaScriptの応用力には注目すべきでしょう。
まとめ
以上、JavaScriptの特徴とフリーランス案件の単価相場・求人数、職種、将来性について解説してきました。
【結論】
JavaScript習得はWebフロントエンド開発では必須。案件数は多い分、単価は並。フロントエンド以外の案件も増加中。
JavaScriptは次の理由でプログラミング初心者にもおすすめできる言語です。
- ブラウザさえあればカンタンに動かせる
- JavaScriptコードが読めると何かと便利
- 仕事がたくさんあり、潰しが効く
次のようなJavaScriptのフリーランス案件があり、案件数は豊富ですが単価は並です。AltJSであるTypeScriptの案件となると案件数は減りますが単価は高めとなります。
- 【種類1】Webサイトのフロントエンド開発案件
- 【種類2】APIサーバーの開発案件
- 【種類3】デスクトップ・スマホのアプリの開発案件
次のような理由から、JavaScriptエンジニアの将来性はしばらくは安泰と見て良いでしょう。
- 【安泰な理由1】Webフロントエンド開発において対抗言語がない
- 【安泰な理由2】SPAの流行により、JavaScriptの必要性が更に増している
- 【安泰な理由3】フロントエンド以外の分野への適応が進んでいる
JavaScriptの案件は多くのエージェントで扱われています。まずは次のフリーランスエージェントを見比べ、無料エントリーから始めることをおすすめします。
フリーランスエージェントの種類が多すぎて選べない 各エージェントの特徴を数値比較できるようにしてくれ! そもそもフリーランスの案件探しにエージェントは必要? ITエンジニアがエージェント選びを間違えると「単調かつ激[…]
以上、このブログでは、このように「会社員エンジニアがフリーランス独立して自力でお金を稼げるようになるまで」の役立つ情報を発信し続けていきます。
ではまた!