![]() |
安藤幸央のランダウン[35]
人気のAPI/フレームワークを作るための39カ条
安藤幸央(yukio-ando@exa-corp.co.jp)
エクサ
2007/7/20
|
「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集部) |
■ いま人気のAPI/フレームワークはなぜ誕生したのか?
Javaを取り巻く開発環境は、さまざまなフレームワーク、API(Web APIを含む、Application Programming Interface)に囲まれています。
Javaに限らず、普段さまざまな言語で開発を行っていて、「こんなAPI群があれば便利なのに」「こんなAPIを作ってみたい」という要求がわき起こることはないでしょうか?
API(以下、フレームワーク・Web APIも含む)の利用範囲は、社内で使うものから、オープンソースで公開するものまでさまざまな形態が考えられます。APIの誕生の発端はいろいろありますが、以下のようなものが考えられます。
APIの誕生の発端 |
|
ちなみに、JSP/Servletの世界でよく使われているStruts Frameworkは開発者のCraig McClanahan氏が休暇中に思い付いて開発したものだそうです。オレゴン州のビーチで、ラップトップに向かい、3日間の休暇中ずっとコーディングしていたそうです。
一緒に行った奥さんは機嫌が悪かったようですけど。
ここでは、作成したAPIが自分だけではなく、多くの人に使ってもらえるよう、便利に使えるポイント、広く普及するためのポイントをとらえていきましょう。
■ API設計のポイント
開発したAPIを数多くの人に活用してもらおうと思った場合、APIの機能や性能以上に大切な事柄がいくつかあります。
自分がよく利用しているフレームワークやAPI群には、共通したある要素があることが再認識できるでしょう。
人気のAPIにするための26カ条 |
|
■ APIドキュメントの充実度も重要
新しい、初めてのAPIを利用するかしないかといった判断をする場合、ドキュメントの充実度も重要な要素になってきます。
世の中には、Ajax用のPrototype.jsのように、ソースコード中に解説が書かれ、公式ドキュメントがまったくない変わった例もありますが、大抵の場合、ドキュメントの充実度は、APIそれ自身の完成度にも大きくかかわってきます。
APIのドキュメントを充実させるための7カ条 |
|
■ APIを取り巻くそのほかの要素
多くの人にAPIを利用してもらいたい場合、APIそのものの出来や性能のほかにも、数多くの要素が重要視されます。流行のAPIとなるためには、APIそのものの出来だけでは普及しないのです。
人気のAPIにする付加要素の6カ条 |
|
■ API普及への道のり
世の中には数多くのAPIがあり、オープンソースのものから、企業が製品として販売しているものまでさまざまなものが存在します。
APIを組み合わせて開発する場合、そのAPIの枠組み以上には自由度がなくなる弊害に陥りがちです。新たな発想が閉じ込められてしまわぬよう、自由な発想の下にアイデアを実現するのが理想です。
便利なAPIを見つけ、便利なAPIを開発し、便利に活用していきましょう。
■ そして、40カ条目は……
もし、40カ条の方がキリがよいと思われる方がいれば、ぜひご自分のノウハウを1つ加えるようにしてみてください。
次回は、9月初めころに公開の予定です。内容は未定ですが、読者の皆さんの興味を引き、役立つ記事にする予定です。次回もどうぞよろしく。
■ @IT関連記事
| 開発の標準化とフレームワークの普及 21世紀はじめのWeb技術史(2) 今回は、ソフトウェア品質を高めるために進化を遂げてきたアプリケーション開発環境の最近の道筋を概観する。キーワードはフレームワーク |
||
| Webアプリケーションフレームワークの定番 Javaオープンソースセンター(3) Webアプリケーション構築における開発効率と柔軟性を高めるためのフレームワーク、Spring、Velocity、WebWorkなどを紹介する 「Java
Solution」フォーラム 2005/8/18 |
| Webアプリに使えるAjaxライブラリ8選! Ajax解体新書(3) Webアプリ開発に必要なツールとなってきたAjaxライブラリ。150もあるというライブラリ群から、代表的な8つを比較して、Ajaxライブラリの全体像を把握しよう 「リッチクライアント & 帳票」フ ォーラム 2006/11/22 |
||
| GWTとYahoo!のAPIを使って画像検索アプリ! Googleからのサプライズ、Google Web Toolkit(2) グーグルのJavaをJSに変換するGoogle Web Toolkit。Yahoo!WebサービスAPIを使って、画像検索アプリを作ろう 「リッチクライアント & 帳票」フォーラム 2006/7/12 |
||
| プログラマならWeb APIという巨人の力を使っちゃえ! 連載:5分でネットがわかるシリーズ(10) アイデアとテクニックがあれば個人でも強力なWebサービスを生み出せる。Web APIの魅力とその仕組みを5分で説明します 「Master of IP Network」フォーラム 2007/3/13
|
||
| プロフィール |
安藤幸央(あんどう ゆきお) 1970年北海道生まれ。現在、株式会社エクサ
マルチメディアソリューションセンター所属。フォトリアリスティック3次元コンピュータグラフィックス、リアルタイムグラフィックスやネットワークを利用した各種開発業務に携わる。コンピュータ自動彩色システムや3次元イメージ検索システム大規模データ可視化システム、リアルタイムCG投影システム、建築業界、エンターテインメント向け3次元
CG ソフトの開発、インターネットベースのコンピュータグラフィックスシステムなどを手掛ける。また、Java、Web3D、OpenGL、3DCG
の情報源となるWebページをまとめている。ホームページ Java News.jp(Javaに関する最新ニュース) 所属団体 OpenGL_Japan (Member)、SIGGRAPH TOKYO (Vice Chairman) 主な著書 「VRML 60分ガイド」(監訳、ソフトバンク) 「これがJava だ! インターネットの新たな主役」(共著、日本経済新聞社) 「The Java3D API仕様」(監修、アスキー) |
安藤幸央のランダウン バックナンバー
- 第1回 Javaを速くするための心構え
- 第2回 サーバサイドで進化するグラフィックス
- 第3回 ユーザビリティ(使いやすさ)の大切さ
- 第4回 Javaプログラマのお役立ちサイト
- 第5回 伝説のイベントJava Night
- 第6回 次世代のインターネット言語curl登場!
- 第7回 次世代を予感させるグリッドコンピューティング
- 第8回 音声はコンピューティングを変える?
- 第9回 GoogleをWebサービスから利用するAPIの登場
- 第10回 これは使える!Java風スクリプト
- 第11回 PtoPはいよいよビジネスのステージに
- 第12回 ハリウッド映画並のCGがPCに到来する日
- 第13回 知的ゲーム「Robocode」でJavaのチャンピオンに
- 第14回 海の上のJava Night
- 第15回 Java版テラリウム? ただいま開催中
- 第16回 進化したアプレット、Viewletとは?
- 第17回 Eclipse:新しい開発環境モデルの誕生
- 第18回 Webサービス、どこまで実用になっている?
- 第19回 SWTは本当に高速なGUIを実現するのか?
- 第20回 JavaOne 2003の注目トピックを振り返る
- 第21回 SIGGRAPH 2003に見るJavaの進化
- 第22回 AmazonWebサービスの可能性
- 第23回 オープンソースの検索エンジン登場
- 第24回 技術者の祭典JTC BOFとJava Night
- 第25回 リッチクライアント時代の到来
- 第26回 Eclipse 3.0のリッチクライアントとは?
- 第27回 データ中心型、簡単リッチクライアントJDNC
- 第28回 浸透する新世代のシンクライアント
- 第29回 WebプログラマはRailsに乗るべきか?
- 第30回 Ruby On Railsのチームに学ぶ仕事術
- 第31回 JavaプログラマはAjaxに乗るべきか
- 第32回 Java SE 6へ移行する理由と移行をとどまる5つの理由
- 第33回 見つけて得するソースコード専用の検索エンジン
- 第34回 Podcastでプログラマーに必要な英語をStudyしよう!
- 第35回 人気のAPI/フレームワークを作るための39カ条
- 第36回 あなたのサイトはiPhoneで見られますか?
- 第37回 バッチ処理はJavaでバッチリ?その現状とこれから
- 第38回 Cometに代表されるサーバ・プッシュ技術の復権
- 第39回 ソースコードの宝石箱、●●Forgeを見逃すなかれ
- 第40回 Webアプリ開発環境としてのSafariを知ってますか?
- 第41回 夏休みに世界へ挑戦! プログラミングコンテスト
- 第42回 開発者が知っておくべきJavaと仮想マシンの歴史
- 第43回 あなたの知らないJDKの便利ツールたち
- 第44回 時を欠ける症状−うるう秒から考えるサステナビリティ
- 第45回 IT業界で楽しく仕事をするための10カ条
- 第46回 そのWebサービスで“対価”をもらえますか?
- 第47回 IT系でも活用しなければ損。論文を読んで広がる知見
- 第48回 Webからの知見、見つけた論文の読み解き方
- 第49回 Java技術者も知っておきたい「AR(拡張現実)」
- 第50回 クラウド活用「雲活」のために押さえるべき39のポイント
- 第51回 意外と知らないバージョン表記・数字の豆知識
- 第52回 グーグルは、○○おもいっきり、テレビ
- 第53回 いま購読するべき15の開発者ブログ
- 第54回 技術者なら知っておきたい「ソーシャルゲーム」とは
- 第55回 開発者は覚えておきたいアプリストア/マーケット大全
- 第56回 売れるスマホアプリを目指せ! テスト達人への道
- 第57回 プレゼン巨人の星となるためのツールと手法のまとめ
- 第58回 ぼくらの七ボタン戦争 - Social Buttons War
- 第59回 師走を楽しもう。技術系アドベントカレンダーの魅力とは
- 第60回 GitHubをもっとソーシャルに使いこなすための7つ道具
| ご意見、ご感想は掲示板へどうぞ |
| JavaコラムINDEX |
TechTargetジャパン
- 並列分散処理の常識をHadoopファミリから学ぶ (2012/2/8)
並列分散処理の課題やHadoopの長所/短所、そして短所を補うHadoop関連プロジェクトの構成や概要などを簡単に紹介 - WebLogicサーバ最新版「12c」の気になる4つの特徴 (2012/1/31)
久々にメジャーアップグレードしたJavaアプリケーションサーバについて、製品担当者に軽量インストーラなどの特徴を聞いた - GitHubをもっとソーシャルに使いこなすための7つ道具 (2012/1/23)
ソースコードホスティングのGitHub周辺で便利な新サービスが続々登場しているので、まとめて紹介しよう。特に連動クラウド「fluxflex」が注目だ - 新キャラ登場!スクラムやるならRedmineとALMinium (2011/12/26)
「黒板を“かんばん”にしてたら先生に怒られた(T_T)」「管理はPC内でやればいいのよ」「承知しました」
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


1970年北海道生まれ。現在、株式会社エクサ
マルチメディアソリューションセンター所属。フォトリアリスティック3次元コンピュータグラフィックス、リアルタイムグラフィックスやネットワークを利用した各種開発業務に携わる。コンピュータ自動彩色システムや3次元イメージ検索システム大規模データ可視化システム、リアルタイムCG投影システム、建築業界、エンターテインメント向け3次元
CG ソフトの開発、インターネットベースのコンピュータグラフィックスシステムなどを手掛ける。また、Java、Web3D、OpenGL、3DCG
の情報源となるWebページをまとめている。