coredump 发表于 20-5-2011 00:33:39

Javascript版的ORM框架:persistence.js

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

代码示例:


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

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

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

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

persistence.schemaSync(null, function(tx) {
alert('Successfully synchronized the schema!');
});
设计得的确很简洁清晰。 ORM这种东西,还是动态语言做起来轻松自如,也比较自然。

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

coredump 发表于 20-5-2011 00:42:29

最近把各类语言的ORM翻了个遍,虽然一些Java,.NET的ORM framework都一直名头很响,但了解后却感觉很失望,简直是没事找事地自虐,over design得厉害,为了Mapping而Mapping。

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

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

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

woodheadz 发表于 20-5-2011 11:02:14

看起来挺不错
强类型语言做ORM的确天生有短板,MS用代码生成器的方式搞得Linq2SQL框架,算是挺简单好用的,但还是远远及不上动态语言来的简洁。
如果C#中的DependencyProperty如果能从编译器级别提供支持,我想就可以实现类似这个框架那么简洁的ORM了,但估计MS不会这么干 :(
页: [1]
查看完整版本: Javascript版的ORM框架:persistence.js