サーバーサイドウェブサイトプログラミング

Dynamic(動的な)ウェブサイト – サーバーサイドプログラミング のトピックは、動的なウェブサイト (HTTP リクエストに応じてカスタマイズされた情報を届けるウェブサイト) の作り方を説明する一連のモジュールです。各モジュールは、一般的なサーバーサイドプログラミングへの導入となる情報を提供するほか、特に初学者に向けて、Django (Python) や Express (Node.js/JavaScript) といった基礎的なアプリケーションを構築するためのウェブフレームワークの使用方法について説明しています。

ほとんどの有名なウェブサイトでは、必要に応じてさまざまなデータを動的に表示するために、何らかのサーバーサイドの技術を使用しています。例えば Amazon の場合を考えてみましょう。非常にたくさんの商品が扱われていますね。また Facebook にも大量の投稿があります。これら全てを表示するために別々の静的なページをいくつも作っていっても、絶対に非効率です。ですのでその代わりに、こういったサイトでは静的なテンプレート (HTML, CSS, JavaScript で構築します) を表示し、テンプレートの内部で必要に応じ、表示される情報を動的に更新しています。例えば、Amazon で今見ている商品とは違う商品を見ようとするときに、この更新がおこなわれています。

現代の Web 開発においては、サーバーサイド開発を学ぶことが強く推奨されています。

学習の道筋

サーバーサイドプログラミングを始めるのは、一般的にいってクライアントサイドの開発を始めるよりも簡単です。なぜなら動的なウェブサイトはどれも非常によく似た操作 (データベースからデータを読み出してそれをページに表示し、ユーザーが入力したデータをヴァリデーションしてそれをデータベースに保存し、ユーザーの権限をチェックした後にユーザーをログインさせる、といったようなことです) を行うからです。また、動的なウェブサイトはこういった一般的なウェブサーバー側での操作を簡単にしてくれる Web・フレームワークを用いて作られているからです。

プログラミング概念の基本知識 (あるいは特定のプログラミング言語の知識) は役立ちますが、必要ではありません。つまり、クライアントサイドコーディングの熟達は必要ではなく、基本知識はクライアントサイドの Web「フロントエンド」の開発者とうまく共同作業するのに役立つでしょう。

「Web の動作原理」を理解する必要があります。最初に次のトピックを読むのをお勧めします:

基本的な理解があれば、この節のモジュールに進む準備ができているでしょう。

モジュール

このトピックは次のモジュールがあります。最初のモジュールから始めるべきで、次に続くモジュールのどれかに進んで、そこでウェブフレームワークを使ってとても有名な 2 つのサーバーサイド言語を使う方法が示されます。

サーバーサイドウェブサイトプログラミングの最初の一歩

このモジュールではサーバー技術の無知な人向けに、サーバーサイドウェブプログラミングについての情報を提供します。それにはサーバーサイドプログラミングについての基本的な質問 — "それは何なのか", "クライアントサイドプログラミングと何が違うのか", "なぜ便利なのか" — や、サーバーサイドウェブフレームワークの概要や、あなたのサイトに最も合うものを選ぶ方法のガイドが含まれます。最後にウェブサーバーセキュリティの入門セクションがあります。

Djangoウェブフレームワーク (Python)

Django は Python で書かれた、極めて人気のある、完全な機能のあるサーバーサイドフレームワークです。このモジュールではなぜ Django がこうも良いウェブサーバーフレームワークであるのかや、開発環境のセットアップ方法や、これを使ってよくあるタスクを行う方法を説明します。

Expressウェブフレームワーク (Node.js/JavaScript)

Express は JavaScript で書かれて node.js の実行環境でホストされる、人気のあるウェブフレームワークです。このモジュールではこのフレームワークの主な利点や、開発環境のセットアップ方法や、よくある Web 開発・デプロイのタスクを行う方法を説明します。

関連情報

フレームワークなしの Node サーバー

この記事では、フレームワークを使用せずに、Node.js だけで構築された単純な静的ファイルサーバーを紹介します。