在过去有Javascript库和Web应用程序框架之前,我学习了Web应用程序。当我找到时间(可能不会发生)时,我不介意用这些更现代的方法更新我的经验。但是,如果我确实用这些现代软件包中的一个编写了一个网页,我不希望将对于用户群的许多浏览器来说过于现代的东西混在一起。
这让我想到了一些我在几个网站上注意到的具有相对光滑的Javascript效果的行为。一个存在问题的网站是the Davis Vanguard博客,它使用的是Joomla 1.5。另一个是MathOverflow。最严重的问题是,当我做一些比较简单的事情时,我的笔记本电脑会冻结几秒钟,足够长的时间让UI感觉不舒服而不是光滑。在Davis Vanguard网站中,只需在其中一个讨论页面中从上到下滚动即可。在MathOverflow中,它通常发生在我在答案框中输入答案时。但是,即使只是在热门问题页面上滚动,也可能创建几秒钟。 (这是在jsMath渲染之后。)
我在笔记本电脑和Firefox 3.0.19上运行Ubuntu 8.04。关于这个问题的一个线索是,当它发生时,系统时钟会随着Firefox会话一起冻结。它让我想知道jQuery或Joomla或者其他什么东西正在导致DNS查找。当然,我可以将我自己的系统升级到更现代的系统,也许我应该。但是,如果我为其他人写一个网站,那可能不是一个很好的解决方案。
更普遍的问题是,如果我想使用一个漂亮的Javascript库,但我也想避免这种陷阱 - 无端的UI延迟,渲染错误等等 - 你应该怎么做? jQuery比MooTools好吗?是以正确的方式使用Javascript库还是避免某些前沿功能?真的是Ubuntu 8.04落后于时代吗?是因为Chrome有比Firefox更好的Javascript支持吗?或者我应该责怪康卡斯特提供的DNS?
答案 0 :(得分:2)
立即让一个狡辩:Joomla不是JavaScript 图书馆。这是一个基于PHP的CMS和 并不严格依赖于任何特定的 JavaScript框架。粗略地说 一眼,我没有注意到任何JavaScript 当我向下滚动戴维斯时被执行 Vanguard的博客。
DNS问题似乎极不可能: 脚本通常托管在同一个脚本上 域名作为网站,甚至何时 他们不是,DNS缓存会 消除任何问题后单一 页面加载。
Firefox for Linux是一个端口;它有 与之相比的性能问题 Windows版。动力不足 笔记本电脑只会复合 问题
网上有一些benchmarks来比较流行的JS框架的性能。我认为找出你自己的笔记本电脑是否可以处理库的某些功能的唯一方法就是测试它们。