BT

Napaの紹介

| 作者: Jonathan Allen フォローする 612 人のフォロワー , 翻訳者 徳武 聡 フォローする 1 人のフォロワー 投稿日 2012年8月8日. 推定読書時間: 2 分 |

原文(投稿日:2012/08/07)へのリンク

 

Officeのマクロ言語VBAは、10年以上もたいしたアップデートがされていない将来の展望が不明瞭な技術だ。Visual Studio Tools for Officeもあるが、プロでない開発者は利用できないし、COMと.NETの相性がよくないので使い難い。また、SharePointもプロでない開発者には利用し難い。ホストされたOfficeやSharePointでマクロを使えば、最終的にかなり汚くなってしまう。

このような状況を受けてProject Napaが登場した。Somasegarの紹介によれば

“Napa”は軽量のブラウザべースの開発ツールで、OfficeとSharePointの開発をアプリケーションをインスールせずになく始めることができます。http://dev.office.com/で利用でき、OfficeとSharePoint向けアプリケーション、つまり、Office 2013アプリケーション(例えばExcel)上で動作するアプリケーションや、Office Web App (例えばExcel Web App)、またはSharePoint上で動作するアプリケーションの構築を支援します。これらのアプリケーションは新しいCloud App Modelをベースにしており、UIやその他のクライアント側のロジックはウェブ標準の技術(HTML、JavaScript、CSS)で書くことができ、サーバサイドのロジックは開発者が自由に開発環境、開発言語、ホスティング環境を選択することができます。

JavaScriptをそのまま使うのは問題になるかもしれない。JavaScriptは理想的な環境下でも経験のない開発者にとってはVisual Basicより馴染みやすい言語ではない。一貫性のない構文や大文字と小文字の区別、キーワードの代わりに文字列を使う点などは経験のない開発者を混乱させるだろう。これらは克服できないかもしれないが、どのようにJavaScriptを使えばいいのかは明確になるだろう。

ボタンを作成するにはクリックイベントを受け取る関数が必要だ。これはどんな言語で同じで、違いはボタンとイベント処理関数の結びつけ方だ。VB(COMまたは.NET)の場合は、関数はボタンに宣言的に設定する。C#はイベントハンドラ構文を使い、一行のコードで設定する。

Somasegarの例では、Office.initializeに匿名の関数を設定している。この匿名の関数が(document).readyを呼び、第2の匿名関数が呼ばれる。その関数の中にボタンクリックのイベントを処理する3番目の匿名関数があり、jQueryが使われている。このような関数の入れ子は熟練のウェブプログラマには問題ないかもしれないが、Excelで単純なマクロを作ろうとしている人には適していない。

幸いなことにこのようなコードを書く必要はない。この紹介では、従来通りにJavaScriptが使われている。HTMLやOfficeの非同期モデルを理解していれば、シンプルなアプリケーションであれば経験のない開発者でも構築することができるだろう。

Napaを使うにはOffice 365開発者サイトにサインアップする必要がある。

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT