増井君と二人でPhotoShareというサービスを立ち上げてもう15ヶ月になるが、いろいろと学んだことがある。その中でもつくづく思うのは、サービスを作り上げる段階よりも、運営のことを考えた設計が大切なこと。つまり、メンテナンスしやすい、テストしやすい、多少のミスをしても大丈夫、こまめなアップデートがしやすい、作業分担がしやすい、などなどである。 そんななかで強く感じるのは、「AJAXを見た目や使いやすさの面だけに利用するだけでなく、『運営しやすいサービス』を作るのに利用できないか」ということである。 私のイメージするアーキテクチャを図にするとこんな感じになる。 まず一番の特徴は、テンプレート等を利用したHTMLのダイナミックな生成をすべてやめて、データ(JSONもしくはXML)だけをダイナミックに生成するようにし、HTMLはスタティック・ファイルをサーバー側に置いておく(上の図で、CSS,
Webアプリケーションの操作性を向上させるために、いまや欠かすことのできないJavaScript。Prototype.jsやjQueryといった各種フレームワークを使用して、ユーザビリティを高めている開発者も少なくないだろう。 ここ数年の間でYahoo!UI LibraryやExt JS、Dojo Toolkitといった、開発のしやすさや・操作性の向上はもちろんのこと、綺麗なデザインも兼ね備えているライブラリが増えてきた。既存のWebアプリケーションに少しのコードを追加するだけで、機能もデザインも付加できるこれらのライブラリは非常に魅力的だ。 ここではテーブルで組んだリストに対して、まるで表計算ソフトのような操作性を提供するFlexigridライブラリを紹介したい。 ネイティブアプリケーション並みのリストを実現 FlexigridとはPaulo P. Marinas氏が開発・公開している
JavaScript - サーバー間で双方向のRPC通信を行う技術は「Aerial」(エアリアル)という名前になりました*1。アイディアを出していただいた皆様、ありがとうございましたm(_ _)m Aerialは、通信にFlashを使い、JavaScriptとサーバープログラムとの間で双方向のRPC呼び出しを行う技術です。つまり、サーバー側からJavaScriptのメソッドを呼び出したり、逆にJavaScriptからサーバー側のプログラムを呼び出したりします。 サーバーから直接JavaScriptのコードを呼び出したり、逆にJavaScriptからサーバー側のメソッドを呼び出したりできるので、通信の内容を意識する必要がなく、バグの混入を抑えます。RPC成分入り! ライブラリを開発するときも、HTTPやブラウザ間の実装の違いを意識する必要も無く、ごく普通のTCP接続で通信を行うので、Come

現在、様々なローカルアプリケーションがWebベースで提供されるようになっている。メール、グループウェア、表計算ソフトウェアとその範囲はどんどん拡大している。オフィス内におけるOSの選択肢も広がっているので、OSに比べると互換性の高いブラウザベースで動作するのは嬉しい限りだ。 メール Webベースと言っても、必ずしもサーバ上で動かなければならない訳ではない。こちらはローカルで動作するWebベースのアプリケーションだ。 今回紹介するオープンソース・ソフトウェアはZimbra Desktop、Ajaxを使ったデスクトップ向けグループウェアだ。 Zimbra DesktopはYahoo! Inc.に買収されたZimbraが提供するソフトウェアで、Outlookに近いソフトウェアだ。メール、アドレス管理、カレンダーと言った機能が提供されている。メールはGmailやYahoo!メール(有料版)、AOL
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

以前の続き。JavaScriptからプライベートデータの参照、更新が出来る。Google Account Authenticationの仕組みを利用している。この前動かなかったサンプルはいつの間にか動くようになってた。 最初プロトコルは勝手にJSONPと思ってたけど、中身見てみたらIFRAME 使った fragment identifier (window.location.hashの値、URLの#以降)による通信だった。たしかに、IEで音をONにしたらクリック音カチカチする。ちなみにfragment identifierによるクロスドメイン通信は他にdojoがライブラリとして実装しているのは知っているけど、これだけ大々的にサービスで使われてるのを見たのは初めて。もっとも、ブラウザでクロスドメイン通信を達成する方法のうち現時点でもっともマシなのはこれじゃないかという意見もある。 解析してみ
NoFunc Nomadic Functions 超シンプルで使い勝手のよいJavaScriptコード集「Nomadic Functions」。 他のどのライブラリにも依存しない、★投票システムや、Ajaxリクエスト、カラーピッカー、ドラッグ&ドロップ、テーブルソートなどを実現するためのJavaScriptコード集です。 例えば、ajaxリクエストをするのに、次の関数があって、wReq('http://www.YourDomain.com/',0,function(v) { alert(v); }); のようにシンプルに呼び出せるコードが紹介されています。 function wReq(u,s,change) { var r=[function(){ return new XMLHttpRequest(); },function(){ return new ActiveXObject("Ms
自分用のメモも兼ねてエントリー。JavascriptやらAjaxやらで何かやりたいときに便利そうなリンク集のまとめです。Javascript Libraries 主要なライブラリーとエフェクト用の拡張機能、その他ツールなどです。まずはこちらからいろいろ試してみるのがよさげですね。 »Javascript Libraries Ajax Rain Ajaxの小技いろいろ集です。ちょっとしたスクリーンショット付きのこうしたリンク集は眺めていて楽しいですね。 » 485 + Ajax/Javascript/Dhtml examples and demos to download Mini Ajax こちらもAjax Rainと同様です。こちらも綺麗なサイトで眺めていて楽しいですよ。 » MiniAjax.com / A showroom of nice lookingsimple downl

操作感はAJAXで、画像などはCSSで実装されたわかりやすいプログレスバーです。進捗状況などの表示が簡単にできます。また、クリックする度に10%増やしたり、あるいは減らしたりといったことも可能。いろいろなウェブアプリの開発などに応用できそうです。 詳細は以下から。 WebAppersSimple Ajax Progress Bar withCSS by WebAppers ライセンスはMITライセンスで提供されており、以下から実際に試してみることができます。 Demo http://www.webappers.com/progressBar/ 実際にダウンロードしてみると、prototype.jsを使っており、使用するイメージ画像は2種類。その組み合わせでバーの増減を表現するとは、なかなかいい発想。

昨日、ブラウザ上で動く表計算ソフト「OnSheet」(オンシート)を発表しました。SaaSとして提供されるこのソフトはいうまでもなくAjax技術を使ったものですが、宣伝を抜きにしても、Ajax技術でここまでできるということを実感していただくために、全ての方に一度触ってみて欲しいと思います。 http://www.onsheet.net/ これまでも、既存のクライアントアプリケーションをAjaxを使って「再現」する試みがいろいろと行われてきましたが、表計算アプリケーションのジャイアントであるExcelの再現性では他のオンライン表計算ソフトより高いと自負しています。また、使い勝手が良いだけでなく、データはネット上に存在するため、ワークシートファイルをメールで送ったりすることなく複数の人で共有することができます。たとえば、下記のURLをクリックしてみてください。 http://www.onshe

各地の日記を読んでいると、PofEAA読書会6で、SmalltalkのApplicationModelについて触れられたらしい。 日本では長らく認識されていなかったM-MVCアーキテクチャがようやく日の目を見るのか? - http://c2.com/cgi/wiki?ModelModelViewController M-MVCアーキテクチャはAjaxアプリにとって、これから重要な概念になっていくと個人的には思っている。 ブラウザ側に複雑なロジックや非同期なサーバーとの通信を実装することが実用的になってきた現在、Sunの提唱してきた似非MVCよりもすっきりとした設計でWebアプリケーションを作成できるようになるはずだ。 どういうことかというと、今までのMVCで単にModelとして片付けられていた部分をDomainModelとApplicationModelに分けると、ApplicationM
連載目次JavaScriptが、いま注目を浴びている。JavaScriptの復権、といってもよい。 最初にJavaScript(当初は「LiveScript」と呼ばれていた)がブラウザに実装されたのが1995年の「Netscape Navigator 2.0」というWebブラウザでのことであるから、すでに登場から10年以上も経過しているわけであるが、そんな枯れた言語がなぜいまごろになって注目されているのか。 いうまでもない。昨今、GoogleやYahooをはじめとした多くの企業が積極的にJavaScriptを採用したリッチなユーザー・インターフェイスを公開し、これが「Ajax(AsynchronousJavaScript And Xml)」という名前とともに急速に注目を浴びたことが、その理由である(Ajaxについては拙稿「枯れた新しいUI革命「Ajax」をASP.NETで活用する」を参

米Googleは5月30日(現地時間)、同社のAjaxアプリケーション作成ツールの最新RC版「Google Web Toolkit(GWT) 1.4 RC」をリリースした。GWTはJavaで記述されたアプリケーションをAjax動作用にJavaScriptベースのものに変換するフレームワークで、現在はオープンソース化されている。GWT 1.4ではパフォーマンスの大幅改善が目玉となる。 GWT 1.4で強化された主な機能は下記の通り。 生成コードサイズの縮小 GWTの新バージョンで作成されたJavaScriptコードは、従来比で15-20%ほどサイズが小さくなる。これにより、ユーザーがアプリケーションのロードにかける時間が短くなり、結果としてアプリケーション起動の高速化につながる。既存のアプリケーションでも、ソースコードをGWT 1.4 RCでリコンパイルすることで高速化が可能。 イメージ転送
先月5月11日、米アドビシステムズが発表したAjaxフレームワーク「Spry」は、最低限のプログラミングでAjaxスタイルのWebページ構築を可能にする、Webデザインフレームワークだ。今回は数あるJavaScriptライブラリの中でもユニークなフレームワークであるSpryを紹介し、実際にSpryを使ったサンプルを解説しながらその機能を探っていきたい。 ■Spry framework for Ajax Ajaxが騒がれた昨年から今年にかけて、Ajaxアプリケーション開発のためのJavaScriptライブラリ、フレームワーク、開発環境などの開発が盛んだ。多くのオープンソースコミュニティがライブラリやフレームワークを公開しており、「Prototype」や「script.aculo.us」といったライブラリはすでにメジャーな位置を占めて多くのアプリケーションで採用されている。 また、いくつかの企
皆さんは、「Ext」というJavaScriptフレームワークをご存知だろうか。Extは、4月1日にバージョン1.0がリリースされたばかりの新鋭のフレームワークである。 Extの前身は、「Yahoo!UI Library(YUI)」の拡張版として開発された「yui-ext」というライブラリである。しかし、yui-extでは、リッチなUIを実現できるものの、決してサイズが小さいとは言えないYUIを導入する必要がある。そこで、yui-extの作者であるJack Slocum氏は、YUI以外のライブラリとも併せて使えるようにyui-extを刷新。その成果物をExtという名前で(頭文字の「yui」を外して)リリースした。 Ext 1.0で対応している外部のフレームワークはPrototype.js(scriptaculousも併せて利用可)、jQuery、そしてYUIである。現在のところExt単体で
技術的知識が無くてもタブを作れるフリーソフトからかなり派手な効果を伴うタブ作成ライブラリ、Yahoo!やGoogle、Adobeの作ったタブまで、いろいろと応用が利いて独自の特徴があるものをざっくりと18種類ほどピックアップしてみました。 いろいろなページやブログで頻繁に見かけるタブ方式のメニューですが、こうやって並べてみると実は見せ方も使い方も種々様々であることがよくわかります。 まずは知識不要でタブが簡単に作成できる「CSS Tab Designer」。Windows用のフリーソフトで、約60種類ものデザインが用意されています。その中にタブ方式のメニューもたくさん用意されており、ほかにも縦型のメニューやZDNet風メニューなども用意されています。 OverZone Software -CSS Tab Designer 細かいカスタマイズが可能なタブメニュー。画像を使ったサンプルも用意

O/Rマッピングで郵便番号検索Ajaxアプリ作成!:MyEclipseでAjax+Javaをやさしく開発(3)(1/4 ページ) MyEclipseはJava EE開発を効率化するプラグインの集大成でかつ統合開発環境だ。併せてAjaxの開発を容易にする機能も持ち合わせている。本連載では、サーバサイドにJava EEを、クライアントサイドにAjaxを用いたWebアプリケーションをMyEclipseを使って容易に開発する手法を紹介していく。また、AjaxとJava EEの連携にはAjax開発用のJavaフレームワーク「DWR」を活用する。(編集部) 連載第1回では、MyEclipseによるWebプロジェクトの作成 、Tomcatを起動/停止する方法およびデプロイする方法、 Ajaxアプリケーションのデバッグ方法について紹介しました。そして、連載第2回では、DWRによるAjaxアプリケーションの

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く