MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

Web標準:HTML, CSS, JavaScript を学ぶ.

前回の記事のようにGAEを使って,HTMLによるサイトを作成することができました.

Google App Engineを使って無料でWebサイトを作ってみた. - MY ENIGMA




続いて,早速当初の目的であるiPhone用のWebアプリを作成しようと思いましたが,

なんせWebアプリの知識が無いので,とりあえず簡単に

Webサイト周りに関する勉強を行うことにしました.




様々なiPhone用Webアプリを作成している人のHPを見て,

一般的にiPhoneのWebアプリは

HTML5, CSS, JavaScriptで作ることができるらしいことは知っていたので,

とりあえず,Google先生にお伺いを立てたところ,

すばらしいページを発見しました.




以下のリンクのページを読んだ所,

HTML,CSS, JavaScriptでサイトを作成することは

Web業界の標準であるということがわかりました.



今回の記事では,以下のリンク先の情報を読んで

自分が学んだことをメモしていきたいと思います.


Web標準 カリキュラムの紹介

1: Web標準 カリキュラムの紹介 - Dev.Opera


HTML:ページの内容
CSSスタイルシート
JavaScript:挙動に関する情報



利点:

このように3つに分けることにより,

ファイルサイズを抑えることができ,

プログラムの再利用性が向上する.




サイトを作成する時にHTMLをまず書いて,

必要な部分にスタイルと挙動を

Classと関数で与えることにより,

サイトの管理が容易になる.



HTMLの文書をいちいち変更する必要がなくなる.



デバイスの互換性が向上する.



自ずとSEOができるようになる.




しかし,Webにあるサイトのほとんどが未だに

このWeb標準に従っていない.

インターネットと Web の歴史、そして Web 標準の進化

2: インターネットと Web の歴史、そして Web 標準の進化 - Dev.Opera

特になし.

インターネットのしくみ

3: インターネットのしくみ - Dev.Opera


DNS は言わば、

インターネットに接続するマシンを自動的に収集する辞書である.



インターネットで見れるコンテンツの種類


1. プレーンテキスト



2. Web標準:

WWWはHTML(XHTML)とCSSJavascriptで構成されている.

HTMLは文書を分割し,構造と内容を記述し,

そして各部分に意味を与える.

Cascading Style Sheetは,HTMLの各要素がどのように表示するかを決定する.

スタイル宣言をするだけで,簡単に表示を変えることができる.

JavascripはWebサイトに動的な機能を付加する.



3. 動的なWebページ[.phpや.asp,aspx,jsp]


4.他のアプリケーションやプラグインを必要とするフォーマット


Web 標準のモデル ― HTML, CSS, JavaScript

4: Web 標準のモデル ― HTML, CSS, JavaScript - Dev.Opera


なぜHTMLとCSSを分けるのか?
1.コードの効率:

すべてをHTMLに入れるよりも,

HTMLからスタイル情報やレイアウト情報をそぎ落として,

CSSファイルにまとめることができる.



2.管理のしやすさ:

スタイルやレイアウト情報が一箇所に集まっていれば,

サイトの見た目を変更するときのCSSファイルだけを変更すればよくなる.



3.アクセシビリティ
HTMLファイルに内容だけをまとめておくと,

文書の読み上げなどにおいて,内容の把握が容易になる.




4.検索エンジンに引っ掛かり易くなる.



5.多くの人が評価している.


・HTMLとXHTMLの違い.

XHTMLのXはExtensible(拡張可能)という意味であり,

フォーマットはほとんど一緒だが,

構造が異なる.


検証(Validation)とは?

W3Cはvalidatorという,HTML/XHTMLの文法ミスを見つけてくれるツールを公開している.
The W3C Markup Validation Service

CSSファイルにも,同様なツールが存在している.

W3C CSS 検証サービス


CSSのスタイルの与え方:
CSSをつかって文書のスタイルを変更する方法には主に3つある.

1.要素の再定義

CSSの規則を定義することにより,HTMLファイル内の要素の表示を変更することができる.

もし,すべての段落をダブルスペースにして,

文字色を緑にしたい場合には,

CSSファイルに以下の宣言を追加する.

 p {
  line-height: 2;
  color: green;
 }

すると

<p><\p>

で囲まれた内容が変更する.


2.IDを定義する. 

ある段落のみを変更させたい場合には,新しいIDを与えれば良い.

CSSファイルに以下の記述を追加し,

#highlight {  line-height: 2;
  color: green;
 } 

HTML内で,

 <p id="highlight">Paragraph content</p>

とすると,その部分だけ変更される.

しかし,このIDの方法では1つのHTMLファイル内で,一回しか同じIDを使用できない.
 
つまり,二つの別の段落に highlightというIDを付けることはできない.

3.クラスを定義する.

 クラスはIDとは異なり,重複が許される.
 
つまり,二つの段落に同じスタイルを指定することができる.

<p class="highlight">Paragraph content</p>
<p class="highlight">The content of the second paragraph</p> 

CSSファイル: 

.highlight {  line-height: 2;
  color: green;
 } 

ピリオドはCSSにおいてクラスを表す記号になる.



JavaScript:ページに動きを与える.

JavaScriptができること

・フォームに入力したデータの検証

・ドラック&ドロップ機能,

・スタイルの動的な変更,

・メニュー展開などの要素の動的処理

・ボタン機能の処理・などなど



Web 標準 ― すばらしき夢、でも現実は?

5: Web 標準 ― すばらしき夢、でも現実は? - Dev.Opera


Web標準は非常にすばらしいが,多くのWebサイトはこれに従っていない.

・そのページがWeb標準に従っているかを確認するためには,Validatorを使う.

The W3C Markup Validation Service

大手のサイトが遵守しているかを調べた.


Amazon:×

CNN:× 悪くはない

Amazon:△ おしい.

IBM:◯

Wikipedia:◯


・なぜみんなちゃんと遵守しないのか?

1.ちゃんとWeb標準について大学などで教えない.

2.昔のコードをすべて変更するのは,ビジネス上では非常に大きなコスト