为什么我们仍然在网络浏览器中使用javascript'''这几天?它不支持自定义运算符(我用于向量数学),结构(值类型)和大量其他基本的面向对象原则,大大提高了程序员在电源和编程方面的编码能力。速度ω
为什么我们不使用openSource .NET CLR Mono或类似的东西?为什么人们坚持只是将黑客入侵现有的旧语言就超出了我的意思。我的意思是我们有机会在这里使用HTLM5来开始清理。
另外,为什么我们不通过客户端计算机预编译库而不是嵌入式javascript代码?这将极大地提高性能,更不用说代码隐藏正在破坏HTML标记和扩展。在我看来,这完全是错的......
我很想为ChromeOS制作一些网络应用程序,但如果javascript甚至没有运营商,我也不会碰到垃圾。
很抱歉我给的是沮丧的音调,但我在ChromeOS的模型中看到了一些具有巨大潜力的东西,但是如果他们想要与MS竞争,那么他们需要专注于更好的开发工具,让那些能够让人感觉更好的人。这就是我喜欢MS的一件事,他们有杀手级的语言&他们的工具。
注意:我不是网络开发人员(因为你可能会猜到为什么),所以如果我错在任何事情上或需要clerity tnx,请纠正我。
答案 0 :(得分:5)
为什么我们仍在使用javascript “只有”在网络浏览器这几天?它 不支持运营商, 结构(价值类型)&数量巨大 其他基本的面向对象 大大改善的原则 程序员编码能力和能力 速度ω
为什么我们不使用openSource .NET CLR单声道或其他东西 当量?为什么人们坚持只是 把黑客入侵现有的老人 语言超出我的意思..我的意思是我们 有机会与HTLM5一起开始 干净。
为什么我们不通过客户端 计算机预编译库 而不是嵌入式JavaScript代码? 这会大大增加 表现,更不用说了 代码隐藏正在破坏HTML 标记&在我的脑海里完全是 错了......
如果他们想与MS竞争那么 他们需要专注于更好的开发工具 为那些制作东西的人们 蜱。这就是我喜欢的一件事 关于MS,他们有杀手级语言和 他们的工具。
我的建议是,在对此进行判断之前,实际需要花一些时间来了解JavaScript。
答案 1 :(得分:4)
我不确定我明白你在问什么:
为什么我们不使用openSource .NET CLR Mono或类似的东西?为什么人们坚持只是将黑客入侵现有的旧语言就超出了我的意思。我的意思是我们有机会在这里用HTLM5开始清理。“
HTML5如何让我们有机会使用Mono替代Javascript?
另外,为什么我们不通过客户端计算机预编译库而不是嵌入式javascript代码?这将极大地提高性能,更不用说代码隐藏正在破坏HTML标记和扩展。在我看来,这完全是错的......
您的假设是,使用JavaScript的唯一方法是将其嵌入HTML标记中。这很可怕。我更喜欢在外部文件中链接的非侵入式JavaScript。这些文件负责将事件附加到元素等,而不是相反。
旧学校的方式是:
<input type="button" onclick="alert('Hello World!')">Click me</input>
同意这个例子,JavaScript正在妨碍干净标记。但为什么不这样做呢:
<input type="button" id="hello-button">Click me</input>
在已包含的JavaScript文件中:
$('#hello-button').click(function() { alert('Hello World!'); } );
使用JavaScript可以轻松实现关注点分离。
就OO原则而言,我们在我们的应用程序中广泛使用它们。 JavaScript逻辑被精心包含,由命名空间分隔,并具有包含函数,运算符等的完整对象模型。
但如果javascript甚至没有运营商,我也不打算接触垃圾。
http://www.w3schools.com/js/js_operators.asp - 或者你的意思是运营商有什么不同吗?
答案 2 :(得分:2)
因为它只有在完美的世界中才有可能。在现实世界中,我们有许多遗留应用程序,这些应用程序是用JS和成千上万的Web开发人员编写的,它们不知道.Net或Java或任何其他类似技术。顺便说一句,有时JS看起来并不是那么糟糕。
答案 3 :(得分:2)
Douglas Crawford等人通常将JavaScript视为更多高级OO语言,而不是.NET。
您可以选择在Web浏览器中运行.NET代码:它名为Silverlight / Moonlight。
关于仅发送预编译代码的想法,一个主要问题是安全性。
答案 4 :(得分:2)
有一段时间,有很多“仅服务器端”类型的Web开发正在进行,因为在JavaScript处理和项目渲染方面,浏览器之间存在很多差异,从维护角度来看,它更好利用这些服务器端语言。他们完成了所有繁重工作,并确保您在这些浏览器中拥有非常一致的视图。
服务器端的缺点只有应用程序是不断回发到服务器,这导致应用程序的丑陋“闪烁”效应。如果你有一个糟糕的连接或很多服务器处理,当你所做的只是检查一个盒子,说你不想输入一个日历日期时,等待2分钟让页面自动更新就会很烦人,这迫使应用程序隐藏其日历小部件,也许还可以进行其他处理。
此外,.Net应用程序生成的视图状态确实开始消耗用户的体验,因为越来越多的控件被推入单个页面,并通过AJAX或其他事件进行控制以显示和隐藏它们。网页变得相当臃肿,这个过程应该有助于消除其中的一些。
jQuery和CSS已经取得了一些重大进展,已经将事情推回到客户端模型。通过统一的数据显示方式,以及利用客户端机器来完成显示/隐藏控件的大量工作,以这种方式编写应用程序更有意义。一般来说,它们比服务器端对应物更快,并且可以完成基于服务器端的应用程序所做的大部分工作。此外,视野状态膨胀消失了。你也有ASP.NET MVC框架,它试图平衡两个世界,为你提供服务器端的能力,但减少了很多客户端膨胀从视图状态。
简而言之,你会发现现在有更多的应用程序在JavaScript路线上运行,因为你可以获得类似的功能,这要归功于jQuery和CSS,以及更少的开销和重复返回服务器。