我目前是 Siena 的开发人员,但不是很久。让我解释一下为什么我成为这个项目的开发人员?我去锡耶纳是因为我想使用 Play+GAE,而锡耶纳似乎是 GAE DB 的一个良好开端,我真的很想避免使用 JDO/JPA。然后,我开始真正欣赏 Siena 的直接、轻量和简单的方法以及如此简单的 API。它并不像 JDO 那样伪装成一体化的抽象层,也不像 JPA 那样伪装成最伟大的标准 DB API。它真的让我想到了来自 Python/Ruby 的 DB API,它真的符合我的观点:我想要一个简单的 DB API,它可以让我解决我的大部分问题,当我遇到更复杂的问题时,我会使用较低层的 API,但肯定不是 hibernate 之类的抽象层。
让我的代码在 GAE DB 或 JDBC 上运行的可能性也是一个很好的方面。再一次,Siena 并没有假装在两个世界中都提供完全相同的东西,因为 SQL 和 NoSQL 并不真正兼容(但 ORM 也不真正兼容 SQL 模型:))。但是再一次,能够在多个数据库中依赖相同的 API 是非常实用的。
最后,图书馆是一个罐子,你不必检索整个宇宙来使用它。
所以,我逐渐成为了锡耶纳的提交者,因为我想参与这个美好的小冒险。现在 siena 团队正在开发一个新版本,保留相同的简单 API,带来新的有趣功能并真正改进所有后端代码,使其更容易扩展新的数据库支持。Siena 是一个由用户体验驱动的实用 API,这就是我喜欢它的原因 ;)
帕斯卡