作为证据,我想说很多 Windows 8 的应用程序只是封装了 JS/CSS/HTML,并带有一些 Microsoft 提供的 API 以允许访问硬件/文件系统。
我不认为他们已经走到了使 Excel 2013 基于 JS 的地步……但是,话虽如此,他们已经走到了允许开发人员使用数据——这些小程序都将构建在“html5”之上(同样使用 MS-Office JS API)。
这不是一条容易走下去的路——人们希望 jQuery 成为这类事情的救星。如果您想拼凑一个解决方案,这正是 jQuery 不是您想要的。例如:
$(".table_cell").click(function () { alert(/*whatever*/); });
人们认为 jQuery 正在分配一个委托人来监听对任何包含class="table_cell"
.
这真的不是它在做什么。它循环遍历每一个,并直接为每一个附加一个事件侦听器。人们怀念的正是这些小东西——像 Twitter 这样的人,他们不费心缓存对元素的引用,因为 jQuery 很容易将这些东西组合在一起。因此,您可以让 JS 始终接触(或作用于)数十或数百个单独的元素。
这对任何人都不好。
jQuery 一点也不差——它非常有帮助,作为一种低级结构,可以帮助避开浏览器的差异。它的一些插件也可以。我不能保证它们都是对所有事情的高性能答案。但是一些插件创建者了解如何维护响应良好且性能良好的程序。
哪些适合您的确切需求?谁知道,除了你。
他们会表现得完美而迅速吗?当然,这取决于很多不同的事情。
来自 C#,您可能会查看AngularJS之类的东西。Angular 本身使用 jQuery 的内部版本来解决 jQuery 解决的一些低级问题。但它允许数据绑定和非常简单的视图模板。
Hammer.js也是一个非常不错的手势跟踪库。
不过,我建议从那里构建您自己的框架,如果您希望它按照您希望的方式完成。除了你之外,没有人知道你的需求是什么,并且试图把东西塞进鞋盒,因为它是可用的,并不总是解决方案,不管不同的公司可能会怎么想......
您可以将大部分节点工作留给 Angular,您可以将手势感应留给 Hammer,您可以从 jQuery-lite 中提取一些其他基础知识(安装在 Angular 中的简洁 jQ,如果您没有jQ 在您的网站上)或 jQ 本身...
但它们只是工具而不是答案。
如果您缓存对元素的引用,而不是一遍又一遍地查询它们,委托事件,在 DOM 外(如果需要,在克隆节点上)进行大的结构更改,并且不要尝试处理JS 作为一种传统的重继承语言,你要注意如何以及何时使用 AJAX(调用的数量/频率与数据的大小——倾向于更少的调用)。