找回密码
 FreeOZ用户注册
查看: 3581|回复: 2
打印 上一主题 下一主题

[论坛技术] Javascript版的ORM框架:persistence.js

[复制链接]
跳转到指定楼层
1#
发表于 19-5-2011 23:33:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
异步,支持W3C WebSQL,支持各种浏览器和server side的Javascript运行环境,支持sqlite, mysql, postgresql等后端存储,支持connection pool,看起来很美。
主页:http://persistencejs.org/
代码库:https://github.com/zefhemel/persistencejs

代码示例:


  1. persistence.connect('testdbnm', 'My test db', 5 * 1024 * 1024);

  2. var Task = persistence.define('Task', {
  3.     name: "TEXT",
  4.     description: "TEXT",
  5.     done: "BOOL"
  6. });

  7. var Category = persistence.define('Category', {
  8.     name: "TEXT"
  9. });

  10. Category.hasMany('tasks', Task, 'category');

  11. persistence.schemaSync(null, function(tx) {
  12.   alert('Successfully synchronized the schema!');
  13. });
复制代码

设计得的确很简洁清晰。 ORM这种东西,还是动态语言做起来轻松自如,也比较自然。

至今C++社区也憋不出一个像样的ORM库,难过啊。
回复  

使用道具 举报

2#
 楼主| 发表于 19-5-2011 23:42:29 | 只看该作者
最近把各类语言的ORM翻了个遍,虽然一些Java,.NET的ORM framework都一直名头很响,但了解后却感觉很失望,简直是没事找事地自虐,over design得厉害,为了Mapping而Mapping。

还是Python/Perl/Ruby/JS这类的动态语言天生适合做ORM,几乎每个语言都有个很优美,小巧的实现。

另外Objective-C的Core Data框架也算让人惊喜。

最难过的还是C++这类静态强类型并且没有元数据的语言了,仅有的几个ORM框架,那叫一个惨不忍睹,唉!
回复  

使用道具 举报

3#
发表于 20-5-2011 10:02:14 | 只看该作者
看起来挺不错
强类型语言做ORM的确天生有短板,MS用代码生成器的方式搞得Linq2SQL框架,算是挺简单好用的,但还是远远及不上动态语言来的简洁。
如果C#中的DependencyProperty如果能从编译器级别提供支持,我想就可以实现类似这个框架那么简洁的ORM了,但估计MS不会这么干
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+10, 20-4-2024 03:08 , Processed in 0.033597 second(s), 18 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表