hijax - 少しずつajaxへ

14
Hijax - 少しずつAjaxHijax - 少しずつJavaScriptの埋め込み 1 of 14

Upload: yi-gu

Post on 13-Jul-2015

3.176 views

Category:

Self Improvement


0 download

TRANSCRIPT

Page 1: Hijax - 少しずつAjaxへ

Hijax- 少しずつAjaxへ

Hijax - 少しずつJavaScriptの埋め込み

1 of 14

Page 2: Hijax - 少しずつAjaxへ

なぜAjaxなの?よりよいUI/UE(ユーザ側)リッチなUIの実現が可能になる。

より速い処理(サーバー側)通信は画面遷移・リロードなし、データのみ

より柔らかいシステムアーキテクチャーサービス単位で分けることが出来る(システムをAPI化)SOA、クラウド…

Hijax - 少しずつJavaScriptの埋め込み

2 of 14

Page 3: Hijax - 少しずつAjaxへ

しかし、Ajaxの時代なのに...JavaScriptロード・初期化が失敗したら...

JavaScriptを対応してないデバイスであれば...

検索エンジンがアクセスする場合に...

It must degrade well. It must still beaccessible. It must be usable. If not, it is acool useless piece of rubbish for some ormany people.

Thomas Vander Val

ピュアなHTMLは重要です!

Hijax - 少しずつJavaScriptの埋め込み

3 of 14

Page 4: Hijax - 少しずつAjaxへ

漸進的にページを作るコンテンツコンテンツを適当にマークアッププレゼンテーション層各要素の振る舞い

Hijax - 少しずつJavaScriptの埋め込み

4 of 14

Page 5: Hijax - 少しずつAjaxへ

漸進的にページを作るコンテンツコンテンツを適当にマークアップ HTML/XHTML

プレゼンテーション層 CSS

各要素の振る舞い JavaScript

Hijax - 少しずつJavaScriptの埋め込み

5 of 14

Page 6: Hijax - 少しずつAjaxへ

ポイント!「分離」CSSの分離

inline

external

<p style="font-weight: bold">This is an introductory paragraph.</p>

<p class="introduction">This is an introductory paragraph.</p>p.introduction { font-weight: bold; }

Hijax - 少しずつJavaScriptの埋め込み

6 of 14

Page 7: Hijax - 少しずつAjaxへ

ポイント!「分離」JavaScriptの分離(ポップアップ)

pseudo protocol - ダメ!

空リンク - よくない!

DOM - 良い!

<a href="javascript:window.open('help.html')">contextual help</a>

<a href="#" onclick="window.open('help.html'); return false;">contextual help</a>

<a href="help.html" onclick="window.open(this.getAttribute('href')); return false;">contextual help</a>

Hijax - 少しずつJavaScriptの埋め込み

7 of 14

Page 8: Hijax - 少しずつAjaxへ

ポイント!「分離」徹底的な分離(ポップアップ)ピュアなHTML - 素晴らしい!

JavaScriptでの初期化

<a href="help.html" >contextual help</a>

$(function(){ $("a.help").bind("click", function(){ window.open($(this).attr("href")); return false; });});

Hijax - 少しずつJavaScriptの埋め込み

8 of 14

Page 9: Hijax - 少しずつAjaxへ

JavaScriptを使う時に

ご遠慮ください!

<a href="#" >...</a>

<a href="javascript:" >...</a>

inline イベントハンドラー

Hijax - 少しずつJavaScriptの埋め込み

9 of 14

Page 10: Hijax - 少しずつAjaxへ

Hijaxクラシック方法でウェブシステムを作る。

画面遷移はリンクとフォームで実装する。

JavaScriptでリンクとフォームをハイジャック(hijack)する。

フォームやリンクを代わりに、XMLHttpRequestでサーバーへ通信させる。

サーバはただのデータを返却する。

Hijax - 少しずつJavaScriptの埋め込み

10 of 14

Page 11: Hijax - 少しずつAjaxへ

システムの仕組みサーバー側モジュール化(サービス化、API化)

データフォーマットXML + DOM

JSON + eval()

HTML + innerHTML

Hijax - 少しずつJavaScriptの埋め込み

11 of 14

Page 12: Hijax - 少しずつAjaxへ

タイミング最初には、Ajaxをプランする。最後には、Ajaxを実装する。

Hijax - 少しずつJavaScriptの埋め込み

12 of 14

Page 13: Hijax - 少しずつAjaxへ

Hijaxの利点無垢なHTMLどんなディバイスでも使えるシステム検索エンジンにやさしい

DRYロジックとプレゼンテーションの分離、メンテナンスしやすい。

セキュリティーすべてのビジネスロジックはサーバーサイドにある。

Hijax - 少しずつJavaScriptの埋め込み

13 of 14

Page 14: Hijax - 少しずつAjaxへ

Thank you!Hijax - 少しずつJavaScriptの埋め込み

14 of 14