迷ったらこれ!フロントエンド業界でもっとも需要があるのは?
はじめに
こんにちは、ナオツです。
前回の記事では、
フロントエンドサーバーについてWebサイトの特性からサーバーの構成について簡単に説明しました。
サーバーの特性として、SSR/CSR(SPA)/SSGという方式があるということを説明しましたが、
これらは「何が良くて何がダメ」という話ではなく、Webサイトの特性によって決めることです。
この記事では、Webサイト構築に使われるスキルの中で、
代表的なところを紹介していきます。
フロントエンドで使われるスキル(言語・フレームワーク)
SSR/CSR(SPA)/SSGのサーバーを実現させるために数多のスキルが存在します。
代表的なものをあげましたが、ほかにも本当にたくさんあります。
エンジニアとして仕事を契約するためには、これらのスキルを全部覚える必要があるのでしょうか?
当然、そんなことないです。
仮に全部できるようになったら、当然参画できる案件の母数が増えます。
でも 優先的に覚えるべきスキル がわかっていれば、最初から母数の大きな案件に出会うことができます。
母数が多いということは、自分が働きやすい職場に出会える確率が高くなる ということです。
それでは、優先的に覚えるべきスキルとそうでないスキルを詳しくみていきましょう。
Java, Ruby on Rails, PHPはフロントエンドの候補から外そう
上記のSSRで紹介したJava, Ruby on Rails, PHPについては、バックエンドサーバーも兼ねています。
Java, Ruby on Rails, PHPを用いてWebサービスを構築する場合は、ひとつのサーバーでフロントエンドサーバーとバックエンドサーバーを兼務することになります。
基本的にこれらの技術はフロントエンドサーバーとして特化したものではなく、
「フロントエンドサーバーかつバックエンドサーバー」
もしくは
「バックエンドサーバーのみ」
バックエンドサーバーについては別の記事でまとめようと思いますが、この記事ではフロントエンドに特化したスキルをピックアップしていこうと思います。
Java, Ruby on Rails, PHPは、フロントエンドの技術には特化していません。
通常は求めるサービスが実現出来ずに、これに加えてReact, Vue.jsを別途実装する場合がほとんどです。
つまり、Java, Ruby on Rails, PHPをバックエンドサーバーに任せて、フロントエンドサーバーをReact, Vue.jsで実装する構成です。
迷ったらこれ
フロントエンドの業界でよく聞くキーワードは下記のようなものがあります。
jQuery
React
Vue.js
Angular
Next.js
Nuxt.js
最近需要が増えてきた技術もあれば、 最近需要が減ってきた技術 もあります。
できれば、 最近需要が増えてきた技術 を優先的に習得して最低限の勉強量で 未来安泰 といきたいところですよね?
忙しい方のために、今需要があり今後安泰だと思われるスキルを先にネタばれしておきます。
それは、
Next.js です。
Next.jsはReactを使いやすくしたフレームワークです。
Next.jsを学べば、下記のことができます。
SSRのサーバーが構築できる(Next.jsの知識)
SPAのサーバーが構築できる(Reactの知識)
SSGのサーバーが構築できる(Next.jsの知識)
(おまけ)Vue.jsの仕組みもReactを学んでいれば理解が早い
気づきましたか?
Next.js(React)フロントエンドサーバーで必要なすべての構成を実現できるのです!
最近需要が減ってきた技術
逆に 最近需要が減ってきた技術 は、
jQuery です。
Reactが世に出てくる前は一世を風靡していましたが、
もはやこのスキルはお役ゴメンといって良いでしょう。
昔からあるシステムではいまだにjQueryで実装されたフロントエンドがありますが、
これから新しくスキルを学ぶ方にとっては、覚える必要がないといって良いと思います。
フロントエンド業界の求人について
以前の記事でも紹介しましたが、WebサイトはHTML,CSS,JSの3つで構築されています。
HTMLとCSS
先に言っておきますが、フロントエンドサーバーを構築する上で、
HTMLとCSSを学ぶのは必須です。
どんなWebサイトを作るにしろ、HTMLとCSSは必ず使います。
ここは避けられないところですね。
ただすべての内容を覚える必要はまったくありません。
とくにHTMLは言語というよりも「設定」に近いものです。
Webサイトを作りながら覚えられるレベルのものなので、
HTMLについてスクールで学ぶのは、あんまり意味がないです。
一方、CSSはちょっと複雑です。
僕は、このCSSがあらゆるプログラミングの中で一番苦手な領域です。
ですが、ググればたいていのことは解決しますので、その「ググり方」を覚えていけば解決できるはずです。
CSSについては今後実践的なブログサイトの作り方について解説しようと思っていますので、そこで詳しく解説します。
HTMLとCSSについてもっと詳しく知りたい方は、↓のサイトがとてもよくまとめられていますのでご紹介しておきます。
Webデザイナーもやられている方が実装したサイトですので、とても見た目や利便性に考慮されています。
Webクリエイターボックス
JavaScript(JS)とフレームワーク
JSの世界は本当に変化が速く、情報をキャッチアップするだけでも大変な世界です。
これはユーザーがWebサイトにもとめるレベルが年々高くなってきており、
それは日々技術がどんどんアップデートされていることを意味します。
そして、その分実装のレベルは上がっていきます。
しかし人類は、JSを使いやすくするため「フレームワーク」というものをたくさん開発してきました。
普通にJSを実装すると何百行も書かないといけないような処理が、たった数行で書けるようになるようなフレームワークです。
現在、多くのフロントエンドでは実装する上でフレームワークの存在が必要不可欠です。
その主なものを下記の3つピックアップします。
いずれもJavaScriptが使いやすいように設計されたフレームワークです。。
僕が普段お世話になっているフリーランス向けの案件紹介エージェント「クラウドテック」のサイトでは下記の求人数が確認できます。(2020/11/21現在)
React: 73件
Vue.js: 55件
Angular: 17件
AngularはGoogleが開発した大規模サイト向けのフレームワークです。
僕はチュートリアルレベルで触ったくらいですが、特に使いづらい印象は受けませんでした。
しかしいくら使いやすくても、求人が少なければ 稼ぐことの難易度 があがってしまいます。
他のフリーランスエージェントのサイトも確認してみましょう。
レバテックフリーランス
ギークス
ITプロパートナーズ
などなど。
有名どころで確認すると、より顕著に結果が見えます。
求人数を見ると「Angular」は現時点で選択肢から除いた方が良さそうです。
それに比べて「React」「Vue.js」にとくに求人が多い印象です
「React」「Vue.js」はSSRやSSGではなく、SPAに特化したフレームワークです。
しかし作りたいWebサイトの特性として、SSRやSSGが必要なこともあります。
そこで、「React」「Vue.js」でSSRやSSGを使えるようにしたフレームワークが存在します。
それが、
なんですね。
これらは、 フロントエンド業界の流行り といっても良いでしょう。
僕はこれからフロントエンドを習得する上で、これらは 必須の技術である といっても過言ではないと思っています。
では、「Next.js」「Nuxt.js」のどちらを選ぶのが良いでしょうか?
その答えの裏には1つキーワードがあります。
それが、 TypeScript です。
まとめ
ここから先を語るとちょっと長くなりそうなので、続きは次回にします。
ここまでをまとめると、フロントエンドで学ぶべきスキルは、
HTML
CSS
そして、JSフレームワークは、
Next.js(React)
Nuxt.js(Vue.js)
ですね。
Next.jsとNuxt.jsでは、どちらを選んでも「現状は食べていける」と思います。
ただ数年先を見越していくなら、僕は Next.js を推していきます。
それはTypeScriptの説明と併せて、次回詳しく説明させていただきます。
この記事が気に入ったらサポートをしてみませんか?