脸书开发的Go实体框架Ent已转移至Linux基金会

原本由脸书,在2019年所开发的开源Go实体框架Ent,已经成功转移到Linux基金会下,使其在中立的开源生态系统中快速发展,并培养用户和社群。

脸书开发Ent的目的,是要让开发人员能以较简单的方式,开发复杂的后端应用程序,Linux基金会提到,开发后端应用程序的开发人员,面临维护管理不同实体类型程序代码库的挑战,这些实体之间的关系非常复杂,而Ent使用图(Graph)的概念,对应用程序模型建模,并采用先进的程序代码生成技术,创建安全且高性能的程序代码,和其他方法相比,能够大幅简化数据库的工作。

Ent类似于传统的对象关联映射程序(Object-Relational Mappers),但是采用另一种方法,目的是要有效提高开发人员的生产力。由于在Ent中,是以图的概念来表示架构,并不是常见的表格导向方法,因此在走访资料集和表达复杂查询时更容易,且不容易出错。

而Ent所生成的程序代码,是属于完全类型安全,这代表在开发过程中,很早就能发现常见的类型错误,并且能够让程序代码编辑软件更好地理解Ent程序代码,提供开发人员有用的提示和回应。另外,官方还提到,架构是以实际的Go程序代码定义,这促进丰富功能集发展,包括监控系统的集成,或是资料访问层的隐私授权规则定义等。

从2019年以来,脸书、GitHub和Scaleway等企业的工程师,都贡献过Ent项目程序代码,CNCF和其他开源生态系统也采用Ent,Ent创建者和主要维护者Ariel Mashraki提到,他们想要通过开源,和广泛的用户联盟合作。

Ariel Mashraki因为最近创建了一家以Ent为基础,提供数据结构解决方案的公司,因此想将Ent项目托管于中立的Linux基金会,希望让Ent能够成为Go中的资料访问产业标准。