Software Design plusシリーズプロになるためのJavaScript入門
――node.jsBackbone.jsHTML5jQueryMobile

[表紙]プロになるためのJavaScript入門――node.js,Backbone.js,HTML5,jQueryMobile

紙版発売

B5変形判/480ページ

定価3,278円(本体2,980円+税10%)

ISBN 978-4-7741-5438-1

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

本物のオブジェクト指向をJavaScriptで実践する方法を解説し,高い評価を得てきた『Java開発者のためのAjax実践開発入門』が,最新のWeb開発事情に合わせ内容を全面刷新。90%以上書き直し,JavaScriptをオブジェクト指向で根底から学ぶトレーニング方法や,Backbone.jsによるサーバサイドの開発,jQueryMobileによるスマートフォン対応など,仕事ですぐに役立つ技術解説を高密度に濃縮。今後10年以上稼ぐための基礎を,スジ良く学べる最強のJavaScript解説書です。

こんな方におすすめ

  • JavaScriptプログラマ

著者の一言

本書の対象読者

本書は,今までJavaなどの言語を用いてWebアプリケーションを構築していたエンジニアが,JavaScriptの世界に入っていく際にどのような知識が必要か考えて執筆しました。JavaScriptというと,かっちりしたエンタープライズの世界と比べてスピード重視のWeb系のサービスの世界で個々のエンジニアが職人芸的な技を駆使して使っているイメージが強いかもしれません。しかし,今後は様々な場面でJavaScriptの利用も進み,イントラのシステムやSIの現場などエンタープライズの世界でもJavaScriptなしでは語れない時代が来るかもしれません。そのときに本書の内容が皆様のお役に立てばいいと思っています。
本書はある程度プログラム経験がある読者を想定していますが,JavaScriptの文法や基本的な概念にも多くのページを割きましたので,プログラム初心者の方もプログラムの基礎の本を隣に置いて本書を読み進めていただければと思います。

本書の概要

第1章 JavaScript入門

本章では文法の解説に入る準備として,JavaScriptの歴史や特徴を解説します。これらの知識は文法学習の指針となり,さらには現在の技術動向を読み解く上で役立つでしょう。また,サンプルコードを実際に動かす環境として,FireBugとChrome JavaScript コンソールのインストールと操作方法を紹介します。以降のサンプルコードは本ツールを使用して実際に試していきましょう。

第2章 JavaScriptの文法

本章ではJava言語やC言語などの習得者向けに,JavaScriptを基礎から応用まで解説します。レベル毎に別けて構成しましたので,不安となる箇所から重点的に読み進めて下さい。なお,解説では仕様上の用語を使用し,挙動が複雑な箇所はメモリイメージで解説するように努めています。これらをマスターすると技術者同士のコミュニケーションが円滑となるので,ぜひ取り入れてみてください。

第3章 DOMとXHR

本章ではブラウザのAPIとしてDocument Object Mode(DOM)とXMLHttpRequest(XHR)を解説します。これらのAPIを直接操作する場面は少ないですが,原理を理解することはブラウザの限界を知る上で非常に重要となります。FireBugなどを使用したデバック方法や,jsFiddleの使い方もあわせて解説しましたので,前章と同様に実際に試しながら読み進めましょう。

第4章 jQuery

本章ではクロスブラウザライブラリ入門としてjQueryを解説します。本ライブラリに関しては多くの解説サイトが存在しますので,考え方を中心に解説するように構成しました。具体的にはjQueryオブジェクトからセレクタ,イベント処理,非同期処理などを解説しています。まずは本章で素早く勘所をつかんで,jQueryの本格的な習得に着手してみてください。

第5章 jQuery UI

この章では,jQueryをベースにした画面部品のライブラリであるjQuery UIを紹介します。jQuery UIを利用することにより,見栄えがよくインタラクティブな画面を簡単に作成することができます。この章では,jQuery UIを利用することによって実現できる画面の動きやjQuery UIが提供するウィジットを説明します。加えて,独自のウィジットを作成する方法も説明します。

第6章 HTML5とその周辺のJavaSriptの仕様

