复杂的客户端逻辑 - 更好地移动到服务器端?

时间:2009-06-22 16:09:50

标签: javascript frontend

我正在使用第三方搜索API,而且很乐意在浏览器端保留整个应用程序。 XML完全用javascript消化,我使用javascript模板引擎动态渲染复杂的结果对象。很少有页面重新加载,很多花哨的javascript正在进行中。

让我把所有东西放在javascript端都感觉很干净。它将使部署变得更加容易,并且将我的所有代码放在一个地方是很好的。我正在尝试使用javascript编写得非常严格,就像我用Java编写的那样,到目前为止,事情看起来效果还不错。我正在努力使用YUI测试工作TDD风格,并乐观地认为这将使不可避免的跨浏览器错误更易于捕获和修复。代码大小并不是微不足道的,但它并不是太糟糕,我计划在部署之前将其缩小,这应该将其减少到现在的大约2/3。

我有没有考虑的缺点?这里有前端应用逻辑的任何其他支持者吗?

2 个答案:

答案 0 :(得分:4)

  

很少有页面重新加载,并且还有很多花哨的javascript。

过分依赖JavaScript会有一个很大的缺点。请记住,每当您设计一个Web应用程序时,您应该以用户没有启用JavaScript的前提为基础 - 虽然这是少数,但仍然有很多用户没有它无论出于何种原因启用,如果您的应用程序在其基本操作中过度依赖JavaScript,那么禁用JavaScript的人将无法访问它。

每当我编写具有JavaScript或AJAX功能的页面时,我总是确保显示或提交第二种信息方式,以防用户浏览器关闭JavaScript。当然,这对于美学来说通常不是必需的 - 菜单项在单击时沿着菜单栏滑动并且页面被更改将不会影响页面的核心功能,如果JavaScript被关闭并且它们只是像静态链接那样;但是,对于输入数据和显示结果等核心功能,您应该确保提供未启用JavaScript时使用的备份方法。

答案 1 :(得分:0)

只有在实际改善用户体验时才应使用AJAX。当琐碎的功能需要JS不必要时,这是非常烦人的。我希望(不知道你的应用程序的情况是否如此)能够输入搜索,获得结果,并在没有JS的情况下翻阅结果。

像AJAX分页或搜索优化这样的“额外”没有任何问题。但无论哪种方式都应该存在。