Loading
|
@IT > Webアプリは“Dreamweaver 8”でコーディングが新しい |
|
Dreamweaver® 8といえば、Webデザインツールのデファクトスタンダードとして有名だ。だが意外と知られていないのは、Webアプリケーション開発ツールとしての側面である。デザインツールとしてのイメージが先行しているためか、Web開発者のためのプラットフォームとして、Dreamweaver 8の備える数々の開発支援機能の存在を知らない人は多い。JavaScriptは当然としても、PHPやJSP、ASPといったサーバサイドスクリプト言語による開発にも対応しているというと、あなたは驚かれるだろうか。 当たり前の話ではあるが、プログラムの開発にはそれ用の開発ツールというものが不可欠だ。だが実際にどんなツールを利用しているのかといえば、コーディング作業にはテキストエディタを使っているという開発者が多いだろう。カラーシンタックス機能くらいは付いているかもしれないが、それだけでは不十分であることは明らかだ。どこに間違いがあるかは実行してみるまで分からないし、分からない関数や命令は紙のリファレンスマニュアルを引かなければならない。 Dreamweaver 8には、Webサイト構築の総合ソリューションとして、これらの機能がすべて搭載されている。それらの機能はHTMLコーディング機能の副産物ではなく、Webアプリケーションの開発者のために開発され実装されたものだ。 例えばデータベースの指定されたレコードからデータを引き出し、それを表示するくらいであれば、コードをテキストとして打ち込む必要はない。ダイアログからデータソースやレコード名を指定し、HTMLの中に動的なフィールドとしてバインディングするだけだ。SQLクエリは、Dreamweaver 8が生成してくれるので、極端な話、開発者にSQLの知識は必要ない。後はそのファイルをアップロードすれば、Webアプリケーションとして動作させることができるのだ。
Dreamweaver 8がデザインの現場で高い評価を受けている理由の1つに、Webサイトの管理機能が挙げられる。今は数千数万のファイルがあるWebサイトは珍しくないが、これをすべて人間の手で管理するのは非現実的だ。 Dreamweaver 8にはテンプレートやライブラリの機能がある。テンプレート機能は名前から想像できる通り、そのファイルのテンプレートをあらかじめ用意しておくというものだ。これはHTMLに限らず、Dreamweaver 8がサポートするすべての形式で有効だ。テンプレートには編集可能な領域を設定することができ、特に決められた部分だけを編集不可能な領域として、そのほかは自由に編集できる領域にしておく、というような使い方をする。プログラミングの際には、まずやっておかなければならない定型の処理、言い方を変えれば初期化のような「事前に実行しておく手続き」のような処理が多いこともあり、そういう部分を編集不可能領域に指定しておくわけだ。
テンプレートが効果を発揮するのは、デザインや機能にある程度の統一性を保ったまま、コンテンツの中身だけを入れ替えていくようなケースだ。テンプレートを元に作られたファイルは、そのファイルがテンプレートから切り離されない限りは、常にリンクした状態で管理される。テンプレートにある編集不可能な領域として指定された部分を編集すると、そのテンプレートを用いて作られたすべてのページの同じ部分を書き換えてやることができる。数千数万のファイルを対象に何かの機能を加えたり、あるいは削ったりする際にも、機械的な流れ作業はすべて任せておくことができるというわけだ。 ライブラリ機能は、このテンプレート機能のお手軽なもの、という捉え方ができる。これは「静的なSSI」とでも言うべきもので、あらかじめコードをライブラリ項目に登録しておき、それをファイルの中に自由に配置できる機能だ。要するに「よく使うコード」のようなものをあらかじめ用意しておくことで、ファイル中にそれをコピーし配置してやることができる。これらのコードはテンプレートのように大元のコードと常にリンクした状態が保たれており、ライブラリ項目を修正すれば、その項目を使用しているすべてのファイルに対して変更が反映されるのだ。
ライブラリもまたテンプレートと同じように、頻繁に利用され、かつ変更の際には一括して反映する必要があるコードを扱う際に重宝する。いわばコードの一部だけをテンプレート化する機能であり、その部分だけをそのファイルの内容とは切り離して別個に管理することができる機能というわけだ。
大規模アプリケーション開発においては今では当然のものとなっているのが、ソースコードの管理だ。多人数によるコードの開発においては、各人が同じファイルを同時に編集することにより起こる「衝突」を回避する手段がどうしても必要になる。ある開発者が修正した部分を、他の開発者が修正前のコードで上書きしてしまわないようにするためだ。 Dreamweaver 8にはこのソースコード管理の機能として、チェックイン・チェックアウトというものが用意されている。これはあるユーザーが「チェックアウト」を行ったファイルは、そのユーザーがファイルを「チェックイン」しない限り、他のユーザーはそのファイルを編集することができなくなるというものだ。つまり、編集中のファイルにはロックがかけられ、それが解除されるまでは編集不可能な状態に置かれるわけである。
これは上書き防止のための機能だが、Dreamweaver 8ではさらに「そのファイルをチェックアウトしたのは誰か」ということも分かるようになっている。またそのユーザーに対して、Dreamweaver 8からmailtoでメールソフトをキックする機能も付いていて、その場で「このファイルを編集したいのでチェックインしてくれないか」と連絡することも可能だ。
このファイル「チェックイン/アウト」機能を使えば、声を掛けあってファイルを編集するスタイルから卒業でき、共同作業を潤滑にして、Webアプリケーション開発の効率を上げていくことができるのは間違いないだろう。
Dreamweaver 8の「スニペット」の機能もWebエンジニアにはうれしい機能だ。これは一言で説明すると、あらかじめ登録されたコードをカーソル位置に挿入するというものだ。 コーディングを行う際には、同じコードを繰り返し使うシーンが多い。同じファイル内で何回も記述する場合もあるし、あるコードを複数のWebアプリケーションで使い回すこともある。よほど頻繁に使うコードは関数化しておけばいいのだが、そこまでするほどでもないというものがほとんどだ。 そこで利用するのがスニペットである。あらかじめ頻繁に利用するコードを登録しておくことにより、そのコードを履歴から呼び出して現在の位置に挿入することができる。スニペットの登録数に特に制限のようなものはなく、また登録済みのスニペットはフォルダ分けして整理しておくことが可能だ。 Dreamweaver 8では出荷時にあらかじめいくつものスニペットが登録されており、例えばJavaScriptであれば「マウスの位置を取得」など、クリックしていくだけで基本的な機能は実装できるようになっている。またスニペットは、カーソル位置に任意のコードを挿入するだけではなく、選択された語句の前後を指定されたタグやコードで囲むという技も可能だ。
ライブラリとの違いは、スニペットが「コードの部品」であるのに対し、ライブラリはテンプレート的な要素を備えているということだ。ライブラリではファイルにライブラリ項目への参照が挿入されるため、そのファイルとライブラリ項目とのリンクが保たれる。そうすることで一括して変更を行うことが可能になっているわけだ。 しかし逆にいえば、ライブラリ項目として扱っているコードはファイルごとに細かい変更を加えて利用していくこともできない。対してスニペットの場合、コードはその場でファイル中に展開される。ライブラリのように一括して変更を反映させることはできないものの、状況に応じて修正を加えつつ再利用していくことが可能だ。
プログラムの開発環境は、まず使いやすいものでなくてはいけない。だがこの使いやすさというのもなかなか難しいもので、結局はどれだけカスタマイズの自由度が高いか、どれだけ自分が使いやすいように設定していけるかというところに集約されてくる。自分が慣れるのではなく、道具の方を自分に合わせてやるということだ。 Dreamweaver 8の可能性を拡げているのが、「エクステンション」と呼ばれる機能だ。これはJavaScriptあるいはC言語で書かれたモジュールであり、同梱の「Extension Manager」を用いて組み込むことができる。エクステンションはDreamweaver 8にさまざまな機能を付加するもので、例えばコードの自動補完など開発環境をさらに快適にする機能を付け加えることが可能だ。 エクステンションはJavaScriptで書かれたものであれば、OSを問わずインストールすることができるようになっている。また「Dreamweaver Exchange」からは1000個を超えるダウンロード可能になっており、自分の好きなようにカスタマイズしていくことができる。
もちろん、Dreamweaver 8のAPIやJavaScriptを使って自分でエクステンションを開発し、Dreamweaver 8の機能を独自に拡張していくことも可能だ。パッケージには詳細なオンラインマニュアルが付属しており、プログラミングに慣れたユーザーならそれを見ながらエクステンションを自作することもできるだろう。 実際のところDreamweaver 8を使用している現場では、外には出てこないだけで独自にエクステンションを開発し社内利用しているケースが多い。現場の事情に合わせたオーダーメイドのカスタマイズというわけだ。 カスタマイズというからには、キーボードショートカットの変更も外すことはできないだろう。Dreamweaver 8に定義されたショートカットは数多いが、これらは全てカスタマイズ可能である。使わないショートカットは削ってしまって、空いたキーアサインを別の機能へ割り当ててもいい。自分が直感的に使える割り当てへと変更してやることで、目の前のコーディングに集中することができる。
Dreamweaver 8ではPHPやASP、JSPやJavaScriptなど、対応しているスクリプト言語についてのリファレンスを内蔵している。もちろん日本語であり、しかもIT技術書の出版で有名なオライリー社の提供によるものなので、その内容についても定評がある。
Webアプリケーションに限らず実際にコードを書く作業を行う際には、リファレンスマニュアルがどうしても必要になる。大抵の場合は紙に印刷され製本されたマニュアルか、どこかのWebサイトを見ながら関数や命令の意味を調べることになる。 だが紙のマニュアルは検索性が悪い。Web上のリファレンスは便利だが、サーバがメンテナンスなどで止まってしまってはどうにもならない。そうでなくとも、分からない関数や命令があるたびにブラウザを開くのは正直面倒なものだ。そういう時に、その場で参照できるリファレンスが役に立つだろう。 またJavaScriptについては、右クリックメニューからユーザーが定義した関数の一覧を見ることができる。これはコーディングを行う際には必須の機能であり、もちろんメニューから関数名を選択することでその関数へジャンプすることも可能だ。
コードが期待通りに動かないときには、バリデータという機能を用いて問題の箇所を発見することができる。チェックしてくれるのはHTMLやXMLといったマークアップ言語のみだが、往々にして見落としというのは「見ていない部分」にあるものなので、問題を絞り込んでいくのに役立つだろう。バリデートを行えば、マークアップの不正な入れ子構造なども検出することができ、思わぬ場所からエラーの原因を発見できることもあるかもしれない。 加えてこれは当然のことながら、対応済みの各スクリプト言語については、カラーシンタックスによる色分け表示も可能だ。単純な入力ミスというのは思う以上に多いものなので、こういった基本的な機能も抜かりはない。
以上のように、Dreamweaver 8は非常に高度なプログラムの開発支援機能を備えている。これは開発にかかる労力を軽減し、生産性をより高めていくための機能でもある。しかしWebサイトの構築がグループ作業である以上、他にも忘れてはならないことがある。それは言うまでもなく周囲との連携だ。 事務系のアプリケーションではWordとExcel、グラフィックの世界であればPhotoshopなど、それぞれの分野には「そのソフトがないと仕事をさせてもらえない」というデファクトスタンダードが存在する。単に便利であるということを超えて、データの互換性など、そのグループで共に作業を行うためのパスポート的なソフトウェアだ。 Webデザインの世界では、Dreamweaver 8がそれに相当する。確かにサーバにアップロードされるファイルは共通規格のものだ。しかしそれを組み上げる過程においては、他のメンバーとのシームレスな連携というものも必要になってくる。 実際のコーディングを行うエンジニアがDreamweaver 8を導入することで、ファイルのやりとりはずっと簡単なものになる。先にも書いた通り、チェックインやチェックアウトの機能を利用してファイルにロックをかけたり、インターネットを通じてそのWebサイトを構成するファイルをメンバーで共有することができるからだ。すべてのファイルを一括して扱えるようになることで、全体の見通しも非常に良いものになる。データを取りまとめて実際のWebサイトへ「パブリッシュ」する作業も、ずっと楽なものになるだろう。
新しくソフトを導入する際には、誰もが慎重にならざるをえない。そのソフトを購入するためのコストもそうだが、教育にかかるコストも決して安いものではないからだ。 例えばオープンソースのソフトを導入した場合はどうだろう。確かに、そういったソフトでは導入にかかる費用はゼロだ。しかしその後のことを考えると、結果的にはかえって高く付くケースもある。そのソフトについて何から何までを知り尽くしたエキスパートがいればいいが、現実にはそうもいかない。サポートの問題もあるし、何よりそういうソフトは大抵の場合、ドキュメントはすべて英語である。 マイナーなソフトにはリスクが付きまとう。まず一番の問題となるのは、やはり解説書だろう。オンラインのドキュメントが増えてきたといっても、紙のマニュアルは必要だ。マニュアルに限らず数冊の解説書くらいは揃えておきたい。 ところがマイナーなソフトの場合はまず解説書が手に入らない。もしあったとしても種類は少なく、知りたいことが書いていないということも多い。加えて、トレーニングセミナーなどもほとんど開催されていないということになる。いったいどこで何を調べてどう学べというのか、途方に暮れてしまうことになる。 メジャーなソフトというのは、その点で大きなアドバンテージがある。解説書はあちこちの出版社からさまざまなものが出版されているし、セミナーも頻繁に開催されている。講師を招いてトレーニングを行うこともできる。特に解説書は、読者のスキルに応じて、ビギナー向けのものからエキスパート向けのものまで、幅広く出版されているわけだ。「Dreamweaver 8とは何か」というところから述べたものや、それを実際の業務に利用する上でのノウハウ、リファレンスまで、大抵のものは書店の棚に並んでいる。メジャーであればこその教育ベースの大きさと幅の広さ――これは業務用アプリケーションという視点に立つ場合、見逃せないメリットとなるだろう。 次回は、Web開発者の皆さんにとって、知っておくと便利なDreamweaverのMovableType連携、XSLT対応、目玉である拡張機能などについて、さらに一歩踏み込んでお伝えする。
提供:アドビシステムズ株式会社
企画:アイティメディア 営業局 制作:@IT 編集部 掲載内容有効期限:2006年11月25日 |
|