HTMLは,Webページの記述言語として多くの場面で使われています。一方,Webアプリケーションの浸透により,HTML4ではカバーしきれない範囲が多くなってきています。そこで,新しい要望を取り入れるために現在策定中の仕様がHTML5です。
本章では,厳密な定義ではHTML5の仕様に含まれない周辺のJavaScript APIも合わせて紹介します。しかし,そのすべてをカバーするのではなく,企業向けアプリケーションを作成する場合に便利だと思われる機能を中心に紹介していきます。

第7章 大規模開発入門

本章ではクライアントサイドの仕上げとして,大規模開発を切り口に高度なトピックを解説します。具体的にはBDD入門としてJasmineを紹介し,さらにJavaScriptのOOPを徹底的に解説します。また,MVC入門としてBackbone.jsを解説します。これらの知識は自分一人がコーディングするような小さなロジックでは使いませんが,分業が必要な規模となると不可欠となります。一歩先のJavaScript開発を楽しんでみましょう。

第8章 jQuery Mobile

スマートフォンやタブレットなどのモバイルデバイスの浸透に伴って,アプリケーションのインターフェースを,通常のPC向けに加え,モバイル用を提供するこ とが重要になってきています。そこで,モバイルデバイス向けのJavaScriptライブラリとして,本章ではjQuery Mobileを紹介します。jQuery Mobileはその名の通り,jQueryをベースにモバイルデバイス向けに拡張したものです。

第9章 モバイルデバイスでのHTML5と周辺APIの利用

スマートフォンやタブレットなどのモバイルデバイスでは,ほとんどの場合,Webブラウザが動きます。最新のモバイルデバイスバイスのブラウザはHTML5をサ ポートしていることも珍しくありません。それに加え,カメラやGPSなどのモバイルデバイスならではの機能もあります。本章ではそれらの機能を モバイルデバイス上でブラウザからJavaScriptを通して利用する方法を紹介します。

第10章 node.JS

もともとはブラウザ上で動くスクリプト言語として誕生したJavaScriptですが,ブラウザ以外の実行環境でも活用が進み始めています。その一つにサーバサイドでの活用が挙げられます。この章では,サーバサイドのJavaScript環境としてnodeを紹介します。nodeを用いてWebアプリケーションを作成する基本的な方法から外部リソースとの連携までカバーしていきます。

第11章 express

前の章でnodeを利用してサーバサイドでJavaScriptを動かし,Webアプリケーションを作成できることを説明しました。nodeは様々な機能を提供しているのですが,それらのAPIは少々低レベルのレイヤのものにフォーカスしているように思えます。より便利にWebアプリケーションを作成するために,Webフレークワークが提供されています。本章ではnodeに対するWebフレームワークの一つとしてexpressを紹介します。

目次

Part1 JavaScriptの基礎
第1章 JavaScript入門

  • 1.1 JavaScriptとは
  • 1.2 JavaScriptの特徴
  • 1.3 写経環境の準備
  • 1.4 まとめ

第2章 JavaScriptの文法

  • 2.1 JavaScriptの学習ロードマップ
  • 2.2 初級編(目標:読めるようになる)
  • 2.3 中級編(目標:書けるようになる)
  • 2.4 上級編(目標:エレガントに)
  • 2.5 まとめ

第3章 DOMとXHR

  • 3.1 Document Object Model
  • 3.2 イベント処理
  • 3.3 イベント処理をページに仕込む
  • 3.4 XMLHttpRequest
  • 3.5 jsFiddleでXHR
  • 3.6 Networkパネル
  • 3.7 クロスドメイン通信
  • 3.8 まとめ

Part2 クライアントサイド
第4章 jQuery

  • 4.1 jQueryとは
  • 4.2 jQueryのセットアップ
  • 4.3 jQueryオブジェクト
  • 4.4 DOM操作
  • 4.5 セレクタ
  • 4.6 イベント処理
  • 4.7 非同期処理とユーティリティ
  • 4.8 jQueryプラグイン
  • 4.9 まとめ

第5章 jQuery UI

  • 5.1 jQuery UIを構成するコンポーネント
  • 5.2 利用の準備
  • 5.3 jQuery UIの基本的動作
  • 5.4 インタラクション(Interactions)
  • 5.5 ウィジット(Widgets)
  • 5.6 効果(Effects)
  • 5.7 ユーティリティ
  • 5.8 独自のウィジットを作成する
  • 5.9 まとめ

