SlideShare a Scribd company logo
1 of 19
Download to read offline
JavaScriptで学ぶAjax通信
toshi0607.com
2014/8/16
@Tech Garden School
Project Compass 1
これ何の資料?
•  対象
 − Ajax通信の概要を理解したい人
 − WEBサービスのUXを高めたい人
•  内容のレベル
 − 作者:プログラミング歴8ヶ月くらい
 − 概要と簡単なサンプル
Project Compass 2
目次
1.Ajax通信とは(概要)
2.DEMO
3.Ajax通信とは(詳細)
4.JavaScript(jQuery)での実装
5.まとめ
6.参考資料
Project Compass 3
目次
1.Ajax通信とは(概要)
2.DEMO
3.Ajax通信とは(詳細)
4.JavaScript(jQuery)での実装
5.まとめ
6.参考資料
Project Compass 4
1.Ajax通信とは
「Ajax(Asynchronous JavaScript + XML)
を一言で言うならば、「JavaScript(XML
HttpRequestオブジェクト)を利用してサー
バ側と非同期通信を行い、受け取った結果
をDOM(DocumentObjectModel)経由で
ページに反映するしくみです。」
山田祥寛著『JavaScript本格入門』(2010年、技術評論社)より
Project Compass 5
1.Ajax通信とは
6
目次
1.Ajax通信とは(概要)
2.DEMO
3.Ajax通信とは(詳細)
4.JavaScript(jQuery)での実装
5.まとめ
6.参考資料
Project Compass 7
2.DEMO
Project Compass 8
©GitHub, Inc.
百聞は一見に如かず。
ローカルサーバ上で実行してください!
サンプルコード
https://github.com/toshi0607/Sato-Seminar
目次
1.Ajax通信とは(概要)
2.DEMO
3.Ajax通信とは(詳細)
4.JavaScript(jQuery)での実装
5.まとめ
6.参考資料
Project Compass 9
3.Ajax通信とは(詳細)
サーバとの通信結果を更新箇所のみに反映
− 高速・軽快な挙動
− 通信中も操作継続
 
Project Compass 10
リッチなUI構築に不可欠な技術
3.Ajax通信とは(詳細)
・非同期通信
Project Compass 11
全ページ更新
・同期通信
更新箇所のみ更新
目次
1.Ajax通信とは(概要)
2.DEMO
3.Ajax通信とは(詳細)
4.JavaScript(jQuery)での実装
5.まとめ
6.参考資料
Project Compass 12
4.JavaScript(jQueryでの実装)
Project Compass 13
Ajaxを実装するために必要な3ステップ
※JavaScriptを使用
①XMLHttpRequestオブジェクトを生成
 − このオブジェクトが非同期通信を制御
②コールバック関数を登録
 − サーバ応答時の処理内容
  − オブジェクトの通信の状態変化により呼び出される
③サーバ非同期通信を開始
4.JavaScript(jQueryでの実装)
Project Compass 14
サンプルコードhw4-ajax-sample_js.html
①オブジェクトを生成
②コールバック関数を登録
③サーバ非同期通信を開始
4.JavaScript(jQueryでの実装)
Project Compass 15
サンプルコードhw4-ajax-sample_js.html サンプルコードhw4-ajax-sample_jq.html
40%削減!
JQueryでより簡潔に再現!
目次
1.Ajax通信とは(概要)
2.DEMO
3.Ajax通信とは(詳細)
4.JavaScript(jQuery)での実装
5.まとめ
6.参考資料
Project Compass 16
5.まとめ
Project Compass 17
①操作性の改善
 − 通信毎に発生していたページチラツキを解消
  − サーバの処理中もクライアント側で処理継続
②パフォーマンスの向上
 − ページの必要な部分を更新するので、通信量最小化
  − サーバの処理待ちがなく、体感速度が向上
③開発生産性/運用性の向上
  − リッチなUIを標準的な技術だけで構築
  − 動作に必要な当別なプラグインが不要で、導入が容易
−
目次
1.Ajax通信とは(概要)
2.DEMO
3.Ajax通信とは(詳細)
4.JavaScript(jQuery)での実装
5.まとめ
6.参考資料
Project Compass 18
6.参考資料
Project Compass 19
・山田祥寛著『JavaScript本格入門』
 (2010年、技術評論社)
 − 多数著書あり。単に動けばいい!というわけでなく、
  技術登場の背景から解説がみっちりです。大好きです。
