我必须使用JavaScript吗?

时间:2009-01-23 22:50:47

标签: asp.net javascript

什么时候变得不可避免?当你有选择时,你想在服务器端何时选择JavaScript?

15 个答案:

答案 0 :(得分:27)

当您需要更改页面上的内容而不重新加载时。

答案 1 :(得分:5)

设计师视角:

  • 当您想为网页提供更多互动时
  • 如果你想加载东西而不重装(例如:ajax)

当你不应该使用:

  • 如果您不想花费1000小时进行无意义的尝试来禁用浏览器的后退箭头:)

答案 2 :(得分:3)

如果没有JavaScript,就无法实现谷歌地图。至少不是我们今天所知道(并且喜欢)它的形式。因此,明确地取决于您的抱负(和要求):有时JavaScript是不可避免的,即使存在采用可能同样有效的另一种方法的技术(Java Applet,RIA技术等)。

如果我有选择的话,我可能会选择JavaScript而不是服务器端实现大量的应用程序,但话说再说,它不是黑白图片。在很长一段时间内,服务器对Web应用程序仍然很重要。

答案 3 :(得分:2)

是的,你这样做。现在拿出你的教科书,转到第一章。 ;)

老实说,回答你的问题,我认为这不是“不可避免的”,不是;你可以随时编写缺少JavaScript的代码。 (实际上,可用性最佳实践要求您至少尝试以“优雅地降低”不支持它的浏览器或不选择的用户的用户体验。)当然,开始时当然,没有JavaScript - 但仍然有网络。它只是,有点糟透了。

没有简单的答案,但如果你绝对必须拥有一个答案,那么我能想到的最直接的答案就是使用JavaScript来改善用户体验。其次,使用它将工作负载从服务器转移到浏览器(Hello,Ajax!) - 验证,状态等。这是两个重要原因,广义上说,IMO。

答案 4 :(得分:2)

在一定程度上,您可以通过服务器端编程完成所有工作。有些事情会非常缓慢而且难以正确地完成,但这是有可能的。如果你想看到一些聪明的东西,只需要CSS,试试lxr.mozilla.org上的搜索功能,禁用脚本。

实际上,使用javascript的最佳位置是否会破坏用户正在做的事情 - 这里的AJAXy事情都是非常好的例子,实时预览也是如此(每个人都应该拥有其中一个!)

如果它提供了显着的好处,那么使用它就完全没问题了。但是,请不要使它 required ,除非只有服务器的等价物是不必要的复杂。

答案 5 :(得分:1)

我从不希望选择JavaScript,但当客户想要一个体面的网络应用时,它变得不可避免。 JavaScript在浏览器中具有低延迟反馈的独特功能 - 服务器端代码没有。

此外,实际上更容易将一些JQuery用于格式化而不是处理ASP.NET的事件模型来操作客户端元素,这是一个(相当有限的)次数。但是,我认为那些相对较少。

答案 6 :(得分:1)

如果您正在寻找响应式用户界面并希望避免使用JavaScript,请考虑一些RIA技术,例如Flex,Silverlight或JavaFX。自从v1.5以来我一直在使用Flex进行开发,并且发现它非常强大且高效。每个版本的Silverlight都会明显改善。

答案 7 :(得分:1)

在客户端和服务器之间共享负载。

答案 8 :(得分:1)

GWT是一个很好的系统,可以将java代码编译成javascript,它有点像浏览器的“机器语言” - 你永远不必考虑它。

我相信大多数Google应用都是使用GWT编写的。它很漂亮。

所有源代码都非常直接使用类似于Swing的库。

答案 9 :(得分:1)

JavaScript不是必需的,但与DOM API相结合,它为逐步改善网站的用户体验提供了非常有用的媒介。显然,这种情况的实现程度取决于您执行这些增强功能的程度,而不仅仅是为了它而使用JavaScript;这是一个设计决定,不应掉以轻心。

答案 10 :(得分:0)

尽量保持自然。使用它来增强小东西,不要在JS上构建整个应用程序。

答案 11 :(得分:0)

衡量技能广度的一个好方法是,“我必须使用......”开始从你的谈话中消失。希望你能够达到语言只是一种语言的程度,并且你会发现对于正确的工具是什么感觉,并且可以像任何其他语言一样舒适地使用它。

如果有任何安慰,越来越多的证据表明,有足够的传统智慧和可用的工具集,开发人员越来越喜欢使用javascript。我个人喜欢它的简洁性和易用性 - 一旦你了解它。

答案 12 :(得分:0)

你不必。

但是如果你想提供自动填充,拖放,更丰富的表单输入字段等UI附加功能......,Javascript是你唯一的答案。

当然,您可以将Javascript生成抽象到服务器端,但您仍然需要使用Javascript,尽管是通过编程代码生成。

答案 13 :(得分:0)

创建加载到浏览器中并使用Open API(如SOAP,JSON等)与Web服务器通信的富Internet应用程序时

答案 14 :(得分:0)

“服务器端的Javascript”JavaScript是客户端,而不是服务器端。 您仍然需要运行服务器端的东西来从服务器获取数据。 Javascript只是让您更好地控制客户端如何从服务器接收数据。

当您希望网站上的某个动态功能默认不受支持时,JavaScript是不可避免的。 动态功能 - 不带 JavaScript:当鼠标悬停在元素上时,您可以使用CSS更改元素的背景。使用JavaScript可以做同样的事情。 - JavaScript中的:使用鼠标单击元素时,元素将消失。不要认为它在CSS中是可能的(也许你可以使用:在一些元素上激活CSS。从不自己测试过。)