妻の雑貨屋のために、店のWebサイトを作っているところです。「スマホファースト」なんてカッコをつけてはみたものの、やってみると実は結構重要な問題を抱えていることが判明しました。というのも、スマホ用サイトを作ればパソコンでも見られるはず…と思っていたんですが、そうは問屋が卸さなかったんです。
スマートフォン向けのWebサイトを構築するときには、jQuery Mobileというフレームワークを使って見栄えを整えているわけですが、実際にページを記述する言語自体も、HTML5をベースにCSS3が適用できるという、最新の環境を前提に記述しています。もちろん、これは現在のスマートフォンのほとんどがこれらに十分対応できるからこその選択。しかし、パソコンの場合、Web閲覧環境は千差万別です。さまざまな状況を想定しなくてはなりません。
特に事態をややこしくしているのが、Windows XPが、21世紀初頭から現在に至るまで10年以上も、現役OSとして君臨し続けてしまったこと。その後WindowsはVista、7、8と進んできたわけですが、7はそこそこ普及しつつあるものの、その機能、性能だけではXPから積極的に乗り換えなくてはならないほどの動機付けにはなっていません。さすがにこれでは困ってしまうMicrosoft社は、期限を延ばし続けてきたWindows XPのサポートを、ついに2014年4月9日で打ち切りますが、それでもどれだけの効果があるのかは不透明です。
Windows XPに標準で付属するWebブラウザはInternet Explorer(IE) 6。特に、パソコンを積極的に活用しているわけではない一般ユーザーの多くが、未だにIE6を使っている状況が考えられます。また、私の職場では業務システムの動作環境が未だにXP+IE6。さすがに今年度は移行が進められていくようですが、同じような状況で簡単には乗り換えられない企業が多いのではないかと思います。個人の趣味で動かしているSSK Worldの場合は、古い環境をバッサリと切り捨ててしまえばよいのですが、より多くのお客様を呼ばなくてはならない商用サイトではそれは許されません。IE6もターゲットに含めておく必要があります。
さて、振り返ってみて、私が作った店のスマートフォン用Webサイトなんですが、IE6どころか、Windows 7に標準で組み込まれているIE8でも、スタイルシートが適用されずに超プレーンな表示をされてしまうことが判明。これでは、販促用としては全く役に立ちません。実は、IE以外のブラウザはCSS3への対応がかなり進んでいるのに、IEはIE9でもまだ対応が不十分。特にIEの各バージョンへの対応のために、やっぱりパソコン用サイトはスマートフォン用とは別にしっかりと作り込む必要がありますし、きちんと表示出来るかどうか確認しなくてはなりません。
各種Webブラウザーでの対応を進めていくためには、対象のブラウザー自体をインストールして、実際に表示させてみて確認するのが一番確実です。私の場合も、表示確認のためにメジャーどころのブラウザーはほとんどインストールしています。しかし、同じブラウザーの複数のバージョンをインストールして共存させるのは、単一のOS上では不可能だったり、可能だとしてもかなり面倒だったりします。特に、Windows OSと密接に結びついているIEでは、使いたい環境の数だけWindowsのシステムを用意しなくてはなりません。
それだけのために何台もパソコンを用意するのは経済的に大変ですし、マルチブートでセットアップしても再起動ばかりで手間がかかるわけですが、ここ数年はもう少しお手軽な方法が使えるようになっています。それは、1台のパソコンの中で何台ものパソコンが同時に動作しているように「見せかける」こと。パソコンのあらゆる動作をシミュレートできるソフトウェアを用意して、これを複数動かすことで、1台のパソコンの中に何台もの「仮想パソコン」を用意します。それぞれの仮想パソコンにOSをインストールして動かすことで、1台のコンピューター上で何台分ものOSを同時に動作させます。パソコンの処理能力が向上したおかげで、こんなヘビーな仕事もパソコン1台に任せられるようになりました。
こうした仮想PC環境を用意するためには、専用のソフトウェアが必要になりますが、現在私の自作タワーPCで動かしているWindows 8 Proには、これを実現できるHyper-Vというソフトウェアが標準で用意されています。私も、Hyper-Vを使って複数のWindows環境をセットアップしてみることにしました。
Hyper-Vは、Windows 8 Proの標準機能ではあるものの、インストール直後の状態では有効化されていません。コントロールパネルの「Windowsの機能の有効化または無効化」から機能を有効化する必要があります。また、Hyper-Vを動かすためには、CPUがSLATという仮想化のための特殊な機能に対応している必要があります。Intel Core iシリーズなら、基本的には対応しているようです。
Hyper-V機能を有効化すると、「Hyper-V マネージャー」から「仮想マシン」を作成し、起動したり設定を変更したりすることができます。仮想マシンは、メモリ容量やCPUの個数、接続するハードディスクの容量などを、物理マシンのリソースの範囲で自由に設定できます。しかも、メモリやディスクは使用状況に応じて動的に割り当てることが可能ですから、無駄な占有はありません。運用してみて足りないな…と感じれば、後から増やすことも出来ます。
私は、Windows XP、Windows Vista(64bit版)、Windows 7(64bit版)の3つのために、それぞれ仮想マシンを作成しました。それぞれにプロセッサ数を2ずつ割り当てても、8スレッド動作可能なCore i7-2600Kなら、まだホストOS用に2スレッド分が残せます。パワーを持て余し気味なマルチコアCPUの使い道としては、仮想マシンの割り当てはいい方法かも知れません。
それぞれ、初期状態でインストールされているのはIE6、IE7、IE8。これに、ホストOSであるWindows 8のIE10、妻のノートPCで稼働しているWindows 7に入っているIE9を加えれば、IE6~10でのテスト環境が完成するわけです。
仮想マシンでは、物理マシンの光ディスクドライブを使ってソフトウェアのインストールが可能です。また、光ドライブからのブートも出来ます。これを使って、それぞれの仮想マシンに割り当てた仮想ハードディスクに、順番にシステムをインストールしていきます。各マシンの画面は、Windows 8デスクトップ上のウィンドウ内にそれぞれ表示され、画面の解像度が切り替わるとウィンドウ自体のサイズが変わります。
仮想マシンにWindowsをインストールした場合には、仮想マシン用の適切なドライバーをインストールできたり、Windows 8デスクトップとの間で透過的にマウス操作が可能になったりする「統合サービス」を適用できます。しかし、統合サービスを適用するためには、Windowsに所定のサービスパックが適用されている必要があります。
Windowsの新バージョンは登場直後に導入していることがほとんどの私の場合、サービスパック適用済みのインストールディスクは持っていませんから、インストールを済ませた後でサービスパックを適用する必要があります。しかし、統合サービスをインストールしないと、ネットワークドライバーもインストールされませんから、Windows Updateでサービスパックを適用することができませんし、NAS経由でファイルをコピーすることもできません。CDやDVDのISOイメージをダウンロードして、仮想光ディスクとしてマウントする方法で適用が可能です。
とりあえず、3つのWindowsがそれぞれの仮想マシンにインストールされました。Vistaや7でAeroインターフェースが使えないのは残念ですが、動き自体は実にスムーズで、同時にすべて起動してもストレスは全く感じません。まあ、4つのデスクトップを同時に操作出来るわけではありませんし、そこは上手に負荷が配分されているのでしょう。
ただ、少々面食らったのは、しばらく他の用事でパソコンを放置しておいたら、自動でWindows Updateが動作して、Vistaと7の両方にIE9がインストールされてしまったこと。Windowsとしては実に正しい動作ではあるわけですが、私の目的には非常に困ります。どちらも丁重にアンインストールさせていただきました。
過去のIEで表示をさせてみると、IE6上でSSK Worldの表示が激しく乱れるのが気になりました。一方、妻の店のスマホ版Webサイトは、IE6でもIE8同様の超プレーン表示で、表示内容自体には破綻はありません。これなら、暫定版としては何とか持ちこたえられるかも知れません。パソコン用Webサイトの作成では、この環境をフルに活用して、できるだけ古いブラウザーでも綺麗に見えるページを目指したいところです。
コメントを残す