AJAX Web开发的最佳技术

时间:2009-06-04 04:58:10

标签: javascript wpf ajax flash

我在AJAX开发方面有一些经验,主要是在.NET和MooTools上。但是,我想了解更多信息并了解其他人对其他各种选项的看法。我正在寻找更多关于前端的建议。后端,我很可能会使用c#和WCF服务在.NET中进行编码。

请随时向我提供尽可能多的信息。我也很感激任何资源链接。

选项列表(随意添加)

  • 编写我自己的Javascript

  • 使用像MooTools,JQuery等框架工作。哪一个更好?

  • 使用Google Web Toolkit。我是否将自己与GWT的局限联系起来?或者没有限制?

  • ASP.NET AJAX

  • WPF(这会在非IE浏览器上运行吗?)

  • Flash(学习动作脚本会很痛苦)

由于 Jaspreet

13 个答案:

答案 0 :(得分:9)

编写自己的Javascript通常意味着在尝试实现跨浏览器兼容性时重新发明轮子。像jQuery和MooTools这样的框架可以为你完成大量繁重的工作。

就个人而言,我建议选择Javascript框架或使用GWT,但实际上这只是个人偏好的问题,就像选择编程语言一样。选择最适合您的目的或您最熟悉的那个。

答案 1 :(得分:7)

我会选择jQuery。

jQuery将与下一版本的Visual Studio捆绑在一起。谷歌使用jQuery。 jQuery拥有所有框架中最大的用户群。并且说不重新发明轮子:jQuery还有最大的任何框架的插件库。包括它自己的官方UI库正在不断发展。

..如果你是书迷的粉丝;目前有关于该框架的3-4本书。

哦,是的!查看Douglas Crockford's website以获取精彩的JavaScript提示和技巧。

只是我的两分钱:)。

答案 2 :(得分:6)

这些都会让你使用非常可靠的代码,这通常是提高自己技能的最佳方法。并且不要忘记他们所有的扩展/插件。

答案 3 :(得分:5)

我会推荐jQuery。它比我见过的大多数其他JavaScript库更具可扩展性和轻量级(并且您可以使用AJAX API对其进行Google缓存)。

对于基于Flash的AJAX Web应用程序,Flex是一种更好的解决方案。

答案 4 :(得分:5)

由于这是一个相当主观的问题,我将投入2美分。

我使用Dojo工具包进行开发,发现它非常全面。但是,如果您不对库进行自定义构建,则会降低所有内容的速度。它比其他框架有更陡峭的学习曲线,但似乎非常接近Javascript的核心。

但这不是道场的广告。我目前正在开发一个Ajax Web应用程序,我的目标是尽量避免使用框架。为什么?有几个原因。

最大的原因是完全控制代码。不是我不相信工具包,我只是喜欢我的自定义代码。我没有任何我不使用的代码,我的所有抽象都是为我的目的定制的。有时我实际上重新发明轮子*,但它总是有点不同,因为它是专门建造的。

另一个重要原因是我获得的知识量。我相信我可以更快地获取任何框架,因为没有使用一个项目。我比以前了解得多。之前它更像是一个伏都教神秘盒,现在甚至框架对我来说更有意义。

事实上,如果你做任何非平凡的javascript,你最终会得到一个框架(或一团糟)。实际上,它可能不是编写Web应用程序的最快方式,但通过一些练习并不是那么难。你可以惊讶于你以前不存在的创造性事物。


*重新发明轮子是我们都使用的一个可怕的类比。我们一直在重新发明轮子。首先是石头,然后是较轻的木头,轮胎等......我的卡车与我的轿车没有相同的轮子。

答案 5 :(得分:3)

与其他响应者一样,我更喜欢使用框架,但我最喜欢的是dojo - 干净且设计精良的建筑,好书(我最喜欢的是Matthew Russel's),以及一种特别令人印象深刻的使用方法浏览器扩展(例如Google Gears或Microsoft Silverlight),如果用户安装了它们,同时优雅地退回(例如,到Ajax接口的服务器端存储),如果没有合适的浏览器扩展(或具有HTML5支持的足够高级浏览器)

Dojo 目前比jquery稍微不那么受欢迎(例如,[jquery ajax]在Google搜索上有840万次点击,而[dojo ajax]则有430万次点击,但这仍然是方式很受欢迎,以确保它不会很快消失; - )。

答案 6 :(得分:3)

必须检查ExtJS

我见过的大多数库都有可用的核心,但缺少可以相互融合的小部件/控件库。当然你可以获得jQuery的大量控件,但你是否有时间找出哪些具有预期的功能并调整它们的视觉外观以匹配其他控件? ExtJS为您提供了这一点。核心是核心。它的工作原理很好。但是,丰富的兼容和功能丰富的控件选择是让您的生活更轻松的主要驱动力。

我已经将ExtJS与Asp.Net和WCF服务一起使用,这是一次非常好的体验。您需要一些时间来了解ExtJS组件模型以进一步扩展它(因为您需要对其他库执行相同的操作),但是当您这样做时,您会开始更喜欢它。

还有一件事:既然MS使用MVC发布jQuery,那并不意味着它是最好的。它只是意味着它是最好的之一(并且比微软的内部Ajax好得多),但它拥有最轻松的开源许可证。

修改:现在已经发布 Silverlight 3 ,很明显它会因为其离线支持和丰富的图形支持而有所动摇。以及像Web应用程序一样的独立桌面。绝对值得考虑......

答案 7 :(得分:2)

请注意,WPF与ajax无关。

AJAX =异步javascript和xml

WPF =仅限Windows的UI显示技术。在浏览器中使用的唯一选择是创建Xbap。更适合网络对应的是silverlight(比如闪存,但是来自微软),所以也许你应该研究一下......就像使用闪存一样,但是使用熟悉的MS技术。


关于你在ajax中使用哪个框架的问题:我更喜欢jQuery。它简短的语法和链接使您能够以直观的方式快速实现目标。

另外,据我所知,GWT是一个Java框架,也可以在客户端上呈现内容。所以你将Java作为后端语言的限制......

答案 8 :(得分:2)

GWT在过去7个月中取得了长足的飞跃。多个GWT小部件库已经引起了很多关注,而Google在该库上的工作令人印象深刻。走向GWT限制你:

  1. 使用GWT小部件
  2. 可能成为GWT小部件开发人员
  3. 好处包括:

    1. Java编码
    2. 使用Java进行调试
    3. 跳过那些让你脱发的JavaScript部分
    4. GWT是迈向AJAX的一步。它隐藏了HTML / JavaScript,因此您无需处理它,但也可以在您想要处理它时提供访问权。

      总的来说,您将花费更少的时间来尝试使小东西工作,并将更多时间添加到您的应用程序中。

答案 9 :(得分:1)

还有prototype.js

答案 10 :(得分:1)

答案 11 :(得分:0)

选择一个图书馆学习,然后拿起其他人 - 但我认为我不会重新发明轮子。

我选择了MooTools并从那时起就选择了jQuery / Prototype。 (Picked Mootools因为他们的网站当时是唯一经过验证的网站,认为干净的html意味着干净的javascript)。

关于MooTools的附注: MooTools经常被忽视的功能是下载构建器。你可以下载足够的框架源来让你的AJAX正常工作,而不是别的。

答案 12 :(得分:0)

BBC的开源JavaScript库名为Glow