本記事の目次 (→シリーズの特集ページ)
1か月で数万ダウンロードのエンタープライズ向けnpmパッケージを開発
――未踏事業で採択されたのはどんなプロジェクトだったんですか?
冨田:「今後、エンドユーザーが業務アプリケーションを自ら作る時代が来るだろう」という、僕が当時抱いていたイメージを実現するためのソフトウェア開発です。未踏事業の採択前、僕は日本オラクルでアプリケーションサーバーを販売していたのですが、セットアップや運用中の保守作業などとにかく面倒が多い。エンドユーザーがアプリケーションを作るには、もっと簡単ですぐ使える環境が必要だと感じていました。
考えて出た結論は「WebブラウザでJavaScript」という環境。けれども、エンドユーザーがJavaScriptを使ってアプリケーションを書くのはやはり敷居が高い。そこで、「データなどをこういうふうに取得したら、こう動く」という動作をブロックの組み合わせや宣言的な指示で実行できるJavaScript製のエンジンの開発を始めました。それが、未踏事業のPM(プロジェクトマネージャ)をされていたサイボウズ・ラボの畑慎也さんの目にとまり2007年度の未踏事業に採択されました。
――Ajaxが盛り上がっていたころですね。
冨田:ええ。実は、未踏事業でプロジェクトをやっていた時期は日本オラクルを出て、セールスフォース・ドットコム(以下、セールスフォース)に在籍していたのですが、転職した理由の1つは、セールスフォースがAjaxの仕組みを利用した開発ツール「AJAX Toolkit」をリリースしていたからです。そのころ、エンタープライズアプリケーションをJavaScriptのツールキットでカスタマイズできる製品は、他にありませんでした。SalesforceはSOAP APIでアクセスできるようになっていて、JavaScriptでUI(ユーザーインターフェイス)を作れば何でもできてしまう。開発ツールの一部なのですごいと思っている人は少なかったのですが、僕の目には魅力的に映りましたね。
また、Salesforceのことを「SaaSでCRM(顧客関係管理)を行う箱」だと思っていたんですが、実際には「用途はほぼ無限なデータベース」で、しかも、クラウド上にあるからセットアップも不要です。今ではセールスフォースが当然のように言っていることですが、当時はかなり革新的だと感じました。これもセールスフォースに移った理由の1つです。
ただ、セールスフォースは「Visualforce」というもっとリッチな開発ツールに軸足を移していて、AJAX Toolkitは広げていかないようです。それでというわけではありませんが、「JSforce」という、AJAX Toolkitの後継に当たるライブラリをOSS(オープンソースソフトウェア)として開発しています。JavaScriptでSalesforceのAPIを呼び出せる点はAJAX Toolkitと同じですが、Webブラウザ以外でも使える点が異なります。最近はNode.jsなど、JavaScriptをサーバーサイドで動かすシーンが多くなってきたので、Webブラウザとサーバーサイドのどちらでも動くものにしました。
――JSforceの配布はどこで?
冨田:GitHubでやってます。GitHubのページを使って宣伝サイトも作成しました。プルリクエストも結構届きますし、何個もたまっていますが時々イシューにコメントを返しています。GitHubがなければJSforceの公開はできなかったでしょうね。
JSforceは、まあまあ使ってもらえているという認識でいます。「npm」というNode.jsのパッケージ(npm)を配布するサイトの中の人が、セールスフォース・ドットコムの開発者ブログへ2014年に投稿した記事には、JSforceが1か月で3000以上ダウンロードされたとありましたが、現在は1か月に2〜3万ダウンロードに達しています。
――利用者数は海外のほうが多いですか?
冨田:はい。日本国内での採用もありますが、まだ比較的少数です。そもそも、JavaScriptを使ってSalesforceアプリケーションを開発している人、特に製品レベルでやってる人は少ないのではないでしょうか。海外では、JSforceを製品に組み込んで使っているといった話をよく聞きます。一番メジャーなところでは「MavensMate」というプロダクトがあります。Sublime TextやAtomといったテキストエディタのプラグインで、SalesforceのForce.com[1]に接続可能にし、エディタをForce.com向けIDE(統合開発環境)にするんです。Salesforce開発者の間ではMavensMateを使うのが、最近デファクトスタンダードになってきています。
注
[1]: セールスフォースが提供するWebアプリケーションプラットフォーム。開発者がサーバーやミドルウェアなどの環境構築を行う必要がなく、ブラウザ上で画面やデータベース、ワークフローなどを定義(あるいはそのソースコードをアップロード)すればアプリケーションが動作するため、インフラの構築・運用の手間がかからない。
Force.comは「無料」で試せます!
簡単なご登録ですぐにさわってみることができます。ご興味のある方はForce.comの下記ページから。