Raphaël.js – kyoto.js #1 – お仕事



Raphaël.js – kyoto.js #1 – お仕事

0 0


kyotojs01

kyotojs01

On Github tksmd / kyotojs01

Raphaël.js

を使ってみた

kyoto.js #1

by SOMEDA Takashi (id:tksmd / @tksmd)

お仕事

コミュニティ

Raphaël.js とは

  • raphaeljs.com
  • ベクター画像を扱うためのライブラリ
  • MITライセンス
  • 最新版 2.1.0 (2008年頃からGitHubに存在)
  • Sencha Labsの一つ

サンプル

特徴

  • SVGでレンダリング
  • クロスブラウザ対応
  • Firefox 3.0+, Safari 3.0+, Chrome 5.0+, Opera 9.5+
  • Internet Explorer 6.0+

類似品

何に使ったか

Backlog の Git 機能のネットワーク図

サルGitもよろしく!

入門ドキュメントも作りました

ePub版も公開してます!

他の選択肢

  • HTML5 Canvas
  • graphvizをどうにか
  • チャートライブラリ沢山

コード - 描画する

領域の真ん中に白抜きの円を描く

var r = Raphael('demo1',360,360);
var circle = r.circle(180, 180, 20).attr({
  "fill": "#fff",
  "stroke":"#f00",
  "stroke-width":3
});
					

デモ - 描画する

えい!

コード - イベントる

ホバーした時に色変える

circle.hover(function(){
  this.attr("fill","#f00");
}, function(){
  this.attr("fill","#fff");
});
					

デモ - イベントる

Created with Raphaël 2.1.0
えい!

コード - アニメる

クリックしたら移動する

circle.click(function(){
  this.animate({transform:'T-140,0', fill:'#fff'},200,'linear');
});
					

デモ - アニメる

Created with Raphaël 2.1.0
えい!

デモ - がっちゃんこ

Created with Raphaël 2.1.0
えい!

良かったこと

  • ブラウザ意識せず書ける
  • ノードが生成されるのでデバッグしやすい
  • そこそこjQueryライク

残念だったこと

  • ほどほどの抽象化レベル (path 周りとか)
  • VML遅い...
  • FFだとSVGちょい遅い...

参考リンク

Thanks!