・西畑一馬著『Web制作の現場で使うjQueryデザイン入門』
 (2013年、WEB PROFESSIONAL)
  − Webデザイナー向けという割り切りがあり、
  抵抗なく説明が頭に入ってきます。
・Yuta Motishige作『見やすいプレゼン資料の作り方』
 (http://www.slideshare.net/yutamorishige50/how-to-present-better)
  − パワポ作成センス0、昨年同一資料41回作り直しの僕は
  その後にこの資料を知りました…。

More Related Content

Viewers also liked

2011インターンシップ_09n1106_西村好美
2011インターンシップ_09n1106_西村好美2011インターンシップ_09n1106_西村好美
2011インターンシップ_09n1106_西村好美Konom
 
2012卒業設計_神を迎えるまち_西村好美_高村研究室
2012卒業設計_神を迎えるまち_西村好美_高村研究室2012卒業設計_神を迎えるまち_西村好美_高村研究室
2012卒業設計_神を迎えるまち_西村好美_高村研究室Konom
 
Bugang from above meets the young man from
Bugang from above meets the young man fromBugang from above meets the young man from
Bugang from above meets the young man fromJoash Surio
 
2011 インターンシップPPT 08N1118 熊小百合
2011 インターンシップPPT 08N1118 熊小百合2011 インターンシップPPT 08N1118 熊小百合
2011 インターンシップPPT 08N1118 熊小百合08n1118
 
ガラポンTV〜電子番組情報内検索〜
ガラポンTV〜電子番組情報内検索〜ガラポンTV〜電子番組情報内検索〜
ガラポンTV〜電子番組情報内検索〜Garapon inc.
 
2011インターンシップ 08N1118 熊小百合
2011インターンシップ 08N1118 熊小百合2011インターンシップ 08N1118 熊小百合
2011インターンシップ 08N1118 熊小百合08n1118
 
Tutorialdeinformaticabasicahechoencomic 110322214822-phpapp01
Tutorialdeinformaticabasicahechoencomic 110322214822-phpapp01Tutorialdeinformaticabasicahechoencomic 110322214822-phpapp01
Tutorialdeinformaticabasicahechoencomic 110322214822-phpapp01edinson-lozano
 
Induction motor theory advanced
Induction motor theory advancedInduction motor theory advanced
Induction motor theory advancedsatya_m
 
Nacrt naucne-zamisli
Nacrt naucne-zamisliNacrt naucne-zamisli
Nacrt naucne-zamislimicipici
 
Tugas kelompok evaluasi pendidikan
Tugas kelompok evaluasi pendidikanTugas kelompok evaluasi pendidikan
Tugas kelompok evaluasi pendidikanTiarma Sihite
 
I love New Zealand (iluvnz.co.nz) presentation
I love New Zealand (iluvnz.co.nz) presentationI love New Zealand (iluvnz.co.nz) presentation
I love New Zealand (iluvnz.co.nz) presentationstevenanthonygraham
 
14. a variable speed, sensorless, induction motor drive
14. a variable speed, sensorless, induction motor drive14. a variable speed, sensorless, induction motor drive
14. a variable speed, sensorless, induction motor drivesatya_m
 

Viewers also liked (20)

Angular1&2
Angular1&2Angular1&2
Angular1&2
 
Efpl
EfplEfpl
Efpl
 
2011インターンシップ_09n1106_西村好美
2011インターンシップ_09n1106_西村好美2011インターンシップ_09n1106_西村好美
2011インターンシップ_09n1106_西村好美
 
2012卒業設計_神を迎えるまち_西村好美_高村研究室
2012卒業設計_神を迎えるまち_西村好美_高村研究室2012卒業設計_神を迎えるまち_西村好美_高村研究室
2012卒業設計_神を迎えるまち_西村好美_高村研究室
 
Efpl
EfplEfpl
Efpl
 
Meetings
MeetingsMeetings
Meetings
 
Bugang from above meets the young man from
Bugang from above meets the young man fromBugang from above meets the young man from
Bugang from above meets the young man from
 
2011 インターンシップPPT 08N1118 熊小百合
2011 インターンシップPPT 08N1118 熊小百合2011 インターンシップPPT 08N1118 熊小百合
2011 インターンシップPPT 08N1118 熊小百合
 
ガラポンTV〜電子番組情報内検索〜
ガラポンTV〜電子番組情報内検索〜ガラポンTV〜電子番組情報内検索〜
ガラポンTV〜電子番組情報内検索〜
 
Efpl
EfplEfpl
Efpl
 
2011インターンシップ 08N1118 熊小百合
2011インターンシップ 08N1118 熊小百合2011インターンシップ 08N1118 熊小百合
2011インターンシップ 08N1118 熊小百合
 
Tutorialdeinformaticabasicahechoencomic 110322214822-phpapp01
Tutorialdeinformaticabasicahechoencomic 110322214822-phpapp01Tutorialdeinformaticabasicahechoencomic 110322214822-phpapp01
Tutorialdeinformaticabasicahechoencomic 110322214822-phpapp01
 
Internet
InternetInternet
Internet
 
Induction motor theory advanced
Induction motor theory advancedInduction motor theory advanced
Induction motor theory advanced
 
Nacrt naucne-zamisli
Nacrt naucne-zamisliNacrt naucne-zamisli
Nacrt naucne-zamisli
 
Tugas kelompok evaluasi pendidikan
Tugas kelompok evaluasi pendidikanTugas kelompok evaluasi pendidikan
Tugas kelompok evaluasi pendidikan
 
I love New Zealand (iluvnz.co.nz) presentation
I love New Zealand (iluvnz.co.nz) presentationI love New Zealand (iluvnz.co.nz) presentation
I love New Zealand (iluvnz.co.nz) presentation
 
Presentación del instituto serzedello corrêa - TCU
Presentación del instituto serzedello corrêa  - TCUPresentación del instituto serzedello corrêa  - TCU
Presentación del instituto serzedello corrêa - TCU
 
14. a variable speed, sensorless, induction motor drive
14. a variable speed, sensorless, induction motor drive14. a variable speed, sensorless, induction motor drive
14. a variable speed, sensorless, induction motor drive
 
Large-format-printers
Large-format-printersLarge-format-printers
Large-format-printers
 

Similar to JavaScriptで学ぶajax通信

Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.jsTanUkkii
 
Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19Hideki Hashizume
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発Akira Inoue
 
One ASP.NET の今とこれから
One ASP.NET の今とこれからOne ASP.NET の今とこれから
One ASP.NET の今とこれからAkira Inoue
 
Cakephp Ajax
Cakephp AjaxCakephp Ajax
Cakephp Ajaxmick
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Akira Inoue
 
プロジェクト2B 最終発表
プロジェクト2B 最終発表プロジェクト2B 最終発表
プロジェクト2B 最終発表Kodai Takao
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発Akira Inoue
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後Akira Inoue
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介david9142
 
HTML5-20100626
HTML5-20100626HTML5-20100626
HTML5-20100626Taku AMANO
 
多分モダンなWebアプリ開発
多分モダンなWebアプリ開発多分モダンなWebアプリ開発
多分モダンなWebアプリ開発tak-nakamura
 
~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~Oda Shinsuke
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Akira Inoue
 
20111204 WebBroser Control Tips for Windows Phone
20111204 WebBroser Control Tips for Windows Phone20111204 WebBroser Control Tips for Windows Phone
20111204 WebBroser Control Tips for Windows PhoneKenji Wada
 
次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説kumo2010
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例Naoya Kishimoto
 

Similar to JavaScriptで学ぶajax通信 (20)

Ajax
AjaxAjax
Ajax
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.js
 
Mvc conf session_1_osada
Mvc conf session_1_osadaMvc conf session_1_osada
Mvc conf session_1_osada
 
Ajax basic
Ajax basicAjax basic
Ajax basic
 
Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 
One ASP.NET の今とこれから
One ASP.NET の今とこれからOne ASP.NET の今とこれから
One ASP.NET の今とこれから
 
Cakephp Ajax
Cakephp AjaxCakephp Ajax
Cakephp Ajax
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
 
プロジェクト2B 最終発表
プロジェクト2B 最終発表プロジェクト2B 最終発表
プロジェクト2B 最終発表
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
 
HTML5-20100626
HTML5-20100626HTML5-20100626
HTML5-20100626
 
多分モダンなWebアプリ開発
多分モダンなWebアプリ開発多分モダンなWebアプリ開発
多分モダンなWebアプリ開発
 
~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
 
20111204 WebBroser Control Tips for Windows Phone
20111204 WebBroser Control Tips for Windows Phone20111204 WebBroser Control Tips for Windows Phone
20111204 WebBroser Control Tips for Windows Phone
 
次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説次期Office製品群の新しい開発モデルの解説
次期Office製品群の新しい開発モデルの解説
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
 

JavaScriptで学ぶajax通信