memokamiさんがPHPでモバイル開発の本を執筆なされたとの事で、さっそくゲットしてこの週末でさらっと読みました。
PHP×携帯サイト デベロッパーズバイブル
荒木 稔
本当に目から鱗というか何と言うか、オイラのような中途半端な知識でモバイル開発を気嫌いしてきた人間にとって、とても入りやすい本でした。
とりあえず、目次はmemokamiさんのエントリーから拝借です。(スンマセン)
PHPによる携帯サイトの作り方を完全詳解した「PHP x 携帯サイト デベロッパーズバイブル」が発売になりました。
Chapter.1 携帯サイトを作るための基礎知識 1-1 携帯サイトとPCサイト 1-1-1 PCサイトと違うところ 1-1-2 携帯サイトだから出来ること 1-2 携帯サイトを作る前に 1-2-1本書の対応キャリア 1-2-2携帯業界の現状を知る 1-3 開発ポリシーを決める 1-3-1 開発ポリシーの大切さ 1-3-2 対応キャリア/機種を決定する 1-3-3 文字コードを決定する 1-3-4 表示方法を決定する 1-3-5 本書での開発ポリシー 1-4 開発環境を整える 1-4-1 必要な環境 1-4-2 本書での開発環境の構成 1-4-3 設定ファイル 1-5 本書のゴール Chapter.2 簡易的なページの作成と確認方法 2-1 本章のゴール 2-2 簡単な携帯対応ページを作る 2-2-1 作り始める前の2つのポイント 2-2-2 簡単な掲示板を作る 2-3 携帯端末でサイトを確認する 2-4 携帯端末以外での確認方法 2-4-1 Webブラウザで確認する方法 2-4-2 携帯端末エミュレータ Chapter.3 キャリア/機種を判別する 3-1 本章のゴール 3-2 なぜキャリア/機種判別が必要か 3-2-1 キャリア/機種ごとに異なる仕様 3-2-2 キャリア/機種に応じて表現を切り替える必要性 3-3 キャリア/機種を判別する方法 3-3-1 ユーザーエージェントで判別する方法 3-3-2 アクセス元のIPアドレスで判別する方法 3-4 ユーザーエージェントを理解する 3-4-1 ユーザーエージェントから取得できる情報 3-5 Net_UserAgent_Mobileを利用して判別する 3-5-1 Net_UserAgent_Mobileとは 3-5-2 Net_UserAgent_Mobileをインストールする 3-5-3 キャリア/機種判別サイトを作成する 3-5-4 Net_UserAgent_Mobileで機種判別機能を実装する 3-5-5 Net_UserAgent_Mobileで取得できるその他の情報 3-6 ユーザーエージェント以外から取得できる情報 3-7 携帯端末の詳細情報をデータとして持つ 3-8 IPアドレスからキャリアを判別する 3-8-1 アクセス元のIPアドレス帯域を汁 3-8-2 Net_IPv4を利用してIPアドレス帯域を調べる 3-9 携帯以外からのアクセスを制限する 3-9-1 なぜアクセス制限を行うのか? 3-9-2 アクセス制限を行う方法 3-9-3 アクセス制限を行う場所 3-9-4 .htaccessによるアクセス制御 Chapter.4 端末に最適な画面で表示する 4-1 本書のゴール 4-2 HTMLとXHTMLでの表現方法 4-2-1 HTMLとXHTMLの違い 4-2-2 携帯でのXHTML仕様 4-2-3 XHTMLに対応している端末 4-2-4 プログラムによる対応箇所 4-2-5 DOCTYPEの書き換え 4-2-6 Content-Typeの書き換え 4-2-7 XHTMLサイトの実装例 4-3 携帯端末に最適な画像を出力する 4-3-1 携帯端末に応じた最適な画像とは 4-3-2 画像変換プログラムを実装する前に 4-3-3 最適な画像に変換するプログラムを実装する Chapter.5 絵文字を取り扱う 5-1 本章のゴール 5-2 絵文字とは 5-2-1 キャリア/機種の絵文字対応状況 5-2-2 絵文字の処理を行う意味 5-2-3 絵文字の自動変換 5-2-4 絵文字を考えるポイント 5-3 サイトに絵文字を出力する 5-3-1 docomoの絵文字を出力する 5-3-2 auの絵文字を出力する 5-3-3 SoftBankの絵文字を出力する 5-3-4 絵文字を出力するときの文字コード 5-3-5 Disney Mobileへの対応 5-4 各キャリアに対応した絵文字を出力する方法 5-4-1 出力ページ単位切り替え方式 5-4-2 絵文字単位切り替え方式 5-4-3 キャリア絵文字変換方式 5-4-4 絵文字番号変換方式 5-4-5 内部絵文字管理方式 5-4-6 キャリア別内部絵文字管理方式 5-5 絵文字の入力を取得する方法 5-5-1 文字コードについて理解する 5-5-2 絵文字を扱うための文字コード 5-5-3 docomoの絵文字入力を取得する 5-5-4 docomoの入力絵文字を変換する 5-5-5 auの絵文字入力を取得する 5-5-6 SoftBank(3GC型以外)の絵文字入力を取得する 5-5-7 SoftBank(3GC型)の絵文字入力を取得する 5-6 絵文字が使える掲示板を作成する Chapter.6 携帯メールを実装する 6-1 本章のゴール 6-2 携帯メールを理解する 6-3 携帯へメールを送信する 6-3-1 携帯メール送信プログラム 6-3-2 なりすましメール対策 6-4 絵文字入りメールを送信する 6-4-1 docomo端末に絵文字入りメールを送信する 6-4-2 au端末に絵文字入りメールを送信する 6-4-3 SoftBank端末に絵文字入りメールを送信する 6-5 携帯から絵文字入りメールを送信する 6-5-1 携帯からの絵文字入りメール 6-5-2 docomo端末からの絵文字入りメール 6-5-3 au端末からの絵文字入りメール 6-5-4 SoftBank端末からの絵文字入りメール 6-6 デコメールを送信する 6-6-1 デコメールとは 6-6-2 デコメ絵文字とは 6-6-3 docomoのデコメールの仕様 6-6-4 auのデコレーションメールの仕様 6-6-5 SoftBankのデコレメールの仕様 6-6-6 通常のHTMLメールを送信する 6-6-7 docomoのデコメールを送信する 6-6-8 auのデコレーションメールを送信する 6-6-9 SoftBankのデコレメールを送信する 6-7 空メールを実装する 6-7-1 空メールのフローを理解する 6-7-2 空メールのプログラムを作成する 6-7-3 空メールを受け取る設定をする 6-7-4 空メールを送信してみる Chapter.7 ログイン状態の管理 7-1 本章のゴール 7-2 携帯を使ったログイン 7-2-1 IDとパスワードのログイン 7-2-2 個体識別情報によるログイン 7-3 個体識別情報を理解する 7-3-1 個体識別情報の種類 7-3-2 docomoの個体識別情報 7-3-3 auの個体識別情報 7-3-4 SoftBankの個体識別情報 7-4 ログイン状態を維持する方法 7-4-1 ログイン状態を維持するとは 7-4-2 携帯サイトでのセッション管理 7-5 かんたんログインを実装する Chapter.8 位置情報を取得する 8-1 本章のゴール 8-2 位置情報を理解する 8-2-1 位置情報とは 8-2-2 携帯での位置情報 8-2-3 GPSと基地局の位置情報 8-2-4 基地局を使った位置情報取得の種類 8-3 docomoの位置情報取得 8-3-1 オープンiエリアを使った位置情報の取得 8-3-2 GPSを使った位置情報の取得(mova) 8-3-3 GPSを使った位置情報の取得(FOMA) 8-4 auの位置情報取得 8-4-1 端末の位置情報対応状況を確認する 8-4-2 簡易位置情報の取得 8-4-3 GPSを使った位置情報の取得 8-5 SoftBankの位置情報取得 8-5-1 簡易位置情報の取得(2G) 8-5-2 簡易位置情報の取得(3G) 8-5-3 GPSを使った位置情報の取得 8-6 現在位置をGoogleMapで表示する 8-6-1 Google Maps APIの利用申請をする 8-6-2 Google Static Mapsの利用方法 8-6-3 作成するプログラムの全体像 8-6-4 位置情報をGoogle Mapsに表示する Chapter.9 動的にQRコードを作成する 9-1 本章のゴール 9-2 QRコードとは 9-3 QRコードを作成する 9-3-1 QRコード作成ライブラリ 9-3-2 QRコードの実装 9-4 携帯電話に特化したデータを作成する 9-4-1 docomoの場合 9-4-2 auの場合 9-4-3 SoftBankの場合 各種付録
盛り沢山とはこの事です。
とりあえず、モバイル開発初心者は「Chapter.1 携帯サイトを作るための基礎知識 」と「Chapter.2 簡易的なページの作成と確認方法 」あたりを読み通すとかなり感触はつかめるんじゃないかと思います。最近のモバイル開発では3キャリア(Docomo、au、SoftBank)で3G以降の機種に限定した対応環境で良いんだと思いますが、それにしてもキャリア/機種毎の仕様の違いは相当あります。Web上にもこれらの情報はかなり上がってきてますが、本でちゃんと整理されていると本当に楽になるもんです。
あと、通して読んだのは本当にさらっとなんですが、各トピックをリファレンスとして後から必要な時に参照するって使い方になりそうです。絵文字、ユーザーエージェント、位置情報(にはまだ手を出してないけど)、個体識別情報取得とか、とてもじゃないけど覚えきれるものではないですからね。
本のタイトルにもありますが、PHPでの開発を前提にしている事も見逃せません。PHPでモバイル開発しているところはたくさんあるでしょうからね。面倒なキャリア/機種毎の処理部分も、サンプルコード参考にしてさくっと作れてしまいそうです。ってか、ほとんどコピペしそうw(ちゃんとテストはしましょうね!)
というわけで、かなりオススメの本ですよ。
(お、今のところAmazonのインターネット・Web開発で1位ですね。スゴい!)
memokamiさん、良い本をありがとうございます!