見出し画像

Webアプリケーションで使われる技術

https://www.kagoya.jp/howto/wp-content/uploads/kagoya201905-1.gif  から引用

クライアント側

HTMLとCSSとJavaScriptで構成される。

  • HTML:Hyper Text Markup Languageの略。最新バージョンは2014年策定のHTML5。Webページを記述する言語。人の読める文字列で構成され、タグと呼ばれる構成要素を使って表示のレイアウトや装飾ができる言語。

  • CSS:Cascading Style Sheetの略。最新版は2011年に勧告されたCSS2.1を軸にモジュール単位で勧告されるCSS3という総称で呼ばれる。
    HTMLはWebページの構造とスタイルを示すタグから作られるが、構造を示すタグとスタイルを示すタグが混在すると分かりにくくなる。そこでスタイル設定部分を分離してCSSとなった。CSSはHTMLファイルに埋め込むタイプとファイルを別にするタイプ(CSSファイル)で定義する場合がある。

  • JavaScript:オブジェクト指向スクリプト言語。入力と出力だけを担い必要な処理をサーバー側にすべて頼る方式でなく、ブラウザ内でも処理を行うための言語。通常はDOM(Document Object Model)と呼ばれるMTMLを階層毎に認識してそれにアクセスするためのAPIを用いて処理する。

サーバ側

ユーザ側からは見えないブラックボックスの部分。バックエンドとも分類される。

  • PHP:汎用スクリプト言語でWeb開発に適しておりHTMLに埋め込むことができる。処理はすべてサーバ側で行われHTMLファイルを吐き出すことでクライアント側で出力される。クライアント側から独立することで、サーバー側でメインとなる機能を管理、改善ができる。

  • DB:Webアプリケーション内のデータ(投稿されたテキスト、画像など)をアプリケーションプログラムとは分離して管理されるためのデータの集合体とその仕組み。

  • SQL:リレーショナルDBにアクセスするための言語。DDLとDMLに大別され前者はデータベースや表の定義を、後者はデータの操作を記述する。最新バージョンはSQL2008だが実装されたDBMSにより、異なる部分が大きい。


学習を通して疑問に思ったこと、自分ができていないこと

Webアプリケーションはネイティブアプリ(iOSアプリなど)と対比すると、ユーザから見て導入がしやすいこと、ブラウザにアクセスするだけで複雑なインストール作業がない。またユーザから見えないバックエンド側はメインプログラムが分離され保守管理しやすいという利点がある。

ブラウザからアクセスする動的なアプリケーションは基本的にすべてWebアプリケーションでその仕組みの基本は同じ。良く使うサイトとして、Google検索-ブラウザで検索キーワードを入力すると、バックエンドではあらかじめ世界中のWebサイトの情報がデータベース上に集積されており、そこから必要な情報を抽出、クライアント側へ出力される。YouTube-大量の動画がデータベースで保存管理され、ユーザの入力した語彙により検索され関連した動画が出力される。Amazon-消費者と小売り主をつなぐ機能(ECサイト)。商品の情報をデータベースで保存管理され、ユーザの入力した購入品の語彙により検索され関連した商品を陳列する。購入したい商品をカートに入れて、その後実際に会計処理をされる。出荷情報はAmazon倉庫や小売り主にデータが送られ商品出荷される。

Webアプリケーションは人とコンピュータを繋ぐユーザインターフェースであり24時間稼働、人によるミスコミュニケーションの弊害を防ぐ。テクノロジーを社会化する主役となるエンジンだと思う。上記にあるGoogle検索、YouTube、Amazonだけ考えても普段の日常では、分からない事柄をGoogle検索して、または新しい情報をYouTubeから吸収して、それからリアルに欲しいものをAmazonで注文する。これが一般的な消費者の姿となってる。世界中に流布する情報の中で、自分に必要なもの、欲しいものを手元で実現するための一連の消費活動として完結している。

疑問点は、こういった消費活動の中でまだまだ発展の余地のある分野、領域があるのか? という疑問です。今後、Webアプリケーション開発を志すならば、そういった視点で社会とテクノロジーを見つめるべきと考えた。それが私に足りない点。

学習の目標は達成できたか?

達成した。Webアプリケーションの概念と掘り下げることで、現在社会の消費活動において重要な位置を占めてるとの認識に至った。さらに今後の将来に必要なサービスにおいてもWebアプリケーションがその活動に入口、インターフェースを担うことは間違いなさそう。どういったサービス、アプリケーションを社会が望んでいるのか更に掘り下げていきたい。

この記事が気に入ったらサポートをしてみませんか?