沙虫科技网logo.png沙虫科技网

沙虫科技网
提供IT业界的新鲜事、奇趣事和热门焦点,掌控最热最新的互联网新闻、科技新闻和IT业界动态。
沙虫科技网

Yelp开源Bento Android框架 用于模块化UI开发

Yelp可能会保留全球最受欢迎的众包商业目录之一,每月访问量超过3300万,但其软件开发人员不仅仅是在喋喋不休。举个例子?旧金山公司今天详细介绍了Bento,这是一个用于构建模块化Android用户界面的开源Java和Kotlin工具集。

根据Yelp软件工程师Tyler Argo的说法,Yelp已经将Bento集成到其消费者和企业所有者应用程序中近一年。“ Bento框架可以轻松地将复杂的界面分解为一组易于理解,模块化,动态和可测试的组件,”Argo在一篇博文中解释道。“[它]被逐步引入现有的应用程序中。您无需从头开始重写应用程序或重新考虑整个应用程序架构。“

Bento的名字是标志性的日式午餐容器,它提供了一个框架来协调不同的视图类型和列表中项目的位置。它的方法与大多数具有基于列表的界面的Android应用程序形成对比,后者引用有序的数据列表并为每个项目创建屏幕视图。

Bento将不同的视图(以及它们的显示和交互逻辑)分组到组件或提供数据项的自包含元素中。组件可以是从文本视图到水平轮播的任何内容; 数据项绑定到具有关联类(ComponentViewHolder)的视图,而视图持有者将组件绑定到视图以处理交互。

Bento可以动态地添加,删除和插入组件到用户界面,它提供了一个抽象,可用于将其功能应用于不同的视图类型。更好的是,组件不需要任何依赖性,这使得测试他们的编程逻辑并确保所有内容的显示更加容易。

此外,Bento组件是可重用的 - 为一个环境创建的组件可以在许多不同的屏幕上重复使用 - 并且它们具有高度可扩展性。项目可以拥有的组件数量没有限制,并且因为它们本质上是模块化的,所以可以将它们分配给特定的团队或开发人员进行错误分类和维护。

“Bento仍在发展,并不是完美或完整的,”Argo写道,“我们有几个方面需要改进,主要集中在性能方面。[但] Bento帮助我们的Android应用程序开发规模,并允许我们高效可靠地执行新功能...... [和]我们一直在寻找项目的新贡献者。“

Yelp的Bento框架可以在Apache许可证的GitHub上以开放源代码的形式获得。

相关推荐