使用客户端框架的优点和缺点

Benefits and drawbacks of using client side frameworks

本文关键字:缺点 客户端 框架      更新时间:2023-09-26

我们开始在项目中越来越多地使用JavaScript来改善客户体验。目前,我们的大部分网站都会为每一次用户交互发布反馈信息。我们主要在客户端使用JQuery和JavaScript。Net在服务器上。客户端上的事情开始变得非常混乱和无组织。

我正在考虑选择一个客户端框架,比如Knockout、Angular、Ember或Backbone,来为我们的客户端开发引入某种结构。尤其是现在,它还处于早期阶段,JavaScript还不是一个完全的灾难。我想知道使用客户端框架是否有任何缺点,如果我们应该坚持使用JQuery。另外,使用客户端框架我们能得到什么?

最近的Javascript框架可以帮助构建您的代码,使其模块化(因此可重用),DRY,可读,高性能和安全,最重要的是内聚以及易于理解。jQuery不是一个框架,所以它在这些方面没有帮助。我们都见过典型的大量jQuery面条式代码。这不是jQuery的错,而是不知道如何构建代码的开发人员的错。然而,如果开发人员确实知道如何构建代码,他们最终会编写某种最小的"框架";提供基础(架构等)。

这里的问题是,我们不应该忘记,jQuery代码缓慢而稳定地变得如此庞大和非结构化,您可能会从编辑它运行。然而,使用您列出的任何框架[以及更多的框架]肯定会给您带来一些额外的好处。

下面是一些现代框架提供的东西:

模板

数据绑定

routing(单页应用)

干净、模块化、可重用的架构

安全

方便的附加功能/特性

因此,以一种简短而温馨的方式,选择你列出的框架之一[个人而言,我使用并更喜欢AngularJs]

如果你的代码组织得很好,javascript和jQuery就可以非常强大。

Angular似乎是现在每个人都喜欢的框架,但它有一个陡峭的学习曲线。(在我看来)

无论你用什么,我都会遵循这些原则:

    把你的代码放在。js文件里,不要放在视图里。
  1. 把所有的东西放在一个对象中,并且不在全局作用域内。

    myApplication = {}

然后你可以把所有的函数分组到对象中,这样它们就有组织了:

myApplication = {
  navigation: {
    loadNavigation: function() {
      // do something;
    },
    hideNavigation: function() {
      // do something;
    }
  },
  otherObject: {
    otherFunction: function() {
      // etc
    }
  },
  init: function() {
    myApplication.navigation.loadNavigation();
    // other functions to run;
  }
};

然后你就可以加载你的应用程序代码了:

$().ready(function() {
  myApplication.init();
}

我发现这种模式可以让我构建大型应用程序,而不会让事情变得混乱。