2 May 2011
ページ ツール |
初級
去る2010年3月にアドビ システムズ社は、ColdFusion Builderの最初のバージョンをリリースしました。この製品は、開発コミュニティが長らく待ち望んでいたColdFusion固有の統合開発環境(IDE)です。この最新バージョンであるColdFusion Builder 2を導入すると、開発者は、さらに多くの機能、関数およびツールをすぐに活用できるようになります。
多くのColdFusion開発者は、長年、開発ツールとしてDreamweaverを好んで使ってきました。これは、DreamweaverにColdFusion言語ライブラリとの統合機能とコーディング支援機能が実装されていたためです。
この記事では、開発者としての生産性向上に役立つ、ColdFusion Builder内で使用可能な一部の機能やツールについて説明します。これらの便利な機能やツールとして、以下のようなものがあります。
また、この記事では、DreamweaverからColdFusion Builderへの移行が、驚くほど単純かつ簡単でやりがいのあるものであるかを実証します。
ColdFusion Builder IDEは、Eclipse開発プラットフォームに基づいています。このプラットフォームは、高度に拡張可能な開発アプリケーションであり、作業環境と開発ワークフローの強化に役立つ、ダウンロード可能な広範なプラグインを備えています。
ColdFusion Builderは、以下の2種類の方法でインストールできます。
選択するインストールオプションは、現在、Eclipseを開発プラットフォームとして使用しているかどうかによって異なります。
ColdFusion Builderをスタンドアロン製品としてインストールすると、Eclipseの完全なインストールも一緒に取得できます。このオプションは、Eclipseがまだコンピューターにインストールされていない場合に最適です。Eclipseが既にコンピューター上で実行されている場合は、ColdFusion BuilderをプラグインとしてIDEにインストールできます。これにより、スタンドアロンインストールで提供される完全なサポートとツールが有効になり、ColdFusionの開発作業用として新しいパースペクティブが単純にワークベンチに追加されます。
ColdFusion BuilderはFlash Builder 4とセットで提供され、さらにEclipseプラットフォームに基づいているので、インストールを統合してリッチインターネットアプリケーションプロジェクト用の広範な開発環境に組み入れることができます。
ColdFusion BuilderがEclipseベースのプラットフォーム上で記述されていることの利点の1つは拡張性であり、カスタムのパースペクティブとレイアウトの作成が可能になっています。
パースペクティブは、Dreamweaverで使用できるワークスペースに似たもので、特定のスクリーン設定を保持するために使用されます。この設定には、開発者のニーズに最も適したエディターと、その内部にある特定の位置またはフォーマットが指定されたパネル、ツールバーおよびウィンドウが含まれています。
Dreamweaverを使用している場合、「開発者1」、「コーダー」、「コーダー2」などの定義済みのワークスペースを1つ選択するか、または独自のワークスペースを作成してカスタマイズすることができます。ColdFusion Builderにおいても、これと同じレベルの制御が可能です。独自のパースペクティブを作成して構築することによって、ワークフローの最適化と作業効率の向上に必要な、便利なツールを手に入れることができます。
ColdFusion Builderには、デフォルトで以下の2種類のパースペクティブが用意されています。
ColdFusion Builder内では、カスタムレイアウトを驚くほど簡単に定義できます。アプリケーション内にあるすべてのビューおよびウィンドウは、タブ化されています。これらをワークベンチ上で移動するには、単純にタブをクリックして配置先の領域にドラッグします。グループ化されたタブを任意の順序になるようにドラッグして各タブの順序を入れ替えることもできます。パースペクティブの構成はデフォルトの状態に戻ることなく維持されるので、パースペクティブを使用するたびに、すべてのビューおよびウィンドウが以前に配置した位置に表示されます。
IDEで最も便利な視覚的支援機能の1つは、エディター内のコードを対象としたカラーフォーマット機能です。
ColdFusion Builder内では、各自のニーズおよび要件に合わせてコードフォーマット用の色を簡単にカスタマイズできます。この設定は、Preferences(設定)/ColdFusion/Editor Profiles(エディタープロファイル)/Editor(エディター)/Colors(色)で行うことができます。ColdFusion BuilderにはデフォルトのDreamweaverプロファイルも用意されており、これにいくつかの標準色が含まれています。このプロファイルを有効にするには、Preferences(設定)/ColdFusion/Editor Profiles(エディタープロファイル)に移動して、Active Profile(アクティブなプロファイル)選択リストから「Dreamweaver」を選択します。
ColdFusion Builderでは、開いたファイルの関連付けに基づいて自動的にパースペクティブが開かれます。つまり、パースペクティブによって、関連のあるパネルとツールバーが変更されて表示され、現在のタスクにすぐに取りかかれるようになります。
通常は、すべての開発作業をDevelopment(開発)パースペクティブ内で行います。デバッグを実行すると、アプリケーションが自動的にDebugging(デバッグ)パースペクティブに切り替わります。
ColdFusion Builderには、ColdFusionサーバーインスタンスとのやり取りのための組み込み機能が備わっており、リモートサーバー上のサーバーインスタンスおよびローカル開発環境内のサーバーインスタンスとやり取りすることが可能です。
Dreamweaverで新しいサイトを設定してそのサイトをローカル環境またはリモート環境に割り当てる場合と同じようなプロセスにより、ColdFusionプロジェクトを設定して特定のColdFusionサーバーに割り当てることができます。
ただし、Dreamweaverとは異なり、サーバーインスタンスをプロジェクトに割り当てることによって、外部ブラウザーでプレビューせずにColdFusion Builder内で直接プレビューページを簡単に表示したり、デバッグ機能を利用したり、すばやく簡単にデータソースおよびサーバー管理機能にアクセスしたりできます。これらの操作はすべてIDE内から行うことができます。
新しいColdFusionサーバー接続の作成は非常に簡単であり、この接続はIDEの下部にある「Servers(サーバー)」タブで管理します。このタブが現在のレイアウトに表示されていない場合は、Window(ウィンドウ)/Show View(ビューの表示)/Servers(サーバー)をクリックします。以下の手順に従うと、コンピューター上にあるローカル開発サーバーへの接続を設定できます。
ColdFusion Builderでは、ローカルのColdFusion開発サーバーにアクセスできるようになりました。これにより、Dreamweaverでは不可能であった水準にまで管理を行き届かせながらワークフローを改善することができます。
製品の高度な統合による利点を如実に表す例として、ColdFusion Administratorおよびサーバーの監視ツールをIDE内から直接開くための機能が挙げられます。わざわざブラウザーを開いて表示するためにクリック操作を繰り返して時間を浪費する必要はありません。ColdFusion Builderでは、マウスのボタンを2回クリックするだけでAdministratorまたはサーバーモニターをすぐに開くことができるようになりました。
上の図2に示されているように、サーバーパネルの一覧にある任意のサーバーを右クリックすると、コンテキストメニューが表示されます。JRunサーバーインスタンスを使用している場合は、ここから簡単にサーバーを起動/停止および再起動することもできます。「Launch ColdFusion Administrator(ColdFusion Administratorを起動)」オプションを選択すると、IDEに新しいペインが展開され、その中にAdministrator画面が表示されます。外部ブラウザーを使用する必要はなく、すべての操作をIDE内から行うことができるので、例えば、設定の変更、デバッグの有効化、データソース参照のチェックなどを行う場合に作業時間を短縮できます。
各種のIDEやコーディングユーティリティには、一般的に標準で必要とされる多くの共通機能と共通関数が同様に備わっています。これにより、そのアプリケーションが役立つものとなり、開発者が各自のアプリケーションを効率的に開発したり開発ライフサイクルを改善したりできるようになります。
ColdFusion Builderでも、本格的なIDEにあるこれらの多くの共通機能が備わっており、具体的には以下の機能を利用できます。
その一方で、ColdFusion Builderには、現時点でColdFusion Builderにしか存在しない多くの追加機能が標準で備わっています。そして、これらの追加機能を利用できることこそが、本格的な筋金入りのCFML開発者にとってColdFusion Builderが最適のIDEであるゆえんです。
全部ではないにしてもほとんどのIDEには、コードアシスト機能が備わっています。この機能により、開発者は、タグや関数を記述しているときに、属性、引数、パラメーターや機能とその目的に関するヒントを参照できるようになります。
この機能は、開発に役立つ非常に便利なツールです。しかし、ほとんどのIDEでは、コードやシンタックスとの統合が図られるのはここまでです。つまり、タグや関数の定義済みのライブラリからヒントを読み込んだら終了です。ColdFusion Builderは、ここからさらに一歩進んでおり、コードインサイトという便利な機能が備わった唯一のCFMLエディターに仕上がっています。
コードインサイトは、IDEに追加された非常に優れた機能であり、間違いなく生産性向上に役立ち開発者に恩恵をもたらすものです。コードインサイトは、コード内でColdFusionコンポーネント(CFC)のインスタンスを作成するときに直ちに表示されます。エディターで新しいオブジェクトの名前、例えば「objFacade.」を入力すると、下の図4のようにダイアログボックスが表示され、コンポーネント内にあるすべての非プライベートメソッドがそのメソッドの引数と共に一覧表示されます。
さらにコードインサイトは、特定のスコープから変数を読み込むようにその機能自体を拡張します。例えば「session.」または「application.」と入力すると、再度コードインサイトによって、これらのスコープ内で使用できるすべての変数を含んだダイアログが表示されます。この一見ささやかであるが間違いなく強力な機能によって、多くの有益な情報が即座に手に入るようになり、生産性の向上や開発者によるデータ取得作業の効率化を確実に実現できます。
コードインサイトがどのように機能するかをコードインサイトのビデオ(3分、MOV)でご覧ください。
ColdFusion Builderでは、RDSサービスを通じたSQLクエリーとデータベース操作のサポートが本格的に開始されています。コンテキストメニューオプションからすぐに利用できるSQLエディターは、テーブル名、テーブル内の列およびSQLシンタックスを提示する機能を備えた非常に強力なツールです。
SQL Editor(SQLエディター)ウィンドウを表示するには、開いているEditor(エディター)/Code(コード)ウィンドウ内を単純に右クリックして、コンテキストメニューから「SQL Editor(SQLエディター)」を選択します。
同じダイアログウィンドウ内で、クエリーを実行してデータが返されるかどうかをテストできます。必要なステートメントの記述が終了したら、エディター内の開いているページに完成したSQLが挿入されます。
ColdFusion Builder内でのサーバー接続の設定時にRDSアクセスを指定した場合は、<cfquery>タグブロック間でSQLステートメントを入力しているときにもSQLコードインサイトが起動します。
リファクタリングは、基になるコードや関数を損ねたり壊したりせずにプロジェクト全体またはアプリケーション全体にわたってファイル、関数およびメソッドの名前を正しく変更する機能ですが、コード管理において単なる一機能にとどまらない非常に重要な部分です。
もちろん、ColdFusion Builderにもこのリファクタリング機能が標準で組み込まれています。これにより、プロジェクト全体またはアプリケーション全体にわたって変数、メソッドおよびファイルの名前をすばやく簡単に変更できます。
また、この機能では、上の図6に表示されているように、変更されるすべての箇所および影響を受けるファイルを、わかりやすい色付きのリストで確認できます。これにより、検索/置換によってコードを壊すことを心配せずに、全体にわたってメソッド名を安全に変更できます。
ColdFusion開発者の皆様は、これまで幾度となくアプリケーションをテストしてきたことでしょう。テスト経験がないと言う開発者は、天才か嘘つきに違いありません。デバッグは開発ライフサイクルの重要な部分であり、すべての開発者にとって避けて通れないものなのです。ColdFusion Builderでは、組み込みのデバッグパースペクティブを利用することで、いっそう簡単にCFMLアプリケーションをデバッグできます。
CFMLデバッガーを使用すると、1行ずつコードを実行しながら変数や式を確認して評価することができます。コード、インクルードされたファイル、テンプレートおよびコンポーネントとそれに含まれているメソッドに簡単にステップインできるので、コードを実行しながらコードによる処理内容を細かく制御して理解することができます。定期的にコード全体にわたってブレークポイントを設定することによって、問題があるコードの領域を突き止めることもできます。
この機能はColdFusion Builderに標準で備わっているもので、この機能からも、IDEがCFML開発者向けに微調整されており生産性の向上とプログラマーとしてのパフォーマンスの最適化に最終的に役立つことを実感できます。
開発インターフェイスとして、特定の理由でリモートサーバーとのやり取りが必要になったときなどに備えてFTP機能を利用できることは重要です。
ColdFusionでは、標準FTPアクセスだけでなくSFTP(Secure File Transfer Protocol)およびFTPS(File Transfer Protocol Secure)もサポートされています。これらはどちらも標準FTPサービスのセキュリティを強化したもので、サーバーとの間で送受信されるファイルはすべて暗号化されます。
市販されているほとんどのIDEには、開発者が日々の開発作業を行う上で役立つ、一定の機能およびツール/ツールバーが備わっています。では、IDE内で使用できる機能を拡張したい場合にはどうすればよいでしょうか。例えば、記述したコードを自動的にチェックしたり数回のクリックでコードを自動的に生成したりするカスタム関数を作成できると便利です。DreamweaverにはAPIが備わっていたので、開発者やユーザーはJavaScriptを使ってその機能を拡張することができました。これ自体はすばらしいソリューションでしたが、JavaScript言語に精通していないユーザーにとっては必ずしも使い勝手が良いものではありませんでした。
ColdFusion Builderの最もおもしろい新機能の1つは、CFMLを使ってIDEを拡張する機能です。というのも、このアプリケーションは主にCFML開発者を対象としているので、そのネイティブ言語でカスタム拡張機能や強化機能を作成できることで、各自の能力が引き出されると共に、数多くの拡張機能やプラグインをアプリケーションにインストールする機会が広がるからです。
事実、この記事を書いている時点において、riaforge.orgだけでも合計39種類のColdFusion Builder拡張機能が提供されています。これらはすべて無料で利用可能なオープンソースの拡張機能であり、コミュニティを利用する様々な開発者が作成して配布したものです。
ダウンロード可能な優れた拡張機能として、以下のようなものがあります。
この記事で前述したように、ColdFusion BuilderはオープンソースのEclipse IDEに基づいていますが、Eclipse IDE自体には開発者の生産性向上に役立つ多くの機能が備わっています。
Eclipseベースのプラットフォームでは、ローカルヒストリー表示およびファイル比較を行う非常に便利なツールを利用できます。例えば、特定のファイルで作業を行っている場合に、ファイルの元のバージョンを再度確認してコードの互換性を調べたり、誤って削除したものがないかを確認したりする必要に迫られることがあります。
IDEでProject(プロジェクト)ビューまたはFile(ファイル)ビューを表示して単純にファイルを右クリックし、Compare With(比較)/Local History(ローカルヒストリー)を選択します。次に比較対象として、自動的に保存されたバージョンを選択すると、その結果が下の図7のように表示されます。
これまでDreamweaverを使ってColdFusionプロジェクトを開発してきた方向けに、ColdFusion Builderへの移行のためのツールが用意されています。既存のプロジェクトをColdFusion Builderにインポートする作業は非常に簡単であり、新しい開発環境内でプロジェクトコンテンツを使用して、卓越したアプリケーションの開発をすぐに続行できます。
これでColdFusionプロジェクトがColdFusion Builderにインポートされ、新しいIDE内で開発作業を続行する準備がすべて整いました。
この記事で紹介したもの以外にも、ColdFusion Builderには多くの機能が備わっています。今回、もしすべての機能を逐一説明しようとしていたなら、ドキュメントが75ページにも及んでいたことでしょう。説明を割愛したどの機能にも、それぞれ注目に値する利点や長所があるからです。
肝心なことは、「私も以前はDreamweaverユーザーだった」という点です。このアプリケーションの機能はすばらしく、私も長年このアプリケーションを愛用してきました。CFML以外のプロジェクトで作業するときには、今でも時折使用しています。それでも、私は「以前は」という表現を使いました。なぜなら、ColdFusionのベータリリース時にColdFusion Builderに乗り換えて以降、最初のパブリックリリース時に至るまで、このIDEがColdFusion開発者向けのいっそう優れたツールへと進化したことを見届けてきたからです。それ以降、前だけを向いてこのツールを使っています。このツールには私が日々必要としている機能がすべて備わっており、まだ試していない機能もたくさんあります。
もし作業の中心がDOMの操作とサイトやアプリケーションの開発であり、その際、ビジュアル編集やグラフィック要素に重点を置いたIDEが必要となるのであれば、引き続きDreamweaverが最適のツールです。一方、ColdFusion開発者として日常的にCFMLコードとデータベース操作に取り組んでおり、WYSIWYGによる編集の必要がほとんどあるいはまったくない場合は、ColdFusion Builderがまさに最適のツールです。
ColdFusion Builderでは非常に多くの機能を使用でき、CFMLコードの他にもSQL、RDSを介したデータベースの操作、IDE自体の拡張およびサーバーの制御が幅広くサポートされているので、CFML開発者はこのツールを使って開発時間を最大限に活用しながら生産性とパフォーマンスを向上させることができます。次のステップは、ColdFusion Builder(体験版)を実際に試してみることです。製品がどれくらい便利なのかを知るには、製品を自分で使ってみるのが一番です。