第6章 HTML5とその周辺のJavaScriptの仕様

  • 6.1 HTML5の仕様および動作環境について
  • 6.2 HTML5基礎
  • 6.3 追加になった要素
  • 6.4 フォーム部品
  • 6.5 ファイルを読み込む
  • 6.6 要素をドラッグアンドドロップする
  • 6.7 ファイルをドロップして読み込む
  • 6.8 複数の文書間でデータのやり取りをする
  • 6.9 処理をバックグラウンドで実行する
  • 6.10 サーバーで発生したイベントをブラウザで受け取る
  • 6.11 ブラウザとサーバーの間で双方向の通信をする
  • 6.12 アプリケーションをオフラインでも動作するようにする
  • 6.13 Web Storageでブラウザにデータを保存する
  • 6.14 データをローカルのデータベースで管理する
  • 6.15 まとめ

第7章 大規模開発入門

  • 7.1 大規模開発しましょうか!
  • 7.2 伝わるコードを書く
  • 7.3 Jasmine
  • 7.4 JavaScriptのオブジェクト指向
  • 7.5 アプリケーションに背骨を(Backbone.js)
  • 7.6 まとめ

Part3 モバイル
第8章 jQuery Mobile

  • 8.1 jQuery Mobileとは
  • 8.2 利用の準備
  • 8.3 基本的なサンプル
  • 8.4 ページ
  • 8.5 ダイアログ
  • 8.6 ボタン
  • 8.7 フォーム部品
  • 8.8 リスト
  • 8.9 ヘッダとフッタ
  • 8.10 ナビケーションバー
  • 8.11 折りたたみ領域
  • 8.12 テーマ
  • 8.13 設定
  • 8.14 メソッド
  • 8.15 イベント
  • 8.16 まとめ

第9章 モバイルデバイスでのHTML5と周辺APIの利用

  • 9.1 動作検証の環境について
  • 9.2 GPSなどの位置情報を利用する
  • 9.3 デバイスの動きを検知する
  • 9.4 カメラを利用する
  • 9.5 ネットワークの接続状況を確認する
  • 9.6 バッテリーの状況を確認する
  • 9.7 デバイスを振動させる
  • 9.8 デバイスに通知を表示する
  • 9.9 デバイスの幅に合わせて画面を調整する
  • 9.10 デバイスの幅に合わせてレイアウトを調整する
  • 9.11 まとめ

Part4 サーバーサイド
第10章 node.js――サーバーサイドJavaScript環境

  • 10.1 インストールと実行
  • 10.2 Hello World
  • 10.3 基本的な機能
  • 10.4 non-blocking io
  • 10.5 モジュール管理
  • 10.6 npm
  • 10.7 デバッグ
  • 10.8 Webアプリケーションの作成
  • 10.9 外部リソースへのアクセス
  • 10.10 まとめ

第11章 express――サーバーサイドJavaScriptフレームワーク

  • 11.1 expressのインストール
  • 11.2 Hello World
  • 11.3 expressコマンド
  • 11.4 Webアプリケーションの作成
  • 11.5 View
  • 11.6 まとめ

著者プロフィール

河村嘉之(かわむらかずゆき)

1974年神奈川県生まれ。メーカー系SI企業にて,おもにサーバサイドを中心にJava関連のプロジェクトや技術評価を担当。二度の米国勤務,オープンソースを扱うスモールビジネスを経て,現在は,エンタープライズ系のクラウドベンダーの技術コンサルティングに従事。コミュニティ活動としては,日本Javaユーザグループ副会長,日本Springユーザグループ幹事として活動。
そこそこの年齢に達しているがいまだにコードを書くことに楽しみを見出し,休日は動かないコードにイライラしたり,すっきり動いたときににまっとしたりしている。
旅を人生の楽しみとして,常に次にどこの国に行くか妄想しながら生きている。


川尻剛(かわじりたけし)

1977年北海道生まれ。某SI企業の開発リーダーとして,マネジメントから実装まで幅広く担当している。JavaScriptに関しては5年以上の経験があり,いくつもの先端プロジェクトを成功に導いてきた。特に若手の育成に定評があり,白紙の状態から一人前の技術者に仕上げることを得意とする。共著に『Ruby公式資格教科書』(技術評論社)など。
最近は一眼レフカメラに興味を持ち,三脚をかついで妻と撮影旅行に出かける休日が多い。来年生まれる新しい家族の記録のために,もっともっと腕を磨きたい。