支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • Web開発とプログラミング言語

WEBアプリケーション

WebサイトやWebアプリケーション開発は「フロントエンド」と「バックエンド」の2つに分類されます。それぞれ開発の目的が異なるため使用する言語も異なります。今回はWebサイト・Webアプリケーション開発で使用される言語とその特徴をフロントエンドとバックエンドに分けてみていきましょう。

フロントエンドとバックエンド

フロントエンドとはfront(前面、表面、正面)という言葉の意味通り、WebサイトやWebアプリケーションの見える部分ことを指します。それに対し、バックエンドはback (裏側、裏面)という言葉の意味通り利用者からは見えない裏側の部分、仕組みや処理を行う部分のことを指します。 フロントエンドは見やすさ伝わりやすさなどをデザインする開発言語が使用され、バックエンドではロジックや仕組みを作ることができる開発言語が使用されます。それぞれの目的に合った言語とその特徴をみてきましょう。

フロントエンド

HTML

HTML(HyperText Markup Language)とはマークアップ言語(タグを使って構造を表現する言語)の1つです。Webページを作成するために開発された言語で、現在インターネットで公開されているWebページのほとんどがHTMLで作られています。 マークアップ(Markup)=目印をつけるという言葉の意味通り、文章の各部分がどのような意味を持っているのかを示すことができます。見出し・リスト・表・定義・単なる文章など、タグを使ってそれぞれの文章がどのような役割を果たしているのか目印をつけます。 目印をつけることによってコンピュータが内容や構造を理解できるようになり、ブラウザは検索の目的に合ったサイトを表示してくれたりします。

CSS

CSS(Cascading Style Sheets)とはWebページのスタイルを指定するための言語です。CSSもWebページを作るために使われる言語で、HTMLと組み合わせて使用します。HTMLが文章の構造を定義するのに対し、 CSSは定義した文章を装飾する役割があります。 現在はHTMLでもタグを駆使することである程度の装飾をすることができるようになりました。しかし、すべてをHTMLだけで作成してしまうと構造がわかりにくくなり、せっかくの構造が崩れてしまうことがあります。構造を作るためのHTMLであり、装飾をするにはCSSで指定することが推奨されています。

JavaScript

JavaScriptはWebページに「動き」をつけるために作られた言語です。Javaという言語もありますが全くの別物です。画像のスライドショーを掲載したり、マウスポインタをあわせたときにアニメーションをつけたり、 Webベージに様々な動きを加えることができます。また、JavaScriptはHTMLやCSSと異なりフロントエンドだけでなく、代表的なフレームワークNode.jsを使用することによってバックエンドとしても使われています。JavaScriptは型のない自由な言語のためミスを見つけて修正するのが難しく扱いづらい言語と位置付けされることもありますが、その「万能さ」ゆえ需要はとても多い言語です。存在するWebサイトの約80%でJavaScriptが使用されています。

バックエンド

PHP

WebサイトやWebアプリケーションの開発に特化した言語の1つで、多くのWeb開発で使用されています。Yahoo!・Facebook・Wikipedia・WordPressなどはPHPで構築され、他の言語と比べて比較的簡単に学ぶことができる言語です。またサーバー側のデータベースと簡単に接続することができたり、HTMLに埋め込んで使うことができるというメリットもあります。 デメリットとしてはWeb開発に特化するため、スマートフォンなどのネイティブアプリの開発には向かないことと、大規模で複雑なアプリケーションには適していないことが挙げられます。

Ruby

一般的に普及しているプログラミング言語のほとんどは外国で開発されたものですが、 Rubyは日本人によって開発されたプログラミング言語です。Rubyの代表的なフレームワークRuby on Railsは、Twitterや価格ドットコム、食べログ、Huluなどでバックエンド開発に使用されています。RubyもPHPと同じくWeb開発によく使用される言語ですが、Web開発だけでなくスマホアプリの開発も可能です。日本人が開発した言語なので、日本語での解説が多くあるというメリットもあります。また、多言語と比べて記述量が少なくシンプルにコードを書くことができ、可読性に優れているのも特徴です。Web開発からスマホアプリ開発まで様々なことができますが、自由度の高い言語に共通する「初心者における学習の難しさ」は否めないようです。

Python

Web開発以外にもスマホアプリやデスクトップアプリ、機械学習やIA技術に用いられる言語です。コードはシンプルで見やすく、初心者でも学習しやすいといったメリットがあります。ただ、海外と比較して日本ではあまり普及が進んでおらず日本語のサポートが少ないというデメリットもあります。googleやyoutube、InstagramなどはPythonで作られており、近年では機械学習やAIにも使用されていることから今後さらに注目が高まる言語です。

Java

Web開発やゲーム、Androidアプリやデスクトップアプリでも使われています。他の言語にない最大の特徴は、環境に依存せずどこでも動くということです。Javaが登場する前はMac・Windows・LinuxなどそれぞれのOS環境にあったプログラミング言語が使用されていましたが、JavaはどのOS環境でも動かすことができます。汎用性の高さに加え、高い安全性を持っているJavaは銀行や証券などの大規模なシステムにも利用されているのが特徴です。

注目されている言語

Go(Golang)

Go言語は、2009年にGoogleが開発したオプログラミング言語です。Linux、MacOS X、Windows、Android、iOSの主要OSはすべて対応しており、Web開発からWebサーバーの構築まで可能です。 Go言語の特徴はコードのシンプルさと高い信頼性、実行速度の速さなどが挙げられます。LINEやメルカリなどの企業もGoを導入し、近年急速に注目が集まっているプログラミング言語です。

Scala

Scalaは、2003年に公開されたプログラミング言語で、Javaととても関わりの深い言語です。オブジェクト指向と関数型言語を兼ね備えた言語でJavaとの高い互換性があり、 Javaの後継者として注目を集めている言語です。ただ、IDE(統合開発環境)の種類が少なく機能もあまり充実していないことや、コンパイルが遅いといったデメリットも挙げられます。Web開発やスマートフォンアプリの開発、業務システムの開発で利用され、TwitterやChatworkでも使用されています。注目を集めている一方で、エンジニアが不足しているため将来性の高いプログラミング言語です。