【问题标题】:JsRender/JsViews vs other template based frameworks [closed]JsRender/JsViews 与其他基于模板的框架 [关闭]
【发布时间】:2019-12-07 06:36:07
【问题描述】:

多年来,一直在使用 Microsoft 的 Ajax 框架来制作具有 UI 渲染划分的单页应用程序,其在 50% 的客户端和 50% 的服务器上工作。想要迁移到 100% UI 客户端渲染并且正在寻找模板引擎。我最近发现了JsRender/JsViews,我已经用它做了几页,到目前为止我非常喜欢它,但后来我开始研究其他人在做什么,以及最流行的框架是什么用于做这些没有使用任何东西的事情以前是这样的。

顶级框架(2019 年)似乎是 React、Vue 和 Angular。我对每一个都进行了广泛的阅读,并认为 Vue 在这三个中对我来说是最好的,但现在我想知道使用像 JsRender 这样不太流行的库有什么优势。对于那些选择使用 JsRender 而不是其他人的人,是什么让你选择了它,它与上述三个相比有什么优势?

【问题讨论】:

  • 代码支持和庞大的社区。如果在不太流行的库或框架中存在代码破坏错误,则可能是一个问题,如果 1. 没有及时修复或 2. 根本没有得到修复。
  • 我知道使用流行库的优点。我对那些选择 jsRender 而不是更受欢迎的库的人以及他们做出这个选择的原因更感兴趣。
  • 我能看到的唯一优点是它的重量非常轻,您可以将它与您正在使用的任何东西集成,即使是更大的框架。
  • 我想说,如果您正在做一个新项目或完全改造一个现有项目,您可能想要选择一个更大、更流行的框架。对于以有限的方式插入现有项目,jsViews/jsRender 是轻量级的,具有可管理的学习曲线,并且可以与其他项目很好地配合使用。它不会像 Angular 那样接管你的项目。 Vue 和 jsViews/jsRender 与 razor / c# 完美结合,例如,我使用 razor 引擎用本地化字符串填充对象。

标签: jsrender jsviews


【解决方案1】:

我们在项目中使用 JsViews。我们拒绝了 angular 和 react,因为我们需要一些不会干扰我们现有的 asp.net webforms 应用程序的纤薄的东西。也许您听说过“这是 Angular 方式或高速公路”。 JsViews 做得很好。 Vue 可能也适用于这个应用程序。

您可能可以使用任何框架做任何您想做的事情,所以这可能是平局。

至于支持和错误修复:JsViews 是首屈一指的。我们遇到了几个问题。一天左右就全部修好了。创作者对这个框架充满热情。老实说,我认为从较小的框架中获取修复更容易。

肯定会有更多代码用于大型框架,但我个人认为这不是一个大问题。我们为我们的项目使用引导程序,所以大多数东西只是编写正确的标记。在我们需要动态生成所述标记和/或需要脚本的地方,我们将这些东西封装在可重用的标签中(想想组件)。这意味着自己编写一些代码,是的,但是根据我的经验,重用别人的组件通常会导致我缺乏功能或外​​观,而且我通常会花更多的时间尝试配置该组件,而不是我自己编写自定义组件。

JsViews 的文档非常完整。也有很多例子。 Vue 也有相当完整的文档和良好的社区支持。

我在另一个项目中也使用 Vue,它在功能方面与 JsViews 非常相似,但我仍然认为 JsViews 更强大,一旦你了解它,我更喜欢 JsViews 模板而不是 Vue 模板。同样在 Vue 中,我觉得我必须更多地“配置”我的视图模型以适应 JsViews 中的 Vue 而我只是将我的视图模型交给它。特别是我真的很喜欢帮助方法和转换器的概念,以将视图与模型分开。基本上 JsViews 感觉像是我个人喜欢的 WPF 的一个子集。

我觉得 JsViews 的基本概念很容易学习:数据绑定、转换器、助手等。自定义标签稍微复杂一些,但并不过分。

如果我必须选择一个流行的框架,我会选择 Vue,但我个人觉得 JsViews 更强大。 如果它让你感觉更好,我敢打赌,所有这些框架都将被其他东西取代,所以你可能不想盲目地关注受欢迎程度:)

【讨论】:

  • 很好的见解。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-15
  • 2011-03-11
  • 2018-10-21
相关资源
最近更新 更多