hijax - 少しずつajaxへ

Post on 13-Jul-2015

3.176 Views

Category:

Self Improvement

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Hijax- 少しずつAjaxへ

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

1 of 14

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

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

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

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

2 of 14

しかし、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

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

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

4 of 14

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

プレゼンテーション層 CSS

各要素の振る舞い JavaScript

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

5 of 14

ポイント!「分離」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

ポイント!「分離」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

ポイント!「分離」徹底的な分離(ポップアップ)ピュアな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

JavaScriptを使う時に

ご遠慮ください!

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

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

inline イベントハンドラー

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

9 of 14

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

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

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

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

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

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

10 of 14

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

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

JSON + eval()

HTML + innerHTML

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

11 of 14

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

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

12 of 14

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

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

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

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

13 of 14

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

14 of 14

top related