代码之家  ›  专栏  ›  技术社区  ›  Mayo

微软的ajax工具包与jquery

  •  16
  • Mayo  · 技术社区  · 15 年前

    自Atlas问世以来,我们的团队一直在使用微软的AJAX工具包。在一个 bit of naivety 我们直到一两个月前才发现jquery/prototype现象。到目前为止,我们一直将ajax的概念与微软的工具包联系在一起。

    在阅读jquery时,我看到了ajax的一个全新的方面,而我只是模糊地意识到了这一点。也就是说,您可以使用javascript(或js库)与服务器对话,而无需使用专门的控件。乍一看,这似乎提供了更好的浏览器兼容性和更少的臃肿。我当然对它感兴趣。

    我向社会提出的问题:
    当使用asp.net时,面对与服务器通信而不需要回发的需求,如何决定使用ajax工具包中的控件,而不是使用jquery之类的工具?有理由同时使用两者吗?

    6 回复  |  直到 13 年前
        1
  •  14
  •   Crescent Fresh nosklo    15 年前

    我发现团队对javascript和dom的熟练程度对jquery在ms控件上的应用有很大的影响。如果团队很高兴没有意识到dom、http、异步操作、事件驱动ui或json的含义以及为什么它是猫叫声,那么我将坚持使用ajaxcontroltoolkit。

    另一方面,如果他们一直试图绕过工具包,直接通过javascript操作控件,jquery就不会像这样操作dom了。

    最后,如果您的团队能够使用.NET控件更快地进入市场,那么在应用程序的总体交付中坚持使用它,并让他们慢慢地尝试jquery来获取一些零碎的东西(动画、jquery ui, .bind() 把行为和表现分开)。最终,您要么获得足够的经验,可以将新页面/应用程序转换为100%jquery,要么b)赚足够的钱,聘请精通dom脚本的人,并自学团队;)

        2
  •  5
  •   Santiago Cepas    15 年前

    好问题。

    我相信,虽然ajax工具包控件仍然存在,就像经典web表单一样,但是在使用jquery时,您的代码将更干净、更易于维护。但最重要的是,您将对代码的行为有更多的控制和灵活性。

    对于特定的情况,您始终可以使用一些控件,其余的则使用jquery。我不认为同时采用这两种方法有任何根本性的错误。

        3
  •  3
  •   Soviut    15 年前

    虽然microsoft ajax工具包是方便和简单的工具,但是当您想做任何比您设计的更复杂的事情时,它很容易快速地碰到障碍。如果您对使用友好的库学习ajax的内部和外部感兴趣,那么jquery就是一种方法。这些知识将跨多个平台进行转换;例如,如果您的团队决定尝试使用django、ruby on rails等,那么您已经拥有了jquery作为您的ajax工具包。如果您打算从asp.net迁移到asp.net mvc(微软称jquery为官方客户端javascript工具包),这一点尤其正确。

        4
  •  2
  •   Brian O'Connell    15 年前

    很久以前,我就不再使用ms ajax了,因为我开发的许多应用程序都需要能够访问并适当地降级。即不引人注目的javascript。我坚信微软最终会把他们的javascript技术推向那个方向,但现在还没有。

    基本上,我开发的每一个网页都没有内联javascript,除了js文件的外部链接之外,这个网页将关闭javascript。这是我的首要任务,但可能不是你或其他人的。这些天,我们不会梦想在html中放置字体标记,而不是在外部css文件中。随着时间的推移,我们可能会对脚本有同样的想法。

        5
  •  1
  •   AdamW    15 年前

    我认为这是你最喜欢的。

    微软使用像update panel这样的拖放控件,jquery是手工编写的,以我的经验,它提供了更大的灵活性。

    jquery似乎是目前dom脚本和ajax的首选框架,它只会使javascript相关的任务更快、更容易实现。

        6
  •  1
  •   user182669    15 年前

    ajax工具包是一个伟大的“遗留问题”问题的产物。 MSFT必须支持ASP(X)、Web窗体等… asp(和jsp)是10多年前的概念的实现:在服务器端创建html页面。整个“交互性”是通过表单提交实现的。以及不可避免的页面重新加载。只有在visual studio中,页面设计才是可能的,而且实际上非常困难。 总之,这不是ajax。世界在前进。 jquery意味着ajax。jquery是ajax客户机的javascript库。它使用dom和其他一些html+浏览器特性。ajax/jquery与服务器无关:任何web服务器都可以。 ajax和jquery意味着完全分离。 msft-ajaxtoolit与asp(x)紧密结合,不可避免地是iis。那是昨天。 另一方面,jquery迫使您采用今天的想法。这是件好事, 尤其是如果你是在asp上长大的,你想/需要继续前进。

    幸运的是,msft也意识到它必须继续前进,asp.net mvc+jquery被“允许”。 它不是100%ajax架构,而是朝着正确方向迈出的一大步。 它不是webforms。不是ascx。

    建议:不要让一个团队开发web服务器端和web应用客户端。使用ajax+rest+json。让两个分离的团队开发松散耦合的web应用程序。

    ——DJ