• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Gears を使うには

  1. gears_init.js の読み込み
  2. 低レベルAPIを駆使

という面倒な作業が必要になる。

具体的には

   1  <script type="text/javascript" src="gears_init.js"></script>

   1  var db = google.gears.factory.create('beta.database');
   2  db.open("database-demo");
   3  var rs = db.execute("select name from users");
   4  while(rs.isValidRow()) {
   5    name = rs.fieldByName('name');
   6    rs.next();
   7  }
   8  rs.close();
   9  db.close();

のようなコードが必要になり、今日日こういうのは書きたくない。 そこで、

active_record.js を使う

Aptana が提供してる activejs プロジェクトの ActiveRecord ライブラリを利用すると、以下のようにすっきりする。

   1  <script type="text/javascript" src="active_record.js"></script>

   1  ActiveRecord.connect(ActiveRecord.Adapters.Gears,'database-demo');
   2  var User = ActiveRecord.create('users', {name:''});
   3  User.create({name:'maiha'});

RailsのARを忠実にJavaScriptへ移植してあるため、 ARに慣れていればほぼドキュメントなしで使えるのが嬉しい。

   1  maiha = User.findByName('maiha');  // Dynamic Finder
   2  name  = maiha.name; // Accessor methods
   3  maiha.name = 'foo';
   4  maiha.save();
   5  
   6  User.count();
   7  User.find({all: true, order: 'name'});

他にも

  • Validation
  • Callback
  • Relation (hasOne, hasMany, belongsTo)
  • Migration

といった機能が実装されており、 ARの移植物としてみても完成度が非常に高い。 ちなみに、js のサイズは compaction なしで200KB程度。

参考

  • http://activerecordjs.org/
posted by Png maiha on Mon 19 Oct 2009 at 05:51

Comments:

or Preview
Social Bookmarks
  • Delicious
  • B_entry1644
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