基于组件的前端UI设计

时间:2014-07-14 16:42:57

标签: javascript user-interface architecture frontend user-experience

我们正在计划一个前端应用程序,您可以在其中不断添加/删除阶段中的UI组件。您可以在适当的位置配置它们,最后可以发布阶段(网页)。

  1. 我们有一个组件清单。组件被分类。例如:标题,侧边栏。在清单中,他们将显示该类别中可用组件的预览(可能是图像)。

  2. 可以从库存中将项目添加到舞台(传统上是简单的网页)。这些阶段与库存类别有关。例如,在阶段中,有一个“标题容器”,您只能为标题库存添加组件。

    每个类别可能都有自己的规则。例如,您不能在标题库存类别的“标题容器”(位于阶段/页面中)中添加多个组件。但是,您可以在“侧栏容器”中添加任意数量的项目。 以相同的方式,每个组件可以具有自己的规则。每个组件可以呈现不同的并且可以具有不同的配置选项例如,您从“标题库存”添加标题组件,其中包含徽标,背景图像。但另一个可能没有背景图像。除非组件具有某个功能(例如背景图像),否则它将无法在配置面板中使用。

  3. 除了在广告资源中预览外,上述所有组件都将始终有效。这意味着,只要它们被添加到舞台上,它们就是实时元素,它们应该按照默认设置工作(除非已配置)。他们将在后端服务中进行通信以获取/保存数据。

  4. 持久化数据:我们还希望在组件(相同类型)的切换之间保留数据。例如,如果您在舞台上添加了一个已配置为拥有徽标的标题组件,则切换到另一个标题组件(也支持徽标)应保留旧的选定徽标。

  5. 我也认为如果我们能把所有东西都当成一个组件就会非常好。例如,徽标是一个组件,背景图像是一个组件。每个都应该独立工作,有自己的配置器(徽标组件的文件上传按钮),验证(检查徽标组件的文件类型)等。前面提到的每个头组件将是几个组件的容器,可以容纳任意数量的组件并且可以作为这些组件之间的桥梁(例如在同一个界面中合并所有配置而不是单独组合)。

    我目前的想法是:

    1. Backbone.js的
    2. jQuery UI Widget Factory
    3. 但是我们最终都需要很多基础工作。是否有任何框架/库已经解决了我们试图解决的大部分或部分问题。我不确定基于Angular.js指令的解决方案是否也会很好。对此的任何建议都表示高度赞赏

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望构建类似功能的仪表板。尝试查看sDashboard https://github.com/ModelN/sDashboard或商业广告选项,例如drop http://www.droptiles.com/或razorflow http://razorflow.com/