JsRender/JsViews 对比其他基于模板的框架

JsRender/JsViews vs other template based frameworks

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

顶级框架(2019 年)似乎是 React、Vue 和 Angular。我广泛阅读了每一个,并确定 Vue 是这三个中最适合我的,但现在我想知道使用像 JsRender 这样不太受欢迎的库有什么优势。对于那些选择使用 JsRender 而不是其他人的人,是什么让您选择它以及它与上述三个相比有什么优势?

我们的项目使用 JsViews。我们拒绝了 angular 并作出反应,因为我们需要一些不会干扰我们现有的 asp.net webforms 应用程序的苗条的东西。也许你听说过 "it's the Angular way or the highway"。 JsViews 做得很好。 Vue 可能也适用于此应用程序。

您可能可以使用任何框架完成您想要的所有工作,所以这可能是平手。

至于支持和错误修复:JsViews 仅次于 none。我们有 运行 几个问题。所有这些都在一天左右的时间内修好了。创建者对这个框架充满热情。老实说,我认为从较小的框架中获得修复更容易。

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

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

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

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

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