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
Contents
ActiveRecord on Gears
Comments
瀧内元気: MacOS版は以下にあります * [genki/ViMouse](https://githu... '23-1
KingofSmack: Here also good reads for this mobile applicatio... '14-5
Spencer: You don't have to re-compile it, this version w... '14-4
staiano: Any chance we can get a recompile for 10.9? '14-1
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