この回の目標

今回から4回の講義では、HTML5のcanvasを用いて,クライアント側のプログラミングを学ぶ。

HTMLはTim Berners Leeが設計した。1991年8月6日に「World Wide Webプロジェクトに関する簡単な要約」がalt.hypertext ニュースグループに投稿され世界最初のウェブサイト http://info.cern.ch/ が設立された。

この後W3Cによって策定されたHTML 1.0のタグは以下20種類にすぎなかった。

title, nextid, a, isindex, plaintaxt, listing, p, h1, h2, h3, h4, h5, h6, address, hp1, hp2, dl, dt, ul, li,

音も画像も表も扱えず、もちろんプログラミングもできなかった。

その後何度となく拡張がくり返され、最新のHTLM5は2004年~2008年に策定され, 2014年10月28日にW3C勧告となった。

HTML5ではこれまでブラウザによって仕様がばらばらであった javascript、videoやオーディオの再生、グラフィックの機能の標準化が大幅に進んだ。

2010年ごろまではHTMLには独自の拡張、たとえば i-mode XHTML、WindowsのIE、AdobeのFlashなど様々で、互換性がなかった。HTML5以後急速にプラットフォーム間の互換性が高まり現在ではすべてのプラットフォームが互換性を持つ時代が訪れている。長く待たれていたwebの仕様統一が今達成されようとしている。

一方で、Web上のアプリケーションがよりインタラクティブでメディアリッチになる中で、ReactDASHといった新しい技術も次々と登場している。

HTML5は膨大でその周辺技術も日々進化する。その機能を網羅的に学ぶことは本講義のめざす目標ではない。本講義ではHTML5のcanvasとjavascriptのプログラミングを通じて、webのプログラミングの基本を学ぶ。グラフィック、アニメーション、そしてこれまで学習したサーバープログラミングとの連携の例を通じて、現代のインターネットアプリにおけるサーバとクライアントの連携の基本的な考え方を理解する。

APIの使い方やプログラム例を必死で探して、見栄えのよいwebページを作ることは演習の目的ではない。それらの細かいテクニックを覚えても、1年すれば時代遅れになってしまう。

まず基本となるメカニズムを完全に理解してほしい。webの原理、webプログラミングを完全に自分のものにしてほしい。最新のツールを学ぶのではなく、何年か後に、諸君がさらに次世代のwebプログラミングのツールを発想する力はそこから生まれるはずである。

 

初回はcanvasの使い方を習得する。

 

参考

W3C

HTML5日本語訳
HTMLとXHTMLのための語彙と関連API
W3C Recommendation 28 October 2014

Web関連のプログラミング言語(雑談)

主要なプログラミング言語の説明。あまり学習にや役立たない。

http://knoh.jp/answers/22cc7d73

 

Web関連の技術(本講義では詳細は解説しない)

React.js (HTML5でインタラクティブなUXを構築するツール)

DASH(HTML5でアダプティブなストリーミングを行う技術)