0から始めるWebアプリ第1弾 必要なスキル

今日は0から始めるWebアプリシリーズの第1弾です
このシリーズの目標はWebアプリを公開することです

普段の仕事では組み込み系やWindowsアプリしか作っていないエンジニア
Webアプリについて0から学んで実際に公開するまでの軌跡を紹介していきます

WEB系の知識がない私が学んでいく内容を公開しますので、このシリーズを読んでいけば同じような
素人の方でも自分のWebアプリを作成できるようになります

以下のような内容を考えています

  • そもそも何を学ばなければいけないのか?
  • 学んだ内容の解説
  • 実際に組んだコードの解説
  • 参考になった資料やサイトの紹介

では早速第1弾では必要なスキルについて調べていきます

Webアプリとは

まずWebアプリとはどういうものを指すのかです
WIKIでは以下のように定義されています

ウェブアプリケーション(Web application)は、インターネット(もしくはイントラネット)などのネットワークを介して使用するアプリケーションソフトウェアである。多くの場合、これらのアプリケーションは、Webブラウザ上で動作するプログラミング言語(たとえばJavaScript)によるプログラムとWebサーバ側のプログラムが協調することによって動作し、ユーザはそれをWebブラウザ上で使用する。

ウェブアプリケーションの一例としては、ウィキペディアなどで使われているウィキやブログ、電子掲示板、銀行のインターネットバンキング、証券会社のオンライントレード、電子商店街などネット販売のショッピングカートなどを挙げることができる。

WIKIより https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%83%96%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3

つまり皆さんがWebブラウザでみるサイトやサービスは全てWebアプリとなります
このブログもWordPressというWebアプリで作成されています

WEBアプリの構成

次にWEBアプリがどうやって動いているかです
使用するユーザからするとブラウザにでてくる画面が全てですが、裏ではいろんな物が動いています

  • Webブラウザ
  • Webサーバ
  • データベースサーバ
構成図
Webアプリの構成図

Webブラウザ

ChoromeやIE等のWebページをみるためのアプリです
Webアプリを閲覧したり使用したりするのに必要となってきます
がWebアプリ毎に特注する必要はないため今回のシリーズでは取り扱いません

Webブラウザが気になる方はこちらの記事でWEBブラウザを自作する方法を解説していますので読んでみてください

https://sho10case.com/programingschol-1-1-browser/

Webサーバ

作成したアプリが実際に動く場所です
ここにPHPやRuby、Python等の言語で書かれたソフトウェアを配置することで
ネットを介して全国のユーザにWebアプリを公開することができます
開発者としてはWebサーバで動くソフトウェアを開発する必要があります

データベースサーバ

データベースが動く場所です
一般的なWebアプリであれば、様々なデータを扱います
例えば、ユーザー名やパスワード、登録日時等
それらのデータを保存するのがデータベースサーバで動くデータベースの役割です
開発者としてはデータベースの使用方法を学ぶ必要があります

まとめ

今日はWebアプリケーションがどうやって動いているのかを紹介してきました
この中でも開発する上で必要となってくるスキルは以下です

  • Webサーバで動くソフトウェアの開発
  • Webサーバの管理(ソフトウェアの配置等)
  • データベースの使用方法の習得(SQL)

一番大きなウエイトを占めるのはソフトウェアの開発となるため、
そこに注目されがちですがそれ以外にも
ソフトウェアで使用するデータを保存するにはデータベースが必要となりますし
開発したWebアプリを公開するためにはWebサーバの設定やファイルの配置が必要となります

これらに関しては開発しながら説明していきます

次回からはソフトウェアを開発する際に必要となるスキルであるフレームワークについての知識やデザインについて、MVCモデル等のデザインパターンについて調べていきます