也许是一个奇怪而又绿色的问题
有没有什么C#不能做什么javascript可以...并考虑JQuery?
除了一个是客户端,另一个是服务器端的事实?或者我现在问一个非常愚蠢的问题?
编辑: 更具体:我的意思是网络编程,实际上可能是一个更有用的问题:
>我可以做什么客户端,我不能做服务器端,反之亦然?
>如果将"server/clientside"超出范围,是否有更多理由使用这两种语言?
>一些开发人员避免使用javascript.为什么?
Cor*_*rch 24
客户端我能做什么,我不能做服务器端,反之亦然?
客户端:Javascript在没有插件的大多数浏览器中运行.C#需要像Silverlight这样的浏览器插件.即使它在客户端计算机上运行,Javascript也无法在那里读写文件.Silverlight中的C#可能能够读取和写入文件,具体取决于Silverlight版本以及客户端允许的内容.Javascript和C#/ Silverlight都可以与远程服务器通信.
服务器端:既然你控制了这台机器,你就可以做任何你想做的事情 - 读取文件,写文件,直接与数据库对话等等.请记住,没有什么能阻止你运行Javascript服务器端.退房的node.js.
如果您将"server/clientside"超出范围,是否有更多理由使用这两种语言?
我不会将执行环境从您的分析中删除.如果您绝对需要客户端交互并且无法保证C#将在客户端上执行,则C#不实用.同样,如果您的公司运行Windows服务器并且不想安装Javascript运行时/编译器,您将无法在服务器上使用Javascript.
一些开发人员避免使用JavaScript.为什么?
浏览器中的Javascript问题对于调试来说非常糟糕.你正在一台不受你控制的机器上运行 - 用户可能正在运行一个模糊或古老的浏览器,他们可能正在使用与你的Javascript混淆的防病毒软件,他们的浏览器插件可能会破坏你的Javascript.这个很难(硬.
然而,这是在别人的机器上做生意的成本.如果它很容易,那么美丽的客户端体验意味着更少.解决难题不适合所有人,但是当它做得好时肯定会受到赞赏.
Joe*_*orn 12
我认为你真正的问题是,如果c#可以做任何事情,你为什么要使用javascript?这里的答案是表现,无论是感知还是真实.这里的技巧是使用c#来执行通常与javascript相关联的DOM操作,浏览器必须向服务器发回额外的http请求并告诉c#代码该做什么.让我们谈谈那些额外的请求.它们分散在很多用户身上,非常快速地加起来并对您的服务器基础架构造成严重破坏."真正"的性能问题是,现在很多工作,对发生的服务器,而不是用户的浏览器."感知"性能问题是,即使您拥有服务器资源来轻松处理所有其他http请求,您现在也需要花费额外的时间来等待这些http往返所带来的延迟.
这两种语言都严重依赖于为不同域设计的API.
JavaScript原本打算在浏览器中运行,因此它大量使用DOM API以及其他浏览器内操作,如AJAX.C#可能对这样的API没有很好的支持,因为它从未打算直接在浏览器中执行 - 尽管Silverlight可能提供这样的操作,因为它(在某种程度上)是浏览器内的"C#Sandbox".
另一方面,C#是一种通用语言,旨在构建基本上任何应用程序,从服务器端引擎到客户端应用程序再到服务 - 你明白了......
| 归档时间: |
|
| 查看次数: |
46890 次 |
| 最近记录: |