最近、プログラミングに興味を持っている方や、勉強を始めてみたいと考えている方が増えています。
プログラミングはクラウドソーシングサイトなどでも案件が多く、フリーランスや副業で始められることもあって、人気が上がっているんですよ。
プログラミングを活かせる分野には、さまざまなものがあります。
- ロボット
- AI(人工知能)
- ビッグデータの解析や活用
- スマートフォンのアプリの開発
- WEBアプリの開発、など
たくさんの可能性がプログラミングにはありますが、どの分野であなたが活躍したいかによって必要なプログラミング言語やスキルは変わります。
もしあなたがプログラミング学習を始める前で
「何から始めたらよいかわからない」
「何を目標に勉強を始めたらよいか、決められない」
と迷っているのなら、WEB上のアプリを作る「WEBプログラミング」をおすすめします。
なぜなら、WEBプログラミングには今後も需要が増える可能性があり、使われるプログラミング言語は初心者でも学習に取り組みやすいものが多いからです。
そこで今回は、WEBプログラミングの基本用語や使われる言語、WEBプログラミングと一緒に学ぶべきことなどを紹介していきます。
【お知らせ】
2000名以上の人生を変えるキッカケになった「好きなことで生きていく!WEBデザイナーという働き方セミナー」では、
などをお伝えしています。今だけ無料で開催しているので「WEBデザインの学び方がわからない」「WEBデザイン業界について知りたい」という方はぜひご参加ください。
>>詳しくはこちら
WEBプログラミングとは
WEBプログラミングとは、WEBアプリやWEBサービスの開発をおこなうことで、「WEBサービス」や「WEBシステム」とも呼ばれます。
WEBプログラミングをおこなう人を「WEBプログラマ」や「WEBエンジニア」、「WEB開発者」、「WEBデベロッパー」などさまざまな呼び方をすることがありますが、明確な線引きはなく会社によって違うだけのようです。
代表的なWEBアプリの例を挙げると、検索エンジンの「Google」や「Yahoo!JAPAN」、レシピサイトの「クックパッドCOOKPAD」、文章やイラストの公開・販売・購入ができるプラットフォームの「note」などがあります。
宅急便のサイトやインターネット銀行のような生活に必要なWEBサービスも、WEBプログラミングによって開発されているものです。
Googleで知りたいことを簡単に調べられたり、平日の昼間に銀行の窓口に行く時間がなくてもオンラインで決済や振込みができたりするなど、WEBサービスがあるおかげで普段の生活が便利になっています。
このように、私たちの生活をより便利に豊かにできるアプリやサービスを開発できるのが、WEBプログラミングです。
WEB開発の2つの基本用語
WEBプログラミングを学習する前に、「クライアントサイド」と「サーバーサイド」を理解しておきましょう。お互い密接に関わり合うものなので、開発環境や現場によっては両方の知識とスキルが求められる場合もあります。
それぞれの役割と必要なプログラミング言語を紹介します。
クライアントサイド
クライアントサイドとは、サイトを訪れたユーザー側の見えている部分を指し、ユーザーのWEBブラウザ上で働くプログラムのことです。
「フロントエンド」とも呼ばれることもあります。
私たちがインターネットを見られるのは、通信ネットワークをつなげてサーバーに保存してあるデータを、パソコンやスマートフォンなどのデバイスにダウンロードして表示させているからです。
クライアントサイドは、サーバーにデータを送るようリクエストし、サーバーから受け取ったデータをブラウザに表示させます。
代表的なクライアントサイドを構築するプログラミング言語には、HTMLやCSS、JavaScriptがあります。
サーバーサイド
サーバーとは、WEBサイトを構成するテキストやタグ、カテゴリなどのデータを格納しておく「WEB上の倉庫」のことです。
サーバーサイドとは、サーバー上で動かすプログラムのことで、クライアントサイドからのリクエストをもらって、該当するデータをクライアントサイドへ送る働きをします。
フロントエンドに対して、サーバーサイドは「バックエンド」と呼ばれることも多いです。
代表的なサーバーサイドを構築するプログラミング言語には、JavaやPHP、Python、Rubyがあります。
【お知らせ】
まずは無料でWEBデザインを学びませんか?
デザインに少しだけ興味がある方に向けて、豪華な無料プレゼントを用意しました。
✔️ WEBデザイン20レッスン
✔️ WEBデザイナータイプ診断
✔️ 60分でバナーが作れるレッスン動画
✔️ 月収3万円が叶う!副業ロードマップ
✔️月100万稼いだデザイナーによる特別動画講座
クライアントサイドのプログラミング言語
ここから紹介するHTML、CSS、JavaScriptは、WEBサイト制作に携わるプログラマーにとっては、できて当たり前のスキルといっても過言ではないでしょう。
WEBサイトを作るうえで避けては通れない、クライアントサイドで使われる3つのプログラミング言語について解説していきます。
HTML
HTML(Hyper Text Markup Language)は、Webサイトに掲載する画像や文章などの骨組みを構築するために使われる言語であり、マークアップ言語と呼ばれます。
マークアップといわれるのは、WEBサイトのコンテンツに見出しや段落、画像、表などの要素にそれぞれ目印を付けるからです。
主にWEBサイトの骨組み作りに使用する言語で、文字の装飾やデータベースを使った動的なページは作ることができません。(厳密には文字の装飾は可能ですが、サイト全体の構造が分かりにくくなることを避けるため、HTMLでおこなうことは稀です)
学習の難易度は低く、初心者が最初に取り組むにはおすすめな言語です。
準備するものも少なく、テキストドキュメントなどのメモ帳とブラウザだけあればスタートできます。
CSS
CSSはスタイルシートとも呼ばれますが、WEBサイトの文字の色やサイズ、背景色、ボタンの色などを指定し、見た目の装飾に関する指示をおこなうプログラミング言語です。
WEBサイトを作る際には必ず登場し、HTMLとセットで作成されます。
CSSもHTML同様に、初心者にとって学習の難易度は低く手軽に始めることができます。
JavaScript
JavaScriptは、Webサイトにアニメーションやポップアップ表示、スライドショーなどの動きを付けられるプログラミング言語です。
WEBサイトを作る際に活躍するほか、スマートフォン向けのアプリ開発やゲーム開発にも使えます。
コードが理解しやすく、パソコンやスマートフォンがあれば実行できるため、初心者にとって学習の難易度は比較的低くおすすめです。
できることがたくさんあるので、とても人気があります。
サーバーサイドのプログラミング言語
一般的なWEBアプリやWEBサービスのほとんどはサーバーが利用されています。
サーバーサイドで使われるプログラミング言語を4つ紹介していきます。
Java
Javaは、Androidアプリやゲーム、家電製品などのIoT(モノのインターネット)、AI(人工知能)などの開発ができ、汎用性の高いプログラミング言語です。
いろいろな開発に対応できるプログラミング言語である半面、初心者にとって学習の難易度はやや高くなります。
Javaは他の言語よりもルールが多く記述が長くなるのが特徴で、初心者は「オブジェクト指向」の理解でつまづくことが多いようです。
しかし、一度「オブジェクト指向」を理解できると、同じくオブジェクト指向言語であるPHPやRubyを習得しやすくなると言われます。
PHP
PHPは動的なWEBページの作成ができる言語です。
ユーザーの入力した内容に合わせて、見た目や掲載情報を変えてWEBページを表示できます。
たとえばECサイトのショッピングカートやSNS、予約システム、問合せフォームなどの動的ページをPHPで作ることが可能です。
PHPは、20年以上の歴史があるためインターネット上で有益な情報を見つけやすく、問題が起きたときに解決法を調べることができます。
学習の難易度は比較的低く、習得に時間やコストもあまりかからないので初心者におすすめです。
Python
PythonもWEB開発でよく登場するプログラミング言語であり、WEBプログラミングでできることはPHPやRubyとさほど変わりません。
PHPやRubyと大きく違うのは、世界中で広くAI開発に使われている点でしょう。
AI開発にも興味があるのなら、Pythonを選んでもよいでしょう。
コードのボリュームが少なくて済むため開発効率がよく、メンテナンスなどの手入れがしやすいのが特徴です。
Pythonは書きやすく読みやすい合理的デザインの言語なので、学習の難易度は比較的低く初心者におすすめです。
Ruby
Rubyは日本初のプログラミング言語で、直感的にコードを書ける手軽さに魅力があります。
ライブラリが豊富にあり、コードがシンプルで機能性が高いところがポイントです。
フレームワークの「Ruby On Rails」を使うことで、時間を短縮した効率的な開発が可能になっています。
フレームワークについてはのちほど解説します。
日本で作られたプログラミング言語のため、日本語の解説サイトが豊富にあり、難易度も低く初心者でも簡単に始められます。
WEBプログラミングと一緒に学ぶべき5つのこと
WEBプログラミングに必要な知識やスキルは、コードを書くことだけではありません。
WEBアプリやWEBサービスに関わる、開発周りの知識も一緒におさえておきましょう。
UnixまたはLinuxのコマンド操作
UnixとLinuxは、パソコンやスマートフォンなどの基本ソフトウェアであるOS(Operating System)の仲間で、Unixは現存するOSのなかでもっとも古いと言われています。
LinuxはUnixを参考に作られているため、コンピュータに指示を出すコマンド操作が似ています。
どちらも安定性が高く、企業で使われることが多いなどの共通点があります。
2つの大きな違いは、Linuxはフリーで使えるソフトウェアであるという点です。
共通して使えるコマンド操作の例を以下に挙げます。
- pwd(作業しているディレクトリ(ファイルを入れるフォルダのこと)がどこなのかを表示できる)
- cd(作業中のディレクトリを移動させる)
- ls(作業中のディレクトリにあるファイルを表示できる)
- cp(ファイルをコピー)
- mkdir(ディレクトリを作成)
- mv(ファイルを別のディレクトリに移動)
- rm(ファイルを削除)
Git
Gitとは、多くのファイルを管理し、各ファイルの編集履歴を管理できる「バージョン管理システム」のことです。
チームで開発をおこなう場合、複数のプログラマーが1つのファイルのコードを変更したり、修正したりすることになります。
エラーが発生した際は、問題のコードを誰が、いつ、どのように変更したのか、履歴を追いかけ原因を突き止めなければなりません。
開発ではエラーが起きることは日常茶飯事なので、エラー前の状態に効率的に戻せるツールがGitなのです。
また、Gitはテキストや画像、Excelファイルの管理ができます。
ホームページなどのWEB制作の場で、WEBデザイナーやライターとファイルをGitで共有しながら制作を進めることができます。
よく使われるツールなので、プログラミングを学ぶなら使えるようにしておくとよいでしょう。
データベース
データベースは、WEBサイトの情報を格納するインターネット上の倉庫のようなものだとお伝えしました。
たとえば、WEBサイトのログインIDやパスワード、メールアドレス、ECサイトなら顧客の名前や住所などの情報が格納されます。
データベースは専用のソフトウェアによって管理され、データを整理し操作するには専用のプログラミング言語が必要になります。
データベース用のプログラミング言語のうち、もっとも普及しているのが「SQL」です。
以下にSQLで動く、代表的なデータベースを簡単な説明とともに紹介します。
Oracle
災害などの障害からデータベースを保護する堅牢性があり、何かの拍子にデータがすべて失われてしまっても早急にバックアップができるようになっています。
MySQL
オープンソース型のデータベースで、世界でも広く利用されています。大容量データでも高速で動き、実用性が高いのが特徴です。
Microsoft SQL Server
名前のとおりMicrosoft社のデータベースです。
WindowsのOSとの相性がよく、初心者でも操作がしやすく、セキュリティも信頼性がおけるなどの特徴があります。
PostgreSQL
オープンソース型のデータベースで、すべてのソースが無料で公開されています。
さまざまなシステムに対応できる点がメリットですが、無料であるがゆえにサポート体制が盤石ではない点がデメリットです。
SQLite
名前にLite(ライトな)とあるように、SQLiteは簡易的なデータベースです。
大掛かりなシステムで利用されるのではなく、アプリに組み込んで利用します。
フレームワーク
フレームワークとは、WEB開発をおこなうために必要な「機能の詰め合わせセット」と考えるとよいでしょう。すべてをイチから自分で作らなくてもよいので、時間を短縮できることから開発でよく利用されています。
プログラミング言語によって使えるフレームワークは異なるので、学習する言語とセットで覚えておくとよいでしょう。
前述したプログラミング言語に使えるフレームワークを紹介します。
Spring Framework
Javaで使えるフレームワークで機能が多く、柔軟性や拡張性が高いのが特徴です。
CakePHP
PHPで使えるオープンソース型のフレームワークで、WEBアプリの開発に便利な機能が組み込まれています。
Django
Pythonのフレームワークでは、Djangoが頻繁に使われています。
高速に動作する点が魅力で、シンプルで使いやすく実践的です。
Ruby On Rails
Rubyのフレームワークで、コードが書きやすく、仕様の変化に対応しやすいなど開発効率に秀でている点がある一方で、処理速度が遅いのが難点です。
セキュリティ
近年、サイバー攻撃の手口が複雑化、巧妙化しています。
企業規模に関わらず、さまざまな手口で情報が盗まれようとしており、国内からだけではなく海外からの攻撃を受けることもあります。
サイバー攻撃に対してどのように対策をすればいいのかは、時間をかけてしっかり学んでおきましょう。
また外部からの攻撃を想定するだけではなく、社内での情報の取り扱い方にも気を配ることが大切です。
社員やチームから情報が漏洩しないように、データの扱い方を徹底するとともに、パソコンなどを社外へ持ち出す際のルールなどはしっかり守りましょう。
まとめ
これからプログラミングを始めてみようと考えている方向けに、WEBプログラミングの基本用語や使われるプログラミング言語をお伝えしてきました。
WEBアプリやWEBサービスの開発の分野は、今後もまだまだ需要が伸びると予想されています。
難易度があまり高くはなく、初心者が学習を始めやすいプログラミング言語が使われていることが多いのも、WEBプログラミングがおすすめなポイントです。
将来、エンジニアやプログラマーを考えている人は、WEBプログラミングの学習も検討してみてはいかがでしょうか。
質問や感想があればご記入ください