基于 rails/ruby 的框架中的复合 UI 实现
Posted
技术标签:
【中文标题】基于 rails/ruby 的框架中的复合 UI 实现【英文标题】:Composite UI implementation in rails/ruby based framework 【发布时间】:2014-10-30 03:45:36 【问题描述】:对于从单一单体应用程序转向基于服务的方法的人来说,拥有单一的统一/复合 UI 有点棘手。一种方法是通过 API 公开服务功能并使用前端应用程序(emberjs、rails 等)来使用它们。这种方法将前端和后端(服务)隔离开来,因此假设前端应用程序由不同的团队拥有,那么团队拥有整个服务(前端和后端)的概念就会丢失,因为它需要了解整个前端应用程序及其服务互动。另一种方法是Composite Frontend Pattern。似乎一旦我们有了前端设置,我们就可以为每个服务部署前端更改,因此团队拥有服务的概念保持不变。
如果重点是每个服务(包括前端)一个团队,那么有哪些替代方案? Ruby 中有没有复合前端模式的框架或实现示例?
非常感谢任何指导。
【问题讨论】:
【参考方案1】:复合前端模式在互联网上并不是什么大事,它是某人的个人发明。
我不确定我是否正确理解该术语,您提供的链接提供的信息很少。
据我所知,解决方案是微不足道的。您提到的 EmberJS 允许将前端组织成可重用的 components。组件表示页面的自包含部分,通常一个组件是某个 UI 元素或结构块。我认为这正是portlets 的链接含义。
为您的服务具有的每个 API 功能创建一个组件,然后只向用户显示需要的块。
在编码方面,不同的团队成员可以负责不同的组件。
使用任何其他框架都可以实现相同的方法,不仅仅是 Ember,甚至使用传统的 jQuery 方法。这更像是一门学科,而不是一门技术:只要让你的代码模块化就可以了。
PS Rails 是一个后端框架。
【讨论】:
谢谢安德烈。鉴于组件可以独立开发和部署,我正在寻找您提到的 EmberJs 可能。是的,rails 主要用作后端框架,但由于团队对它的熟悉,我正在考虑将它用于前端,其中模型而不是与 db 对话会与远程服务对话。您还有其他建议吗?或者您认为 EmberJs 是正确的选择? 需要更多关于您的项目及其要求的信息来推荐任何东西。 您是说使用 Ember 以外的框架可以实现相同的方法。只是想知道那些其他框架是什么。我猜他们是这里列出的codebrief.com/2012/01/… 之一 你必须告诉我更多关于你的项目、你的开发工作流程以及你对“复合前端模式”的期望。 感谢您对我的包容。我们正在将我们的整体 Rails 应用程序分解为具有统一 UI 的多个服务,目标是每个服务拥有一个团队。我们在考虑是否可以以这样的方式设置前端应用程序,即前端组件和相关服务由同一个团队拥有,这意味着他们开发、部署和运行它,例如可能有一个用户服务和相关的用户组件/页面来处理由同一团队管理的用户。这只是我们正在尝试评估并查看是否值得的一种方法。 (在下一条评论中继续)...以上是关于基于 rails/ruby 的框架中的复合 UI 实现的主要内容,如果未能解决你的问题,请参考以下文章
Ruby on Rails - Ruby 中的 KeyCode [关闭]
基于组件(或复合)的 Web 应用程序的 OpenRasta 框架